Mercurial > js4py
annotate core-javascript/core-javascript-work/testtools.js @ 154:ee0bf994ab95 core-javascript.closure-exercises
Add remove_answers.py script (and clean up closure-exercises.py).
| author | jf3243 |
|---|---|
| date | Wed, 02 Nov 2011 17:27:39 +0000 |
| parents | 82f672a37506 |
| children | b774913eb242 |
| rev | line source |
|---|---|
|
138
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
1 var telltail = 'global'; |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
2 var _assertion_count = 0; |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
3 |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
4 // Define a global function 'log'. |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
5 var log; |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
6 if (this.hasOwnProperty('jsArguments')){ |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
7 |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
8 log = function(s){ |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
9 print(s + '\n'); |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
10 }; |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
11 } else { |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
12 log = print; |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
13 } |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
14 |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
15 // |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
16 var TEST = function(title, code){ |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
17 |
| 152 | 18 var x; |
| 19 | |
|
138
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
20 log( 'Testing: ' + title ); |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
21 _assertion_count = 0; |
| 152 | 22 |
| 23 try { | |
| 24 code(); | |
| 25 } catch (x) { | |
| 26 log('! Exception at ' + x.fileName +':' + x.lineNumber); | |
| 27 log('! [' + x.name + '] ' + x.message ); | |
| 28 } | |
| 29 | |
|
138
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
30 }; |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
31 |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
32 var assert = function(arg){ |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
33 _assertion_count += 1; |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
34 if (!arg){ |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
35 var msg = '! assert ' + _assertion_count + ' has failed'; |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
36 log(msg); |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
37 } |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
38 }; |
|
20d76c716c9d
core-javascript-work$ for NAME in * ; do perl -i -p -e 's/\n/ # use DOS line endings
Jonathan Fine <jfine@pytex.org>
parents:
137
diff
changeset
|
39 |
