toolkit/javascript/d3/test/core/values-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.values");
       
     8 
       
     9 suite.addBatch({
       
    10   "values": {
       
    11     topic: function() {
       
    12       return d3.values;
       
    13     },
       
    14     "enumerates every value": function(values) {
       
    15       assert.deepEqual(values({a: 1, b: 2}), [1, 2]);
       
    16     },
       
    17     "includes values defined on prototypes": function(values) {
       
    18       function abc() {
       
    19         this.a = 1;
       
    20         this.b = 2;
       
    21       }
       
    22       abc.prototype.c = 3;
       
    23       assert.deepEqual(values(new abc()), [1, 2, 3]);
       
    24     },
       
    25     "includes null or undefined values": function(values) {
       
    26       var v = values({a: undefined, b: null, c: NaN});
       
    27       assert.isUndefined(v[0]);
       
    28       assert.isNull(v[1]);
       
    29       assert.isNaN(v[2]);
       
    30       assert.equal(v.length, 3);
       
    31     }
       
    32   }
       
    33 });
       
    34 
       
    35 suite.export(module);