equal
deleted
inserted
replaced
|
1 require("../env"); |
|
2 require("../../d3"); |
|
3 |
|
4 var vows = require("vows"), |
|
5 assert = require("assert"); |
|
6 |
|
7 var suite = vows.describe("d3.entries"); |
|
8 |
|
9 suite.addBatch({ |
|
10 "entries": { |
|
11 topic: function() { |
|
12 return d3.entries; |
|
13 }, |
|
14 "enumerates every entry": function(entries) { |
|
15 assert.deepEqual(entries({a: 1, b: 2}), [ |
|
16 {key: "a", value: 1}, |
|
17 {key: "b", value: 2} |
|
18 ]); |
|
19 }, |
|
20 "includes entries defined on prototypes": function(entries) { |
|
21 function abc() { |
|
22 this.a = 1; |
|
23 this.b = 2; |
|
24 } |
|
25 abc.prototype.c = 3; |
|
26 assert.deepEqual(entries(new abc()), [ |
|
27 {key: "a", value: 1}, |
|
28 {key: "b", value: 2}, |
|
29 {key: "c", value: 3} |
|
30 ]); |
|
31 }, |
|
32 "includes null or undefined values": function(entries) { |
|
33 var v = entries({a: undefined, b: null, c: NaN}); |
|
34 assert.equal(v.length, 3); |
|
35 assert.deepEqual(v[0], {key: "a", value: undefined}); |
|
36 assert.deepEqual(v[1], {key: "b", value: null}); |
|
37 assert.equal(v[2].key, "c"); |
|
38 assert.isNaN(v[2].value); |
|
39 } |
|
40 } |
|
41 }); |
|
42 |
|
43 suite.export(module); |