DSLTestCase catch cached script not proceeding error
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1 +1 @@
|
||||
DSLScript*.json
|
||||
AsyncDSLScript*.json
|
3
src/test/cases/AsyncDSLScript.dsl
Normal file
3
src/test/cases/AsyncDSLScript.dsl
Normal file
@@ -0,0 +1,3 @@
|
||||
{goop (cc)}
|
||||
{gloop (cc)}
|
||||
{(set wholeScriptDone true) (cc)}
|
3
src/test/cases/AsyncDSLScriptThatWillCache.dsl
Normal file
3
src/test/cases/AsyncDSLScriptThatWillCache.dsl
Normal file
@@ -0,0 +1,3 @@
|
||||
{goop (cc)}
|
||||
{gloop (cc)}
|
||||
{(set wholeScriptDone true) (cc)}
|
@@ -1,4 +1,5 @@
|
||||
// TODO make a better position reification scheme here
|
||||
(defReaderMacro "goop" [stream] `(Assert.isTrue true))
|
||||
(defReaderMacro "gloop" [stream] `(Assert.isFalse false))
|
||||
(prop &mut wholeScriptDone false)
|
||||
(prop Assert utest.Assert)
|
@@ -1,2 +1,3 @@
|
||||
goop
|
||||
gloop
|
||||
gloop
|
||||
(set wholeScriptDone true)
|
@@ -1,2 +0,0 @@
|
||||
goop
|
||||
gloop
|
@@ -8,7 +8,9 @@ import kiss.Prelude;
|
||||
|
||||
class DSLTestCase extends Test {
|
||||
function testScript() {
|
||||
new DSLScript().run();
|
||||
var script = new DSLScript();
|
||||
script.run();
|
||||
Assert.isTrue(script.wholeScriptDone);
|
||||
}
|
||||
|
||||
function testFork() {
|
||||
@@ -19,24 +21,29 @@ class DSLTestCase extends Test {
|
||||
var script = new AsyncDSLScript();
|
||||
script.run();
|
||||
Assert.isFalse(script.ranHscriptInstruction);
|
||||
Assert.isTrue(script.wholeScriptDone);
|
||||
}
|
||||
|
||||
function testAsyncFromCache() {
|
||||
var script = new AsyncDSLScriptThatWillCache();
|
||||
script.run();
|
||||
var script2 = new AsyncDSLScriptThatWillCache2();
|
||||
script2.run();
|
||||
Assert.isTrue(script.ranHscriptInstruction || script2.ranHscriptInstruction);
|
||||
Assert.isFalse(script.ranHscriptInstruction && script2.ranHscriptInstruction);
|
||||
Assert.isTrue(script.wholeScriptDone);
|
||||
Assert.isTrue(script2.wholeScriptDone);
|
||||
}
|
||||
}
|
||||
|
||||
@:build(kiss.EmbeddedScript.build("DSL.kiss", "DSLScript.dsl"))
|
||||
class DSLScript extends EmbeddedScript {}
|
||||
|
||||
@:build(kiss.AsyncEmbeddedScript.build("", "DSL.kiss", "DSLScript.dsl"))
|
||||
@:build(kiss.AsyncEmbeddedScript.build("", "DSL.kiss", "AsyncDSLScript.dsl"))
|
||||
class AsyncDSLScript extends AsyncEmbeddedScript {}
|
||||
|
||||
@:build(kiss.AsyncEmbeddedScript.build("", "DSL.kiss", "DSLScriptThatWillCache.dsl"))
|
||||
@:build(kiss.AsyncEmbeddedScript.build("", "DSL.kiss", "AsyncDSLScriptThatWillCache.dsl"))
|
||||
class AsyncDSLScriptThatWillCache extends AsyncEmbeddedScript {}
|
||||
|
||||
@:build(kiss.AsyncEmbeddedScript.build("", "DSL.kiss", "DSLScriptThatWillCache.dsl"))
|
||||
@:build(kiss.AsyncEmbeddedScript.build("", "DSL.kiss", "AsyncDSLScriptThatWillCache.dsl"))
|
||||
class AsyncDSLScriptThatWillCache2 extends AsyncEmbeddedScript {}
|
Reference in New Issue
Block a user