toolkit/javascript/d3/test/core/functor-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.functor");
       
     8 
       
     9 suite.addBatch({
       
    10   "functor": {
       
    11     topic: function() {
       
    12       return d3.functor;
       
    13     },
       
    14     "when passed a function, returns the function": function(functor) {
       
    15       function foo() {}
       
    16       assert.strictEqual(functor(foo), foo);
       
    17     },
       
    18     "when passed a non-function, returns a wrapper function": function(functor) {
       
    19       var a = {};
       
    20       assert.isNull(functor(null)());
       
    21       assert.isUndefined(functor(undefined)());
       
    22       assert.strictEqual(functor(a)(), a);
       
    23       assert.strictEqual(functor(1)(), 1);
       
    24       assert.deepEqual(functor([1])(), [1]);
       
    25     }
       
    26   }
       
    27 });
       
    28 
       
    29 suite.export(module);