[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