diff options
author | Wilson Page <wilsonpage@me.com> | 2013-08-26 23:09:54 +0100 |
---|---|---|
committer | Wilson Page <wilsonpage@me.com> | 2013-08-26 23:09:54 +0100 |
commit | ec833e9221b5baca819d1657d40e2cb192599b6d (patch) | |
tree | d5df7d3e05a9a4f048b2a7f10bce76b8eef70030 | |
parent | 74740e46ec7fda5f5bfc44d4e2af6d5c9cfea9be (diff) | |
download | fastdom-ec833e9221b5baca819d1657d40e2cb192599b6d.zip fastdom-ec833e9221b5baca819d1657d40e2cb192599b6d.tar.gz fastdom-ec833e9221b5baca819d1657d40e2cb192599b6d.tar.bz2 |
Write tests for clear methods
-rw-r--r-- | test/buster.js | 6 | ||||
-rw-r--r-- | test/setup.js | 4 | ||||
-rw-r--r-- | test/test-clearing.js | 60 | ||||
-rw-r--r-- | test/test-setting.js (renamed from test/tests.js) | 0 |
4 files changed, 66 insertions, 4 deletions
diff --git a/test/buster.js b/test/buster.js index 33839c3..e8278f3 100644 --- a/test/buster.js +++ b/test/buster.js @@ -4,10 +4,10 @@ config["dom-batch"] = { rootPath: '../', environment: "browser", sources: [ - 'test/setup.js', - 'lib/dom-batch.js' + 'lib/dom-batch.js', + 'test/setup.js' ], tests: [ - 'test/tests.js' + 'test/test-*.js' ] }; diff --git a/test/setup.js b/test/setup.js index c556d1b..a28247b 100644 --- a/test/setup.js +++ b/test/setup.js @@ -3,4 +3,6 @@ var raf = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame - || function(cb) { window.setTimeout(cb, 1000 / 60); };
\ No newline at end of file + || function(cb) { window.setTimeout(cb, 1000 / 60); }; + +var DomBatch = dom.constructor;
\ No newline at end of file diff --git a/test/test-clearing.js b/test/test-clearing.js new file mode 100644 index 0000000..d5599d5 --- /dev/null +++ b/test/test-clearing.js @@ -0,0 +1,60 @@ + +buster.testCase('DomBatch - Clearing', { + + "Should not run 'read' job if cleared (sync)": function(done) { + var dom = new DomBatch(); + var read = this.spy(); + + dom.read(read); + dom.clearRead(read); + + raf(function() { + refute(read.called); + done(); + }); + }, + + "Should fail silently if job not found in queue": function(done) { + var dom = new DomBatch(); + var read = this.spy(); + var read2 = this.spy(); + + dom.read(read); + dom.clearRead(read2); + + raf(function() { + refute(read2.called); + done(); + }); + }, + + "Should not run 'write' job if cleared (async)": function(done) { + var dom = new DomBatch(); + var read = this.spy(); + var write = this.spy(); + + dom.write(write); + dom.read(function() { + dom.clearWrite(write); + + raf(function() { + refute(read.called); + done(); + }); + }); + }, + + "Should not run 'write' job if cleared": function(done) { + var dom = new DomBatch(); + var write = this.spy(); + + dom.write(write); + dom.clearWrite(write); + + raf(function() { + refute(write.called); + done(); + }); + } + +});
\ No newline at end of file diff --git a/test/tests.js b/test/test-setting.js index 09f4b25..09f4b25 100644 --- a/test/tests.js +++ b/test/test-setting.js |