annotate test_pymonkey.py @ 8:6647870380cc

Added support for undefined.
author Atul Varma <varmaa@toolness.com>
date Sun, 28 Jun 2009 13:32:46 -0700
parents 0d0ce6415b66
children 032cfc448079
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
21aa6e3abb49 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
1 import unittest
21aa6e3abb49 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
2 import pymonkey
21aa6e3abb49 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
3
21aa6e3abb49 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
4 class PymonkeyTests(unittest.TestCase):
8
6647870380cc Added support for undefined.
Atul Varma <varmaa@toolness.com>
parents: 7
diff changeset
5 def testUndefinedCannotBeInstantiated(self):
6647870380cc Added support for undefined.
Atul Varma <varmaa@toolness.com>
parents: 7
diff changeset
6 self.assertRaises(TypeError, pymonkey.undefined)
6647870380cc Added support for undefined.
Atul Varma <varmaa@toolness.com>
parents: 7
diff changeset
7
6647870380cc Added support for undefined.
Atul Varma <varmaa@toolness.com>
parents: 7
diff changeset
8 def testEvaluateReturnsUndefined(self):
6647870380cc Added support for undefined.
Atul Varma <varmaa@toolness.com>
parents: 7
diff changeset
9 retval = pymonkey.evaluate("", '<string>', 1)
6647870380cc Added support for undefined.
Atul Varma <varmaa@toolness.com>
parents: 7
diff changeset
10 self.assertTrue(retval is pymonkey.undefined)
6647870380cc Added support for undefined.
Atul Varma <varmaa@toolness.com>
parents: 7
diff changeset
11
7
0d0ce6415b66 Added support for unicode strings.
Atul Varma <varmaa@toolness.com>
parents: 5
diff changeset
12 def testEvaluateReturnsUnicode(self):
0d0ce6415b66 Added support for unicode strings.
Atul Varma <varmaa@toolness.com>
parents: 5
diff changeset
13 retval = pymonkey.evaluate("'o hai\u2026'", '<string>', 1)
0d0ce6415b66 Added support for unicode strings.
Atul Varma <varmaa@toolness.com>
parents: 5
diff changeset
14 self.assertTrue(type(retval) == unicode)
0d0ce6415b66 Added support for unicode strings.
Atul Varma <varmaa@toolness.com>
parents: 5
diff changeset
15 self.assertEqual(retval, u'o hai\u2026')
0d0ce6415b66 Added support for unicode strings.
Atul Varma <varmaa@toolness.com>
parents: 5
diff changeset
16
5
aae78eac86d6 Added support for booleans.
Atul Varma <varmaa@toolness.com>
parents: 4
diff changeset
17 def testEvaluateReturnsTrue(self):
aae78eac86d6 Added support for booleans.
Atul Varma <varmaa@toolness.com>
parents: 4
diff changeset
18 self.assertTrue(pymonkey.evaluate('true', '<string>', 1) is True)
aae78eac86d6 Added support for booleans.
Atul Varma <varmaa@toolness.com>
parents: 4
diff changeset
19
aae78eac86d6 Added support for booleans.
Atul Varma <varmaa@toolness.com>
parents: 4
diff changeset
20 def testEvaluateReturnsFalse(self):
aae78eac86d6 Added support for booleans.
Atul Varma <varmaa@toolness.com>
parents: 4
diff changeset
21 self.assertTrue(pymonkey.evaluate('false', '<string>', 1) is False)
aae78eac86d6 Added support for booleans.
Atul Varma <varmaa@toolness.com>
parents: 4
diff changeset
22
4
2711b636f8e6 Added support for NULL return values.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
23 def testEvaluateReturnsNone(self):
2711b636f8e6 Added support for NULL return values.
Atul Varma <varmaa@toolness.com>
parents: 3
diff changeset
24 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
25
3
d6a0819ca6ca Added return value support for doubles.
Atul Varma <varmaa@toolness.com>
parents: 2
diff changeset
26 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
27 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
28 4)
0
21aa6e3abb49 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
29
3
d6a0819ca6ca Added return value support for doubles.
Atul Varma <varmaa@toolness.com>
parents: 2
diff changeset
30 def testEvaluateReturnsFloats(self):
d6a0819ca6ca Added return value support for doubles.
Atul Varma <varmaa@toolness.com>
parents: 2
diff changeset
31 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
32 4.1)
d6a0819ca6ca Added return value support for doubles.
Atul Varma <varmaa@toolness.com>
parents: 2
diff changeset
33
0
21aa6e3abb49 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
34 if __name__ == '__main__':
21aa6e3abb49 Origination.
Atul Varma <varmaa@toolness.com>
parents:
diff changeset
35 unittest.main()