| var assert = require("../assert"); | |
| module.exports = { | |
| topic: function(d3) { | |
| return d3; // bug in vows where topic is not propagated automatically | |
| }, | |
| "on a new transition": { | |
| topic: function(d3) { | |
| return d3.select("body").append("div").transition(); | |
| }, | |
| "is approximately equal to now": function(transition) { | |
| var time = transition[0][0].__transition__[transition.id].time; | |
| assert.inDelta(time, Date.now(), 20); | |
| } | |
| }, | |
| "increases monotonically across transitions": function(d3) { | |
| var now = Date.now, then = Date.now(); | |
| try { | |
| Date.now = function() { return ++then; }; | |
| var t0 = d3.select("body").append("div").transition(), | |
| t1 = d3.select("body").append("div").transition(); | |
| assert.isTrue(t1[0][0].__transition__[t1.id].time > t0[0][0].__transition__[t0.id].time); | |
| } finally { | |
| Date.now = now; | |
| } | |
| }, | |
| "is inherited by subtransitions": function(d3) { | |
| var now = Date.now, then = Date.now(); | |
| try { | |
| Date.now = function() { return ++then; }; | |
| var t0 = d3.select("body").append("div").transition(), | |
| t1 = t0.transition(); | |
| assert.equal(t1[0][0].__transition__[t1.id].time, t0[0][0].__transition__[t0.id].time); | |
| } finally { | |
| Date.now = now; | |
| } | |
| } | |
| }; |