changeset 3:2ce26a2407be

test.js is now something of a manual unit test.
author Atul Varma <varmaa@toolness.com>
date Sat, 10 May 2008 22:46:42 -0700
parents 15589ed006ed
children a4ad54a69e3b
files .hgignore SConstruct gnusto.html stories/troll.z5 test.js
diffstat 5 files changed, 27 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Sat May 10 09:30:09 2008 -0700
+++ b/.hgignore	Sat May 10 22:46:42 2008 -0700
@@ -1,3 +1,3 @@
 syntax: glob
 .sconsign.dblite
-curses.js
+troll.js
--- a/SConstruct	Sat May 10 09:30:09 2008 -0700
+++ b/SConstruct	Sat May 10 22:46:42 2008 -0700
@@ -1,3 +1,3 @@
-Command("curses.js", "stories/curses.z5",
+Command("troll.js", "stories/troll.z5",
         "python z5_to_js_array.py ${SOURCE} > ${TARGET}")
-Depends("curses.js", "z5_to_js_array.py")
+Depends("troll.js", "z5_to_js_array.py")
--- a/gnusto.html	Sat May 10 09:30:09 2008 -0700
+++ b/gnusto.html	Sat May 10 22:46:42 2008 -0700
@@ -10,7 +10,6 @@
 <body>
 
 </body>
-<script type="text/javascript" src="curses.js"></script>
+<script type="text/javascript" src="troll.js"></script>
 <script type="text/javascript" src="gnusto-engine.js"></script>
-<script type="text/javascript" src="test.js"></script>
 </html>
Binary file stories/troll.z5 has changed
--- a/test.js	Sat May 10 09:30:09 2008 -0700
+++ b/test.js	Sat May 10 22:46:42 2008 -0700
@@ -1,8 +1,26 @@
+load("troll.js", "gnusto-engine.js");
+
+function step() {
+    var retval = 0;
+
+    engine.run();
+    var effect = engine.effect(0);
+    var text = engine.consoleText();
+    if (text)
+        print('['+effect+'] '+text);
+
+    if (effect=='SS' || effect=='TW' || effect=='SW' || effect=='SC') {
+        // harmless; carry on
+    } else if (effect=='RS') {
+        retval = 1;
+    } else {
+        throw Error('*** UNKNOWN EFFECT. ***.\n');
+    }
+    return retval;
+}
+
 var engine = new GnustoEngine();
 
-console.log("Loading story...");
-engine.loadStory(curses_z5);
+engine.loadStory(troll_z5);
 
-console.log("Running story...");
-engine.run();
-console.log("Done.");
+while (step() == 0) {}