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);