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); } };