Mercurial > web-gnusto
changeset 11:08983db95420
Improved the engine runner test suite.
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Sun, 11 May 2008 14:28:29 -0700 |
parents | 4b6b9ea26552 |
children | a0c7b17ae1c6 |
files | tests/output/test_engine_runner.txt tests/test_engine_runner.js |
diffstat | 2 files changed, 28 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/output/test_engine_runner.txt Sun May 11 13:58:05 2008 -0700 +++ b/tests/output/test_engine_runner.txt Sun May 11 14:28:29 2008 -0700 @@ -1,3 +1,8 @@ -onLineInput() received, responding with: hello +onLineInput() received + responding immediately with: hello engine.answer() received: 1, hello +onLineInput() received + queuing delayed response: hello again +Calling delayed call +engine.answer() received: 1, hello again onQuit() received
--- a/tests/test_engine_runner.js Sun May 11 13:58:05 2008 -0700 +++ b/tests/test_engine_runner.js Sun May 11 14:28:29 2008 -0700 @@ -15,9 +15,10 @@ switch (self._step) { case 1: + case 2: effect = GNUSTO_EFFECT_INPUT; break; - case 2: + case 3: effect = GNUSTO_EFFECT_QUIT; break; default: @@ -34,6 +35,7 @@ } function TestZui() { + this._inputCount = 0; var self = this; this.__proto__ = { @@ -42,13 +44,29 @@ }, onLineInput: function(callback) { - var response = "hello"; - print("onLineInput() received, responding with: "+response); - callback(response); + var responses = ["hello", "hello again"]; + var response = responses[self._inputCount]; + + print("onLineInput() received"); + if (self._inputCount == 0) { + print(" responding immediately with: "+response); + callback(response); + } else { + print(" queuing delayed response: "+response); + gDelayedCallQueue.push(function() { callback(response); }); + } + self._inputCount += 1; } }; }; var gZui = new TestZui(); var gRunner = new EngineRunner(new FakeEngine(), gZui); +var gDelayedCallQueue = []; + gRunner.run(); + +while (gDelayedCallQueue.length) { + print("Calling delayed call"); + gDelayedCallQueue.pop()(); +}