Mercurial > pymonkey
annotate test_pymonkey.py @ 9:032cfc448079
Added pymonkey.Runtime and pymonkey.Context as new types.
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Sun, 28 Jun 2009 17:07:15 -0700 |
parents | 6647870380cc |
children | ca17531e8c81 |
rev | line source |
---|---|
0 | 1 import unittest |
2 import pymonkey | |
3 | |
4 class PymonkeyTests(unittest.TestCase): | |
9
032cfc448079
Added pymonkey.Runtime and pymonkey.Context as new types.
Atul Varma <varmaa@toolness.com>
parents:
8
diff
changeset
|
5 def testJSRuntimeWorks(self): |
032cfc448079
Added pymonkey.Runtime and pymonkey.Context as new types.
Atul Varma <varmaa@toolness.com>
parents:
8
diff
changeset
|
6 rt = pymonkey.Runtime() |
032cfc448079
Added pymonkey.Runtime and pymonkey.Context as new types.
Atul Varma <varmaa@toolness.com>
parents:
8
diff
changeset
|
7 cx = rt.new_context() |
032cfc448079
Added pymonkey.Runtime and pymonkey.Context as new types.
Atul Varma <varmaa@toolness.com>
parents:
8
diff
changeset
|
8 self.assertRaises(TypeError, pymonkey.Context) |
032cfc448079
Added pymonkey.Runtime and pymonkey.Context as new types.
Atul Varma <varmaa@toolness.com>
parents:
8
diff
changeset
|
9 self.assertTrue(isinstance(cx, pymonkey.Context)) |
032cfc448079
Added pymonkey.Runtime and pymonkey.Context as new types.
Atul Varma <varmaa@toolness.com>
parents:
8
diff
changeset
|
10 self.assertEqual(cx.get_runtime(), rt) |
032cfc448079
Added pymonkey.Runtime and pymonkey.Context as new types.
Atul Varma <varmaa@toolness.com>
parents:
8
diff
changeset
|
11 |
8
6647870380cc
Added support for undefined.
Atul Varma <varmaa@toolness.com>
parents:
7
diff
changeset
|
12 def testUndefinedCannotBeInstantiated(self): |
6647870380cc
Added support for undefined.
Atul Varma <varmaa@toolness.com>
parents:
7
diff
changeset
|
13 self.assertRaises(TypeError, pymonkey.undefined) |
6647870380cc
Added support for undefined.
Atul Varma <varmaa@toolness.com>
parents:
7
diff
changeset
|
14 |
6647870380cc
Added support for undefined.
Atul Varma <varmaa@toolness.com>
parents:
7
diff
changeset
|
15 def testEvaluateReturnsUndefined(self): |
6647870380cc
Added support for undefined.
Atul Varma <varmaa@toolness.com>
parents:
7
diff
changeset
|
16 retval = pymonkey.evaluate("", '<string>', 1) |
6647870380cc
Added support for undefined.
Atul Varma <varmaa@toolness.com>
parents:
7
diff
changeset
|
17 self.assertTrue(retval is pymonkey.undefined) |
6647870380cc
Added support for undefined.
Atul Varma <varmaa@toolness.com>
parents:
7
diff
changeset
|
18 |
7
0d0ce6415b66
Added support for unicode strings.
Atul Varma <varmaa@toolness.com>
parents:
5
diff
changeset
|
19 def testEvaluateReturnsUnicode(self): |
0d0ce6415b66
Added support for unicode strings.
Atul Varma <varmaa@toolness.com>
parents:
5
diff
changeset
|
20 retval = pymonkey.evaluate("'o hai\u2026'", '<string>', 1) |
0d0ce6415b66
Added support for unicode strings.
Atul Varma <varmaa@toolness.com>
parents:
5
diff
changeset
|
21 self.assertTrue(type(retval) == unicode) |
0d0ce6415b66
Added support for unicode strings.
Atul Varma <varmaa@toolness.com>
parents:
5
diff
changeset
|
22 self.assertEqual(retval, u'o hai\u2026') |
0d0ce6415b66
Added support for unicode strings.
Atul Varma <varmaa@toolness.com>
parents:
5
diff
changeset
|
23 |
5 | 24 def testEvaluateReturnsTrue(self): |
25 self.assertTrue(pymonkey.evaluate('true', '<string>', 1) is True) | |
26 | |
27 def testEvaluateReturnsFalse(self): | |
28 self.assertTrue(pymonkey.evaluate('false', '<string>', 1) is False) | |
29 | |
4
2711b636f8e6
Added support for NULL return values.
Atul Varma <varmaa@toolness.com>
parents:
3
diff
changeset
|
30 def testEvaluateReturnsNone(self): |
2711b636f8e6
Added support for NULL return values.
Atul Varma <varmaa@toolness.com>
parents:
3
diff
changeset
|
31 self.assertTrue(pymonkey.evaluate('null', '<string>', 1) is None) |
2711b636f8e6
Added support for NULL return values.
Atul Varma <varmaa@toolness.com>
parents:
3
diff
changeset
|
32 |
3
d6a0819ca6ca
Added return value support for doubles.
Atul Varma <varmaa@toolness.com>
parents:
2
diff
changeset
|
33 def testEvaluateReturnsIntegers(self): |
2
2f6bdc9f7245
pymonkey.evaluate() now returns a python-ized version of the JS return value, though it only supports integers at the moment.
Atul Varma <varmaa@toolness.com>
parents:
0
diff
changeset
|
34 self.assertEqual(pymonkey.evaluate('1+3', '<string>', 1), |
2f6bdc9f7245
pymonkey.evaluate() now returns a python-ized version of the JS return value, though it only supports integers at the moment.
Atul Varma <varmaa@toolness.com>
parents:
0
diff
changeset
|
35 4) |
0 | 36 |
3
d6a0819ca6ca
Added return value support for doubles.
Atul Varma <varmaa@toolness.com>
parents:
2
diff
changeset
|
37 def testEvaluateReturnsFloats(self): |
d6a0819ca6ca
Added return value support for doubles.
Atul Varma <varmaa@toolness.com>
parents:
2
diff
changeset
|
38 self.assertEqual(pymonkey.evaluate('1.1+3', '<string>', 1), |
d6a0819ca6ca
Added return value support for doubles.
Atul Varma <varmaa@toolness.com>
parents:
2
diff
changeset
|
39 4.1) |
d6a0819ca6ca
Added return value support for doubles.
Atul Varma <varmaa@toolness.com>
parents:
2
diff
changeset
|
40 |
0 | 41 if __name__ == '__main__': |
42 unittest.main() |