[pypy-svn] r36094 - in pypy/dist/pypy/translator/js: . test

fijal at codespeak.net fijal at codespeak.net
Mon Jan 1 15:44:33 CET 2007


Author: fijal
Date: Mon Jan  1 15:44:31 2007
New Revision: 36094

Modified:
   pypy/dist/pypy/translator/js/main.py
   pypy/dist/pypy/translator/js/test/test_main.py
Log:
Added possibility not to specify module (caller module) and a test.


Modified: pypy/dist/pypy/translator/js/main.py
==============================================================================
--- pypy/dist/pypy/translator/js/main.py	(original)
+++ pypy/dist/pypy/translator/js/main.py	Mon Jan  1 15:44:31 2007
@@ -113,6 +113,15 @@
     return retval
 
 def rpython2javascript(mod, function_names, jsconfig=None, use_pdb=True):
+    if isinstance(function_names, str):
+        function_names = [function_names]
+        # avoid confusion
+    if mod is None:
+        # this means actual module, which is quite hairy to get in python,
+        # so we cheat
+        import sys
+        mod = sys.modules[sys._getframe(1).f_globals['__name__']]
+    
     if jsconfig is None:
         jsconfig = Config(js_optiondescr)
     if use_pdb:

Modified: pypy/dist/pypy/translator/js/test/test_main.py
==============================================================================
--- pypy/dist/pypy/translator/js/test/test_main.py	(original)
+++ pypy/dist/pypy/translator/js/test/test_main.py	Mon Jan  1 15:44:31 2007
@@ -21,6 +21,12 @@
 def fun(x='3'):
     return a.method({'a':x})['a']
 
+def fff():
+    pass
+
 def test_bookkeeper_cleanup():
-    rpython2javascript(sys.modules[__name__], ["fun"])
-    rpython2javascript(sys.modules[__name__], ["fun"])
+    assert rpython2javascript(sys.modules[__name__], ["fun"])
+    assert rpython2javascript(sys.modules[__name__], ["fun"])
+
+def test_module_none():
+    assert rpython2javascript(None, "fff")



More information about the Pypy-commit mailing list