Finished runner library

This commit is contained in:
2023-01-20 23:03:00 +00:00
parent c47ee68b3f
commit 69f5151310
7 changed files with 334 additions and 23 deletions

View File

@@ -7,10 +7,66 @@ import runner;
s.freeScript();
}
//TODO: test running an external script
//TODO: test resetting an external script
//TODO: test retrieving a script variable
//TODO: test calling a script function
//test running an external script
{
var s = loadScript("scripts:/runner_sample_code.toy");
s.runScript();
s.freeScript();
}
//test resetting an external script
{
var s = loadScript("scripts:/runner_sample_code.toy");
s.runScript();
s.resetScript();
assert !s.checkScriptDirty(), "checkScriptDirty failed";
s.runScript();
assert s.checkScriptDirty(), "_checkScriptDirty() failed";
s.resetScript();
s.runScript();
s.freeScript();
}
//test running a nested external script
{
var s = loadScript("scripts:/lib/runner/sample_1.toy");
s.runScript();
s.freeScript();
}
//test retrieving a script variable
{
var s = loadScript("scripts:/runner_sample_code.toy");
s.runScript();
var fib = s.getScriptVar("fib");
assert fib(12) == 144, "_getScriptVar() failed";
s.freeScript();
}
//test calling a script function
{
var s = loadScript("scripts:/runner_sample_code.toy");
s.runScript();
assert s.callScriptFn("fib", 12) == 144, "_callScriptFn() failed";
s.freeScript();
}
print "All good";

View File

@@ -0,0 +1,9 @@
import runner;
//delegate to the other sample script
var s = loadScript("scripts:/lib/runner/sample_2.toy");
s.runScript();
s.freeScript();

View File

@@ -0,0 +1 @@
assert true, "Nested sample scripts worked";

View File

@@ -0,0 +1,8 @@
import runner;
var s = loadScript("scripts:/lib/../runner_sample_code.toy");
s.runScript();
s.freeScript();

View File

@@ -95,6 +95,7 @@ int main() {
{
//run each file in tests/scripts/
char* filenames[] = {
"access-parent-directory.toy",
"declare-types-array.toy",
"declare-types-dictionary-key.toy",
"declare-types-dictionary-value.toy",