d3-jsnext
Version:
d3, but futuristic
30 lines (25 loc) • 771 B
JavaScript
require( 'babel/register' );
var vows = require("vows"),
load = require("../load"),
assert = require("../assert");
var suite = vows.describe("d3.keys");
suite.addBatch({
"keys": {
topic: load("arrays/keys").expression("d3.keys"),
"enumerates every defined key": function(keys) {
assert.deepEqual(keys({a: 1, b: 1}), ["a", "b"]);
},
"includes keys defined on prototypes": function(keys) {
function abc() {
this.a = 1;
this.b = 2;
}
abc.prototype.c = 3;
assert.deepEqual(keys(new abc()), ["a", "b", "c"]);
},
"includes keys with null or undefined values": function(keys) {
assert.deepEqual(keys({a: undefined, b: null, c: NaN}), ["a", "b", "c"]);
}
}
});
suite.export(module);