toolkit/javascript/d3/test/core/keys-test.js
changeset 47 c0b4a8b5a012
equal deleted inserted replaced
46:efd9c589177a 47:c0b4a8b5a012
       
     1 require("../env");
       
     2 require("../../d3");
       
     3 
       
     4 var vows = require("vows"),
       
     5     assert = require("assert");
       
     6 
       
     7 var suite = vows.describe("d3.keys");
       
     8 
       
     9 suite.addBatch({
       
    10   "keys": {
       
    11     topic: function() {
       
    12       return d3.keys;
       
    13     },
       
    14     "enumerates every defined key": function(keys) {
       
    15       assert.deepEqual(keys({a: 1, b: 1}), ["a", "b"]);
       
    16     },
       
    17     "includes keys defined on prototypes": function(keys) {
       
    18       function abc() {
       
    19         this.a = 1;
       
    20         this.b = 2;
       
    21       }
       
    22       abc.prototype.c = 3;
       
    23       assert.deepEqual(keys(new abc()), ["a", "b", "c"]);
       
    24     },
       
    25     "includes keys with null or undefined values": function(keys) {
       
    26       assert.deepEqual(keys({a: undefined, b: null, c: NaN}), ["a", "b", "c"]);
       
    27     }
       
    28   }
       
    29 });
       
    30 
       
    31 suite.export(module);