40 строки
1.1 KiB
JavaScript
40 строки
1.1 KiB
JavaScript
var vows = require("vows"),
|
|
load = require("../load"),
|
|
assert = require("../assert");
|
|
|
|
var suite = vows.describe("d3.entries");
|
|
|
|
suite.addBatch({
|
|
"entries": {
|
|
topic: load("arrays/entries").expression("d3.entries"),
|
|
"enumerates every entry": function(entries) {
|
|
assert.deepEqual(entries({a: 1, b: 2}), [
|
|
{key: "a", value: 1},
|
|
{key: "b", value: 2}
|
|
]);
|
|
},
|
|
"includes entries defined on prototypes": function(entries) {
|
|
function abc() {
|
|
this.a = 1;
|
|
this.b = 2;
|
|
}
|
|
abc.prototype.c = 3;
|
|
assert.deepEqual(entries(new abc()), [
|
|
{key: "a", value: 1},
|
|
{key: "b", value: 2},
|
|
{key: "c", value: 3}
|
|
]);
|
|
},
|
|
"includes null or undefined values": function(entries) {
|
|
var v = entries({a: undefined, b: null, c: NaN});
|
|
assert.equal(v.length, 3);
|
|
assert.deepEqual(v[0], {key: "a", value: undefined});
|
|
assert.deepEqual(v[1], {key: "b", value: null});
|
|
assert.equal(v[2].key, "c");
|
|
assert.isNaN(v[2].value);
|
|
}
|
|
}
|
|
});
|
|
|
|
suite.export(module);
|