[pypy-svn] r36709 - in pypy/dist/pypy/translator/js: . demo/jsdemo modules modules/test test

fijal at codespeak.net fijal at codespeak.net
Sun Jan 14 00:29:13 CET 2007


Author: fijal
Date: Sun Jan 14 00:29:09 2007
New Revision: 36709

Modified:
   pypy/dist/pypy/translator/js/demo/jsdemo/bnb.py
   pypy/dist/pypy/translator/js/demo/jsdemo/example.py
   pypy/dist/pypy/translator/js/demo/jsdemo/pythonconsole.py
   pypy/dist/pypy/translator/js/demo/jsdemo/support.py
   pypy/dist/pypy/translator/js/jts.py
   pypy/dist/pypy/translator/js/modules/dom.py
   pypy/dist/pypy/translator/js/modules/test/test_dom.py
   pypy/dist/pypy/translator/js/support.py
   pypy/dist/pypy/translator/js/test/test_bltn.py
   pypy/dist/pypy/translator/js/test/test_main.py
Log:
Rewrite to a new version of bltregistry. It exposed huge amount of bugs, which
seems to be never tested before :-(


Modified: pypy/dist/pypy/translator/js/demo/jsdemo/bnb.py
==============================================================================
--- pypy/dist/pypy/translator/js/demo/jsdemo/bnb.py	(original)
+++ pypy/dist/pypy/translator/js/demo/jsdemo/bnb.py	Sun Jan 14 00:29:09 2007
@@ -11,8 +11,7 @@
     PMSG_INLINE_FRAME, PMSG_DEF_ICON
 from pypy.translator.js.demo.jsdemo.msgstruct import *
 from cherrypy import session
-from pypy.annotation import model as annmodel
-from pypy.annotation.signature import annotation
+from pypy.rpython.extfunc import _callable
 
 import re, time, sys, os, urllib, socket, copy, md5, random
 
@@ -69,7 +68,7 @@
         self.seen = set()
         return to_ret
 
-lambda_None = annmodel.SomeGenericCallable([], result=annotation(None))
+lambda_None = _callable([])
 
 # Needed double inheritance for both server job
 # and semi-transparent communication proxy

Modified: pypy/dist/pypy/translator/js/demo/jsdemo/example.py
==============================================================================
--- pypy/dist/pypy/translator/js/demo/jsdemo/example.py	(original)
+++ pypy/dist/pypy/translator/js/demo/jsdemo/example.py	Sun Jan 14 00:29:09 2007
@@ -11,6 +11,7 @@
 from pypy.translator.js import commproxy
 from pypy.annotation import model as annmodel
 from pypy.annotation.signature import annotation
+from pypy.rpython.extfunc import _callable
 
 commproxy.USE_MOCHIKIT = False
 
@@ -39,12 +40,10 @@
 def runjs():
     httpd.some_callback(callback)
 
-lambda_None = annmodel.SomeGenericCallable([], result=annotation(None))
-
 class Server(HTTPServer, BasicExternal):
     # Methods and signatures how they are rendered for JS
     _methods = {
-        'some_callback' : MethodDesc([('callback', lambda_None)], {str:str})
+        'some_callback' : MethodDesc([('callback', _callable([{str:str}]))], {str:str})
     }
     
     _render_xmlhttp = True

Modified: pypy/dist/pypy/translator/js/demo/jsdemo/pythonconsole.py
==============================================================================
--- pypy/dist/pypy/translator/js/demo/jsdemo/pythonconsole.py	(original)
+++ pypy/dist/pypy/translator/js/demo/jsdemo/pythonconsole.py	Sun Jan 14 00:29:09 2007
@@ -16,10 +16,7 @@
 from pypy.rpython.ootypesystem.bltregistry import MethodDesc, BasicExternal
 from pypy.translator.js import commproxy
 from pypy.translator.js.modules.mochikit import escapeHTML
-from pypy.annotation import model as annmodel
-from pypy.annotation.signature import annotation
-
-lambda_None = annmodel.SomeGenericCallable([], result=annotation(None))
+from pypy.rpython.extfunc import _callable
 
 from pypy.translator.js.demo.jsdemo import support
 
@@ -96,7 +93,7 @@
     # Methods and signatures how they are rendered for JS
     _methods = {
         'some_callback' : MethodDesc([('cmd', str),
-                                      ('callback', lambda_None)],
+                                      ('callback', _callable([{str:str}]))],
                                      {str:str})
     }
     

Modified: pypy/dist/pypy/translator/js/demo/jsdemo/support.py
==============================================================================
--- pypy/dist/pypy/translator/js/demo/jsdemo/support.py	(original)
+++ pypy/dist/pypy/translator/js/demo/jsdemo/support.py	Sun Jan 14 00:29:09 2007
@@ -2,7 +2,7 @@
 import sys, new
 from pypy.translator.js.main import rpython2javascript
 
-def js_source(functions, use_pdb=False):
+def js_source(functions, use_pdb=True):
     mod = new.module('_js_src')
     function_names = []
     for func in functions:

Modified: pypy/dist/pypy/translator/js/jts.py
==============================================================================
--- pypy/dist/pypy/translator/js/jts.py	(original)
+++ pypy/dist/pypy/translator/js/jts.py	Sun Jan 14 00:29:09 2007
@@ -86,11 +86,6 @@
             else:
                 val = 'true'
         elif _type is Void:
-            #if isinstance(v, FunctionType):
-            #    graph = self.db.translator.annotator.bookkeeper.getdesc(v).cachedgraph(None)
-            #    self.db.pending_function(graph)
-            #    val = graph.name
-            #else:
             val = 'undefined'
         elif isinstance(_type,String.__class__):
             val = '%r'%v._str

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	Sun Jan 14 00:29:09 2007
@@ -26,7 +26,7 @@
 
 from pypy.annotation.signature import annotation
 from pypy.annotation import model as annmodel
-from pypy.translator.js.support import _callable
+from pypy.rpython.extfunc import _callable
 
 # EventTarget is the base class for Nodes and Window
 class EventTarget(BasicExternal):
@@ -344,9 +344,9 @@
 lambda_returning_true = _callable([Event])
 
 EventTarget._methods = {
-    'addEventListener' : MethodDesc([str, lambda_returning_true]),
+    'addEventListener' : MethodDesc([str, lambda_returning_true, bool]),
     'dispatchEvent' : MethodDesc([str], bool),
-    'removeEventListener' : MethodDesc([str, lambda_returning_true]),
+    'removeEventListener' : MethodDesc([str, lambda_returning_true, bool]),
 }
 
 Node._fields = EventTarget._fields.copy()
@@ -402,6 +402,7 @@
     'scrollLeft' : int,
     'scrollTop' : int,
     'scrollWidth' : int,
+    'disabled': bool,
     # HTML specific
     'style' : Style,
     'tabIndex' : int,

Modified: pypy/dist/pypy/translator/js/modules/test/test_dom.py
==============================================================================
--- pypy/dist/pypy/translator/js/modules/test/test_dom.py	(original)
+++ pypy/dist/pypy/translator/js/modules/test/test_dom.py	Sun Jan 14 00:29:09 2007
@@ -1,3 +1,5 @@
+
+# -*- encoding: utf-8 -*-
 import py
 from pypy.translator.js.modules import dom
 from pypy.translator.js.main import rpython2javascript
@@ -364,13 +366,13 @@
                                          'color: green;"></body>')
 
 def test_build():
-    #py.test.skip('Borken')
+    py.test.skip('Børken')
     global TRANSLATING
     TRANSLATING = True
     for var in globals():
         if var.startswith('code_'):
             # just build it
             #def f():
-            assert rpython2javascript(sys.modules[__name__], [var], use_pdb=False)
+            assert rpython2javascript(sys.modules[__name__], [var], use_pdb=True)
     
     TRANSLATING = False

Modified: pypy/dist/pypy/translator/js/support.py
==============================================================================
--- pypy/dist/pypy/translator/js/support.py	(original)
+++ pypy/dist/pypy/translator/js/support.py	Sun Jan 14 00:29:09 2007
@@ -1,13 +1,6 @@
 from pypy.translator.gensupp import NameManager
 #from pypy.translator.js.optimize import is_optimized_function
 
-from pypy.annotation.signature import annotation
-from pypy.annotation import model as annmodel
-
-def _callable(args, result=None):
-    return annmodel.SomeGenericCallable([annotation(i) for i in args],
-                                         annotation(result))
-
 class JavascriptNameManager(NameManager):
     def __init__(self, db):
         NameManager.__init__(self)

Modified: pypy/dist/pypy/translator/js/test/test_bltn.py
==============================================================================
--- pypy/dist/pypy/translator/js/test/test_bltn.py	(original)
+++ pypy/dist/pypy/translator/js/test/test_bltn.py	Sun Jan 14 00:29:09 2007
@@ -5,7 +5,7 @@
 
 from pypy.rpython.ootypesystem.bltregistry import BasicExternal, MethodDesc
 from pypy.translator.js.test.runtest import compile_function, check_source_contains
-from pypy.translator.js.support import _callable
+from pypy.rpython.extfunc import _callable
 
 # check rendering dom.document
 def test_simple_builtin():

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	Sun Jan 14 00:29:09 2007
@@ -12,9 +12,9 @@
 #    py.test.skip("Works only in browser (right now?)")
 
 class A(BasicExternal):
-    def method(a={'a':'a'}):
+    def method(self, a={'a':'a'}):
         pass
-    method = described(retval={'a':'a'})(method)
+    method = described(retval={str:str})(method)
 
 a = A()
 a._render_name = 'a'



More information about the Pypy-commit mailing list