Mercurial > scratch
annotate pydershell/test.py @ 22:9413bebf2ee6
Separated the test functionality out into a separate file.
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Mon, 07 Sep 2009 16:18:34 -0700 |
parents | |
children | dace90a7f5e3 |
rev | line source |
---|---|
22
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
1 #! /usr/bin/env python |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
2 |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
3 # Trivial embedding of pydershell. |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
4 |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
5 import sys |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
6 |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
7 import pydermonkey |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
8 from pydershell import JsSandbox, JsExposedObject |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
9 |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
10 if __name__ == '__main__': |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
11 sandbox = JsSandbox() |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
12 |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
13 class Baz(JsExposedObject): |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
14 def woozle(self, blap): |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
15 return blap + 5 |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
16 woozle.__jsexposed__ = True |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
17 |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
18 def baz(): |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
19 return Baz() |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
20 sandbox.root.baz = baz |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
21 |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
22 def bar(obj): |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
23 print obj.bar() |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
24 sandbox.root.bar = bar |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
25 |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
26 def foo(callback): |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
27 return callback() |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
28 sandbox.root.foo = foo |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
29 |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
30 def ensureBaz(baz): |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
31 if not isinstance(baz, Baz): |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
32 print "Uhoh" |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
33 else: |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
34 print "ok" |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
35 sandbox.root.ensureBaz = ensureBaz |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
36 |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
37 def jsprint(string): |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
38 print string |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
39 sandbox.root['print'] = jsprint |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
40 |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
41 retval = sandbox.run_script('test.js') |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
42 |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
43 sandbox.finish() |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
44 del sandbox |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
45 |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
46 import gc |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
47 gc.collect() |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
48 if pydermonkey.get_debug_info()['runtime_count']: |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
49 print "WARNING: JS runtime was not destroyed." |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
50 |
9413bebf2ee6
Separated the test functionality out into a separate file.
Atul Varma <varmaa@toolness.com>
parents:
diff
changeset
|
51 sys.exit(retval) |