[pypy-svn] r32890 - in pypy/dist/pypy/translator/js: . jssrc modules test

fijal at codespeak.net fijal at codespeak.net
Wed Oct 4 21:07:28 CEST 2006


Author: fijal
Date: Wed Oct  4 21:07:27 2006
New Revision: 32890

Added:
   pypy/dist/pypy/translator/js/test/test_main.py   (contents, props changed)
Modified:
   pypy/dist/pypy/translator/js/commproxy.py
   pypy/dist/pypy/translator/js/jssrc/misc.js
   pypy/dist/pypy/translator/js/main.py
   pypy/dist/pypy/translator/js/modules/_dom.py
Log:
Added test for bug with living bookkeeper. Added some missing commits (missing StringBuilder methods, improper DOM types).


Modified: pypy/dist/pypy/translator/js/commproxy.py
==============================================================================
--- pypy/dist/pypy/translator/js/commproxy.py	(original)
+++ pypy/dist/pypy/translator/js/commproxy.py	Wed Oct  4 21:07:27 2006
@@ -53,8 +53,9 @@
     //x.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
     x.onreadystatechange = function () { %(real_callback)s(x, callback) };
     //x.setRequestHeader("Connection", "close");
+    //logDebug(str);
     x.send(str);
-    x.send(null);
+    //x.send(null);
 }
 """
 

Modified: pypy/dist/pypy/translator/js/jssrc/misc.js
==============================================================================
--- pypy/dist/pypy/translator/js/jssrc/misc.js	(original)
+++ pypy/dist/pypy/translator/js/jssrc/misc.js	Wed Oct  4 21:07:27 2006
@@ -128,11 +128,18 @@
     this.l = [];
 }
 
-StringBuilder.prototype.ll_append = function(s) {
+StringBuilder.prototype.ll_append_char = function(s) {
     this.l.length += 1;
     this.l[this.l.length - 1] = s;
 }
 
+StringBuilder.prototype.ll_append = function(s) {
+    this.l += s;
+}
+
+StringBuilder.prototype.ll_allocate = function(t) {
+}
+
 StringBuilder.prototype.ll_build = function() {
     var s;
     s = "";

Modified: pypy/dist/pypy/translator/js/main.py
==============================================================================
--- pypy/dist/pypy/translator/js/main.py	(original)
+++ pypy/dist/pypy/translator/js/main.py	Wed Oct  4 21:07:27 2006
@@ -18,6 +18,7 @@
     view = False
     output = 'output.js'
     debug_transform = False
+    use_pdb = True
 
 class FunctionNotFound(Exception):
     pass

Modified: pypy/dist/pypy/translator/js/modules/_dom.py
==============================================================================
--- pypy/dist/pypy/translator/js/modules/_dom.py	(original)
+++ pypy/dist/pypy/translator/js/modules/_dom.py	Wed Oct  4 21:07:27 2006
@@ -190,7 +190,7 @@
         'namespaceURI' : "aa",
         'nextSibling' : Element(),
         'nodeName' : "aa",
-        'nodeType' : "aa",
+        'nodeType' : 1,
         'nodeValue' : "aa",
         'offsetHeight' : 12,
         'offsetLeft' : 12,

Added: pypy/dist/pypy/translator/js/test/test_main.py
==============================================================================
--- (empty file)
+++ pypy/dist/pypy/translator/js/test/test_main.py	Wed Oct  4 21:07:27 2006
@@ -0,0 +1,26 @@
+
+""" tests of rpython2javascript function
+"""
+
+from pypy.translator.js.main import rpython2javascript
+from pypy.translator.js import conftest
+from pypy.rpython.ootypesystem.bltregistry import BasicExternal, described
+import py
+import sys
+
+#if not conftest.option.browser:
+#    py.test.skip("Works only in browser (right now?)")
+
+class A(BasicExternal):
+    def method(a={'a':'a'}):
+        pass
+    method = described(retval={'a':'a'})(method)
+
+a = A()
+
+def fun(x='3'):
+    return a.method({'a':x})['a']
+
+def test_bookkeeper_cleanup():
+    rpython2javascript(sys.modules[__name__], ["fun"])
+    rpython2javascript(sys.modules[__name__], ["fun"])



More information about the Pypy-commit mailing list