summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilson Page <wilsonpage@me.com>2013-08-26 23:09:54 +0100
committerWilson Page <wilsonpage@me.com>2013-08-26 23:09:54 +0100
commitec833e9221b5baca819d1657d40e2cb192599b6d (patch)
treed5df7d3e05a9a4f048b2a7f10bce76b8eef70030
parent74740e46ec7fda5f5bfc44d4e2af6d5c9cfea9be (diff)
downloadfastdom-ec833e9221b5baca819d1657d40e2cb192599b6d.zip
fastdom-ec833e9221b5baca819d1657d40e2cb192599b6d.tar.gz
fastdom-ec833e9221b5baca819d1657d40e2cb192599b6d.tar.bz2
Write tests for clear methods
-rw-r--r--test/buster.js6
-rw-r--r--test/setup.js4
-rw-r--r--test/test-clearing.js60
-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