| var assert = require("../assert"); | |
| module.exports = { | |
| topic: function(d3) { | |
| return d3.select("body").append("div").transition(); | |
| }, | |
| "calls the function once": function(transition) { | |
| var count = 0; | |
| transition.call(function() { ++count; }); | |
| assert.equal(count, 1); | |
| }, | |
| "passes any optional arguments": function(transition) { | |
| var abc; | |
| transition.call(function(selection, a, b, c) { abc = [a, b, c]; }, "a", "b", "c"); | |
| assert.deepEqual(abc, ["a", "b", "c"]); | |
| }, | |
| "passes the transition as the first argument": function(transition) { | |
| var t; | |
| transition.call(function(x) { t = x; }); | |
| assert.isTrue(t === transition); | |
| }, | |
| "uses the transition as the context": function(transition) { | |
| var t; | |
| transition.call(function() { t = this; }); | |
| assert.isTrue(t === transition); | |
| }, | |
| "returns the current transition": function(transition) { | |
| assert.isTrue(transition.call(function() {}) === transition); | |
| } | |
| }; |