toolkit/javascript/d3/test/core/transition-test-call.js
changeset 47 c0b4a8b5a012
equal deleted inserted replaced
46:efd9c589177a 47:c0b4a8b5a012
       
     1 require("../env");
       
     2 require("../../d3");
       
     3 
       
     4 var assert = require("assert");
       
     5 
       
     6 module.exports = {
       
     7   topic: function() {
       
     8     return d3.select("body").append("div").transition();
       
     9   },
       
    10   "calls the function once": function(transition) {
       
    11     var count = 0;
       
    12     transition.call(function() { ++count; });
       
    13     assert.equal(count, 1);
       
    14   },
       
    15   "passes any optional arguments": function(transition) {
       
    16     var abc;
       
    17     transition.call(function(selection, a, b, c) { abc = [a, b, c]; }, "a", "b", "c");
       
    18     assert.deepEqual(abc, ["a", "b", "c"]);
       
    19   },
       
    20   "passes the transition as the first argument": function(transition) {
       
    21     var t;
       
    22     transition.call(function(x) { t = x; });
       
    23     assert.isTrue(t === transition);
       
    24   },
       
    25   "uses the transition as the context": function(transition) {
       
    26     var t;
       
    27     transition.call(function() { t = this; });
       
    28     assert.isTrue(t === transition);
       
    29   },
       
    30   "returns the current transition": function(transition) {
       
    31     assert.isTrue(transition.call(function() {}) === transition);
       
    32   }
       
    33 };