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

guido at codespeak.net guido at codespeak.net
Fri Nov 10 11:17:19 CET 2006


Author: guido
Date: Fri Nov 10 11:17:13 2006
New Revision: 34450

Added:
   pypy/dist/pypy/translator/js/modules/dom.py
      - copied, changed from r34449, pypy/dist/pypy/translator/js/modules/_dom.py
   pypy/dist/pypy/translator/js/modules/test/test_dom.py
Removed:
   pypy/dist/pypy/translator/js/modules/_dom.py
Modified:
   pypy/dist/pypy/translator/js/database.py
   pypy/dist/pypy/translator/js/demo/jsdemo/consserv.py
   pypy/dist/pypy/translator/js/demo/jsdemo/djangoping/client.py
   pypy/dist/pypy/translator/js/demo/jsdemo/example.py
   pypy/dist/pypy/translator/js/demo/jsdemo/pythonconsole.py
   pypy/dist/pypy/translator/js/examples/console.py
   pypy/dist/pypy/translator/js/examples/start_bnb.py
   pypy/dist/pypy/translator/js/helper.py
   pypy/dist/pypy/translator/js/test/test_bltn.py
Log:
Replacing the old (unused) dom.py library with a new (although not shiny: some
code was already available, previously known as _dom.py) implementation. The
library provides a mock browser API for testing code that is supposed to be
translated to JS and run in a browser on CPython. Some functionality is already
available (e.g. xml.dom.minidom is wrapped a bit to provide a DOM level 2
implementation).


Modified: pypy/dist/pypy/translator/js/database.py
==============================================================================
--- pypy/dist/pypy/translator/js/database.py	(original)
+++ pypy/dist/pypy/translator/js/database.py	Fri Nov 10 11:17:13 2006
@@ -17,7 +17,7 @@
 from pypy.rpython.ootypesystem import bltregistry
 
 from pypy.objspace.flow.model import Variable, Constant
-from pypy.translator.js.modules import _dom
+from pypy.translator.js.modules import dom
 from pypy.translator.js.commproxy import XmlHttp
 
 try:

Modified: pypy/dist/pypy/translator/js/demo/jsdemo/consserv.py
==============================================================================
--- pypy/dist/pypy/translator/js/demo/jsdemo/consserv.py	(original)
+++ pypy/dist/pypy/translator/js/demo/jsdemo/consserv.py	Fri Nov 10 11:17:13 2006
@@ -13,7 +13,8 @@
 from pypy.translator.js.test.runtest import compile_function
 
 
-from pypy.translator.js.modules._dom import Node, get_document, setTimeout, alert
+from pypy.translator.js.modules.dom import Node, get_document, setTimeout,\
+                                           alert
 #from pypy.translator.js.modules.xmlhttp import XMLHttpRequest
 from pypy.translator.js.modules.mochikit import logDebug, createLoggingPane, log
 from pypy.translator.js.modules.bltns import date

Modified: pypy/dist/pypy/translator/js/demo/jsdemo/djangoping/client.py
==============================================================================
--- pypy/dist/pypy/translator/js/demo/jsdemo/djangoping/client.py	(original)
+++ pypy/dist/pypy/translator/js/demo/jsdemo/djangoping/client.py	Fri Nov 10 11:17:13 2006
@@ -3,7 +3,7 @@
 from pypy.rpython.ootypesystem.bltregistry import BasicExternal, MethodDesc, described
 
 from pypy.translator.js.modules import mochikit
-from pypy.translator.js.modules import _dom as dom
+from pypy.translator.js.modules import dom
 
 class PingHandler(BasicExternal):
     """Server side code which handles javascript calls"""

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	Fri Nov 10 11:17:13 2006
@@ -5,7 +5,7 @@
 import autopath
 
 from pypy.translator.js.test.runtest import compile_function
-from pypy.translator.js.modules._dom import setTimeout, get_document
+from pypy.translator.js.modules.dom import setTimeout, get_document
 from pypy.rpython.ootypesystem.bltregistry import MethodDesc, BasicExternal
 from pypy.translator.js import commproxy
 

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	Fri Nov 10 11:17:13 2006
@@ -12,7 +12,7 @@
 
 import new, sys, os, cStringIO
 from cgi import parse_qs
-from pypy.translator.js.modules._dom import setTimeout, get_document
+from pypy.translator.js.modules.dom import setTimeout, get_document
 from pypy.translator.js.main import rpython2javascript
 from pypy.rpython.ootypesystem.bltregistry import MethodDesc, BasicExternal
 from pypy.translator.js import commproxy

Modified: pypy/dist/pypy/translator/js/examples/console.py
==============================================================================
--- pypy/dist/pypy/translator/js/examples/console.py	(original)
+++ pypy/dist/pypy/translator/js/examples/console.py	Fri Nov 10 11:17:13 2006
@@ -12,7 +12,8 @@
 conftest.option.browser = "default"
 
 from pypy.translator.js.test.runtest import compile_function
-from pypy.translator.js.modules._dom import Node, get_document, setTimeout, alert
+from pypy.translator.js.modules.dom import Node, get_document, setTimeout, \
+                                           alert
 #from pypy.translator.js.modules.xmlhttp import XMLHttpRequest
 from pypy.translator.js.modules.mochikit import logDebug, createLoggingPane, log
 from pypy.translator.js.modules.bltns import date

Modified: pypy/dist/pypy/translator/js/examples/start_bnb.py
==============================================================================
--- pypy/dist/pypy/translator/js/examples/start_bnb.py	(original)
+++ pypy/dist/pypy/translator/js/examples/start_bnb.py	Fri Nov 10 11:17:13 2006
@@ -12,7 +12,7 @@
 conftest.option.browser = "default"
 
 from pypy.translator.js.test.runtest import compile_function
-from pypy.translator.js.modules._dom import get_document
+from pypy.translator.js.modules.dom import get_document
 from pypy.translator.js.modules.xmlhttp import XMLHttpRequest
 from pypy.translator.js.modules.mochikit import log, logWarning, createLoggingPane, logDebug
 from pypy.translator.js.modules.bltns import date

Modified: pypy/dist/pypy/translator/js/helper.py
==============================================================================
--- pypy/dist/pypy/translator/js/helper.py	(original)
+++ pypy/dist/pypy/translator/js/helper.py	Fri Nov 10 11:17:13 2006
@@ -2,7 +2,7 @@
 """ Some helpers
 """
 
-from pypy.translator.js.modules._dom import get_document
+from pypy.translator.js.modules.dom import get_document
 
 def escape(s):
     #return s.replace("&", "&amp;").replace("<", "&lt;").replace(">", "&gt;"). \

Added: pypy/dist/pypy/translator/js/modules/test/test_dom.py
==============================================================================
--- (empty file)
+++ pypy/dist/pypy/translator/js/modules/test/test_dom.py	Fri Nov 10 11:17:13 2006
@@ -0,0 +1,31 @@
+from pypy.translator.js.modules import dom
+
+def test_init():
+    window = dom.Window('<html><body>foo</body></html>')
+    nodeType = window.document.nodeType
+    assert nodeType == 9
+    docel = window.document.documentElement.nodeName
+    assert docel == 'HTML'
+    # XXX gotta love the DOM API ;)
+    assert window.document.getElementsByTagName('body')[0]\
+            .childNodes[0].nodeValue == 'foo'
+
+def test_wrap():
+    window = dom.Window()
+    document = window.document
+    div = document.createElement('div')
+    assert div.nodeType == 1
+    document.documentElement.appendChild(div)
+    assert document.documentElement.childNodes[-1] == div
+
+def test_get_element_by_id():
+    window = dom.Window('<html><body><div id="foo" /></body></html>')
+    div = window.document.getElementById('foo')
+    assert div.nodeName == 'DIV'
+
+def test_html_api():
+    window = dom.Window()
+    document = window.document
+    div = document.createElement('div')
+    assert div.style
+    assert not div.style.backgroundColor

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	Fri Nov 10 11:17:13 2006
@@ -10,9 +10,9 @@
 def setup_function(fun):
     rebuild_basic_external()
 
-# check rendering _dom.get_document()
+# check rendering dom.get_document()
 def test_simple_builtin():
-    from pypy.translator.js.modules._dom import get_document
+    from pypy.translator.js.modules.dom import get_document
     def test_document_call():
         return get_document().getElementById("some_id")
     
@@ -56,7 +56,7 @@
     assert check_source_contains(fn, "\.some_callback = callback")
 
 def test_get_elements():
-    from pypy.translator.js.modules import _dom as dom
+    from pypy.translator.js.modules import dom
     
     def getaa(tname):
         return dom.get_document().getElementsByTagName(tname)[0].nodeValue



More information about the Pypy-commit mailing list