[pypy-svn] r28937 - in pypy/dist/pypy/translator/js: . modules modules/test test
fijal at codespeak.net
fijal at codespeak.net
Mon Jun 19 10:40:22 CEST 2006
Author: fijal
Date: Mon Jun 19 10:40:20 2006
New Revision: 28937
Modified:
pypy/dist/pypy/translator/js/jsbuiltin.py
pypy/dist/pypy/translator/js/modules/test/test_dom.py
pypy/dist/pypy/translator/js/modules/xmlhttp.py
pypy/dist/pypy/translator/js/test/runtest.py
Log:
Fixed ExternalBuiltin code rendering.
Modified: pypy/dist/pypy/translator/js/jsbuiltin.py
==============================================================================
--- pypy/dist/pypy/translator/js/jsbuiltin.py (original)
+++ pypy/dist/pypy/translator/js/jsbuiltin.py Mon Jun 19 10:40:20 2006
@@ -22,6 +22,7 @@
'll_strconcat' : InstructionList([PushAllArgs, '+']),
'll_int' : CallBuiltin('parseInt'),
'alert' : CallBuiltin('alert'),
+ 'seval' : CallBuiltin('seval'),
}
self.builtin_obj_map = {
ootype.String.__class__: {
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 Mon Jun 19 10:40:20 2006
@@ -7,6 +7,8 @@
from pypy.translator.js.modules.dom import Node, get_document, setTimeout, alert
from pypy.translator.js.modules.xmlhttp import XMLHttpRequest
from pypy.translator.js import conftest
+#from pypy.rpython.rjs import jseval
+from pypy.translator.js.modules.seval import seval
import time
@@ -83,7 +85,36 @@
xml.open('GET', 'http://localhost:8080/get_some_info?info=dupa', True)
xml.onreadystatechange = t_xml_fun
#return xml.readyState
- xml.send_finish()
+ xml.send(None)
fn = compile_function(xml_fun, [])
fn()
+
+##def ping_fun():
+## if xml.readyState == 4:
+## null = None
+## if xml.responseText:
+## data = seval(xml.responseText)
+## alert(data['message'])
+## #for i in data:
+## # alert(i)
+## send_ping_request()
+##
+##def send_ping_request():
+## xml.open('GET', 'http://localhost:8080/ping', True)
+## xml.onreadystatechange = ping_fun
+## xml.send(None)
+
+def send_ping_request():
+ pass
+
+def test_bnb():
+ """ Higher level XMLHttpRequest
+ """
+ def bnb_fun():
+ from pypy.translator.js.proxy.testme.controllers import RootInstance
+ RootInstance.ping(send_ping_request)
+
+ from pypy.translator.js.proxy.testme.controllers import Root
+ fn = compile_function(bnb_fun, [], root = Root)
+ fn()
Modified: pypy/dist/pypy/translator/js/modules/xmlhttp.py
==============================================================================
--- pypy/dist/pypy/translator/js/modules/xmlhttp.py (original)
+++ pypy/dist/pypy/translator/js/modules/xmlhttp.py Mon Jun 19 10:40:20 2006
@@ -5,22 +5,25 @@
from pypy.rpython.ootypesystem.bltregistry import BasicExternal
from pypy.rpython.ootypesystem.ootype import String, Signed, StaticMethod, Bool, Void
+import types
+
class XMLHttpRequest(BasicExternal):
_fields = {
- 'readyState' : int
+ 'readyState' : 3,
+ 'responseText': "",
}
_methods = {
- 'open' : ((str, str, bool), None),
- 'send' : ((str,), None),
- 'send_finish' : ((), None),
+ 'open' : (("", "", False), None),
+ 'send' : ((None,), None),
+# 'send_finish' : ((), None),
#'onreadystatechange' : ([], Void),
}
- _method_mapping = {
- # this is neede because we've got some method duplications
- 'send_finish' : 'send'
- }
+ #_method_mapping = {
+ # # this is neede because we've got some method duplications
+ # 'send_finish' : 'send'
+ #}
##class XMLHttpRequest(object):
## _rpython_hints = {'_suggested_external' : True}
Modified: pypy/dist/pypy/translator/js/test/runtest.py
==============================================================================
--- pypy/dist/pypy/translator/js/test/runtest.py (original)
+++ pypy/dist/pypy/translator/js/test/runtest.py Mon Jun 19 10:40:20 2006
@@ -23,7 +23,7 @@
return True
class compile_function(object):
- def __init__(self, function, annotation, stackless=False, view=False, html=None, is_interactive=False):
+ def __init__(self, function, annotation, stackless=False, view=False, html=None, is_interactive=False, root = None):
if not use_browsertest and not _CLI_is_on_path():
py.test.skip('Javascript CLI (js) not found')
@@ -42,6 +42,7 @@
#self.js = JS(t, [function, callback_function], stackless)
self.js = JS(t, [function], stackless)
self.js.write_source()
+ self.root = root
def _conv(self, v):
#if isinstance(v, str):
@@ -62,7 +63,7 @@
output = jstest(self.js.filename, function_call, use_browsertest, self.html, self.is_interactive)
else:
from pypy.translator.js.test.tgtest import run_tgtest
- out = run_tgtest(self, None).results
+ out = run_tgtest(self, tg_root = self.root).results
assert out[1] == 'undefined'
output = out[0]
else:
More information about the Pypy-commit
mailing list