X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=test%2Fspec-dev%2Fasync.spec.js;fp=test%2Fspec-dev%2Fasync.spec.js;h=6de372df0fc924fcc0830f2798dee06b4c83e278;hb=78f2b58ca1297707fc5091e1acc62c42ac83e141;hp=0000000000000000000000000000000000000000;hpb=a9772d3eb3dda0386b98a03d83656058a6adcec4;p=mkws-moved-to-github.git diff --git a/test/spec-dev/async.spec.js b/test/spec-dev/async.spec.js new file mode 100644 index 0000000..6de372d --- /dev/null +++ b/test/spec-dev/async.spec.js @@ -0,0 +1,85 @@ +/* Copyright (c) 2013 Index Data ApS. http://indexdata.com + * + * async check + * + */ +describe("Asynchronous check", function () { + it("contains spec with an expectation", function () { + expect(true).toBe(true); + }); + + // Asynchronous part + it("simple check", function () { + var max_time = 1; + var timer = 0; + + function found(time, none) { + setTimeout(function () { + timer = time; + }, time * 1000); + expect(time >= 0).toBeTruthy(); + } + + runs(function () { + // check hit counter after N seconds + found(0, true); + found(0.2); + found(0.4); + found(0.5); + found(0.7); + found(max_time); + }); + + waitsFor(function () { + // console.log("waits for ... " + timer); + return timer == max_time ? true : false; + }, "The Value should be N seconds", max_time * 1000); + + runs(function () { + expect(timer).toEqual(max_time); + }); + }); + + + it("double async check", function () { + var max_time = 0.5; + var timer = 0; + + function found(time, none) { + setTimeout(function () { + timer = time; + }, time * 1000); + expect(time >= 0).toBeTruthy(); + } + + runs(function () { + found(0); + found(0.2); + found(max_time - 0.1); + }); + + waitsFor(function () { + return timer == max_time - 0.1 ? true : false; + }, "The Value should be N seconds", max_time * 1000); + + runs(function () { + expect(timer <= max_time).toBeTruthy(); + }); + + timer = 0; + runs(function () { + found(0.1); + found(max_time); + }); + + waitsFor(function () { + // console.log("waits for ... " + timer); + return timer == max_time ? true : false; + }, "The Value should be N seconds", max_time * 1000); + + runs(function () { + expect(timer <= max_time).toBeTruthy(); + }); + }); + +});