This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.6 KiB
77 lines
1.6 KiB
var map = require('../'); |
|
var test = require('tape'); |
|
|
|
test('numbers -> letters', function (t) { |
|
t.plan(2); |
|
var a = map([97,98,99], function (c) { |
|
return String.fromCharCode(c); |
|
}); |
|
t.equal(a.join(''), 'abc'); |
|
|
|
var b = map(cripple([97,98,99]), function (c) { |
|
return String.fromCharCode(c); |
|
}); |
|
t.equal(b.join(''), 'abc'); |
|
}); |
|
|
|
test('elements and indexes', function (t) { |
|
t.plan(8); |
|
var x = { q: 5 }, y = 3, z = null; |
|
|
|
t.deepEqual( |
|
map([x,y,z], function (c, i) { return i }), |
|
[ 0, 1, 2 ], |
|
'index check' |
|
); |
|
t.deepEqual( |
|
map([x,y,z], function (c, i) { return i }), |
|
[ 0, 1, 2 ], |
|
'crippled index check' |
|
); |
|
|
|
var xs0 = [ x, y, z ]; |
|
map(xs0, function (c, i, xs) { |
|
t.strictEqual(xs, xs0, 'argument[2]'); |
|
}); |
|
var xs1 = [ x, y, z ]; |
|
map(xs1, function (c, i, xs) { |
|
t.strictEqual(xs, xs1, 'crippled argument[2]'); |
|
}); |
|
}); |
|
|
|
test('ignore holes', function (t) { |
|
t.plan(2); |
|
t.deepEqual( |
|
map(new Array(5), function (x) { return x }), |
|
[] |
|
); |
|
t.deepEqual( |
|
map(cripple(new Array(5)), function (x) { return x }), |
|
[] |
|
); |
|
}); |
|
|
|
test('sparse map', function (t) { |
|
t.plan(2); |
|
var xs = new Array(5); |
|
xs[2] = 'a'; |
|
xs[4] = 'b'; |
|
t.equal( |
|
map(xs, function (x, i) { return x + i }).join(''), |
|
'a2b4' |
|
); |
|
|
|
var ys = new Array(5); |
|
ys[2] = 'a'; |
|
ys[4] = 'b'; |
|
t.equal( |
|
map(cripple(xs), function (x, i) { return x + i }).join(''), |
|
'a2b4' |
|
); |
|
t.end(); |
|
}); |
|
|
|
function cripple (xs) { |
|
xs.map = undefined; |
|
return xs; |
|
}
|
|
|