Mercurial > pymonkey
view test_pymonkey.py @ 16:532b7ddca616
Created a new context.evaluate_script() function, replacing pymonkey.evaluate(). Separated out one of the big unit tests into several.
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Sun, 28 Jun 2009 19:01:43 -0700 |
parents | 9edcdb4ab12d |
children | 0812422ec99e |
line wrap: on
line source
import unittest import pymonkey class PymonkeyTests(unittest.TestCase): def _evaljs(self, code): rt = pymonkey.Runtime() cx = rt.new_context() obj = cx.new_object() cx.init_standard_classes(obj) return cx.evaluate_script(obj, code, '<string>', 1) def testContextIsInstance(self): cx = pymonkey.Runtime().new_context() self.assertTrue(isinstance(cx, pymonkey.Context)) def testContextTypeCannotBeInstantiated(self): self.assertRaises(TypeError, pymonkey.Context) def testObjectIsInstance(self): obj = pymonkey.Runtime().new_context().new_object() self.assertTrue(isinstance(obj, pymonkey.Object)) def testObjectTypeCannotBeInstantiated(self): self.assertRaises(TypeError, pymonkey.Object) def testGetRuntimeWorks(self): rt = pymonkey.Runtime() cx = rt.new_context() self.assertEqual(cx.get_runtime(), rt) def testUndefinedCannotBeInstantiated(self): self.assertRaises(TypeError, pymonkey.undefined) def testEvaluateReturnsUndefined(self): retval = self._evaljs("") self.assertTrue(retval is pymonkey.undefined) def testEvaluateReturnsUnicode(self): retval = self._evaljs("'o hai\u2026'") self.assertTrue(type(retval) == unicode) self.assertEqual(retval, u'o hai\u2026') def testEvaluateReturnsTrue(self): self.assertTrue(self._evaljs('true') is True) def testEvaluateReturnsFalse(self): self.assertTrue(self._evaljs('false') is False) def testEvaluateReturnsNone(self): self.assertTrue(self._evaljs('null') is None) def testEvaluateReturnsIntegers(self): self.assertEqual(self._evaljs('1+3'), 4) def testEvaluateReturnsFloats(self): self.assertEqual(self._evaljs('1.1+3'), 4.1) if __name__ == '__main__': unittest.main()