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

guido at codespeak.net guido at codespeak.net
Sun Mar 4 15:26:14 CET 2007


Author: guido
Date: Sun Mar  4 15:26:11 2007
New Revision: 39887

Modified:
   pypy/dist/pypy/translator/js/modules/dom.py
   pypy/dist/pypy/translator/js/modules/mochikit.py
   pypy/dist/pypy/translator/js/modules/test/test_dom.py
Log:
Added window.navigator (for navigator.appName) in dom and Signal.disconnectAll
in mochikit.


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 Mar  4 15:26:11 2007
@@ -280,6 +280,10 @@
         'toString' : MethodDesc([], str),
     }
 
+class Navigator(BasicExternal):
+    def __init__(self):
+        self.appName = 'Netscape'
+
 class Window(EventTarget):
     def __init__(self, html=('<html><head><title>Untitled document</title>'
                              '</head><body></body></html>'), parent=None):
@@ -304,6 +308,8 @@
 
         self._original = self # for EventTarget interface (XXX a bit nasty)
 
+        self.navigator = Navigator()
+
     def __getattr__(self, name):
         return globals()[name]
 
@@ -538,6 +544,7 @@
     'status' : str,
     'top' : Window,
     'window' : Window,
+    'navigator': Navigator,
 })
 
 Window._methods = Node._methods.copy()
@@ -717,6 +724,12 @@
 
 KeyEvent._fields = Event._fields.copy()
 
+Navigator._methods = {
+}
+Navigator._fields = {
+    'appName': str,
+}
+
 class _FunctionWrapper(object):
     """makes sure function return values are wrapped if appropriate"""
     def __init__(self, callable):

Modified: pypy/dist/pypy/translator/js/modules/mochikit.py
==============================================================================
--- pypy/dist/pypy/translator/js/modules/mochikit.py	(original)
+++ pypy/dist/pypy/translator/js/modules/mochikit.py	Sun Mar  4 15:26:11 2007
@@ -61,7 +61,7 @@
 
 
 def connect(src, signal, dest):
-    print 'connecting event %s' % (event,)
+    print 'connecting signal %s' % (signal,)
 register_external(connect, args=[dom.EventTarget, str, _callable([Event])],
                   result=int)
 
@@ -69,3 +69,7 @@
     pass
 register_external(disconnect, args=[int])
 
+def disconnectAll(src, signal):
+    print 'disconnecting all handlers for signal: %s' % (signal,)
+register_external(disconnectAll, args=[dom.EventTarget, str])
+

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 Mar  4 15:26:11 2007
@@ -379,3 +379,7 @@
             assert rpython2javascript(sys.modules[__name__], [var], use_pdb=True)
     
     TRANSLATING = False
+
+def test_navigator():
+    window = get_window()
+    assert window.navigator.appName == 'Netscape'



More information about the Pypy-commit mailing list