This commit is contained in:
Mike Bostock 2011-08-14 09:03:00 -07:00
Родитель 15d7e87fdb
Коммит 80ca9b8f8e
1 изменённых файлов: 43 добавлений и 0 удалений

43
test/core/entries-test.js Normal file
Просмотреть файл

@ -0,0 +1,43 @@
require("../env");
require("../../d3");
var vows = require("vows"),
assert = require("assert");
var suite = vows.describe("d3.entries");
suite.addBatch({
"entries": {
topic: function() {
return 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);