summaryrefslogtreecommitdiffstats
path: root/test/test-clearing.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/test-clearing.js')
-rw-r--r--test/test-clearing.js60
1 files changed, 60 insertions, 0 deletions
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