Mercurial > pymonkey
comparison tests/test_pymonkey.py @ 155:b0c9d6884da3
Annoying workaround to get_stack() for the script object issue discovered in my last commit.
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Sun, 30 Aug 2009 11:34:35 -0700 |
parents | 5ec81091cb89 |
children | a31ff2de6017 |
comparison
equal
deleted
inserted
replaced
154:5ec81091cb89 | 155:b0c9d6884da3 |
---|---|
79 obj = cx.new_object() | 79 obj = cx.new_object() |
80 cx.init_standard_classes(obj) | 80 cx.init_standard_classes(obj) |
81 jsfunc = cx.new_function(func, func.__name__) | 81 jsfunc = cx.new_function(func, func.__name__) |
82 self._clearOnTeardown(jsfunc) | 82 self._clearOnTeardown(jsfunc) |
83 cx.define_property(obj, func.__name__, jsfunc) | 83 cx.define_property(obj, func.__name__, jsfunc) |
84 cx.evaluate_script(obj, 'func()', '<string>', 1) | 84 cx.evaluate_script(obj, '(function() { func() })()', '<string>', 1) |
85 script = stack_holder[0]['caller']['script'] | 85 script = stack_holder[0]['caller']['caller']['script'] |
86 pc = stack_holder[0]['caller']['pc'] | 86 pc = stack_holder[0]['caller']['caller']['pc'] |
87 self.assertEqual(script.filename, '<string>') | 87 self.assertEqual(script.filename, '<string>') |
88 self.assertEqual(stack_holder[0]['caller']['lineno'], 1) | 88 self.assertEqual(stack_holder[0]['caller']['caller']['lineno'], 1) |
89 self.assertTrue(pc >= 0 and pc < len(buffer(script))) | 89 self.assertTrue(pc >= 0 and pc < len(buffer(script))) |
90 self.assertEqual(stack_holder[0]['caller']['caller'], None) | 90 self.assertEqual(stack_holder[0]['caller']['caller']['caller'], None) |
91 | 91 |
92 def testScriptHasFilenameMember(self): | 92 def testScriptHasFilenameMember(self): |
93 cx = pymonkey.Runtime().new_context() | 93 cx = pymonkey.Runtime().new_context() |
94 script = cx.compile_script('foo', '<string>', 1) | 94 script = cx.compile_script('foo', '<string>', 1) |
95 self.assertEqual(script.filename, '<string>') | 95 self.assertEqual(script.filename, '<string>') |