[pypy-svn] r37857 - in pypy/dist/pypy/translator/js/lib: . test
fijal at codespeak.net
fijal at codespeak.net
Sat Feb 3 12:24:09 CET 2007
Author: fijal
Date: Sat Feb 3 12:24:07 2007
New Revision: 37857
Modified:
pypy/dist/pypy/translator/js/lib/server.py
pypy/dist/pypy/translator/js/lib/test/test_server.py
Log:
Add a static handler for server.py
Modified: pypy/dist/pypy/translator/js/lib/server.py
==============================================================================
--- pypy/dist/pypy/translator/js/lib/server.py (original)
+++ pypy/dist/pypy/translator/js/lib/server.py Sat Feb 3 12:24:07 2007
@@ -98,6 +98,15 @@
self.end_headers()
self.wfile.write(data)
+class Static(object):
+ exposed = True
+
+ def __init__(self, path):
+ self.path = path
+
+ def __call__(self):
+ return open(self.path).read()
+
def start_server(server_address = ('', 8000), handler=TestHandler, fork=False):
httpd = HTTPServer(server_address, handler)
Modified: pypy/dist/pypy/translator/js/lib/test/test_server.py
==============================================================================
--- pypy/dist/pypy/translator/js/lib/test/test_server.py (original)
+++ pypy/dist/pypy/translator/js/lib/test/test_server.py Sat Feb 3 12:24:07 2007
@@ -2,8 +2,10 @@
""" Server testing
"""
+import py
from pypy.translator.js.lib import server
from urllib import URLopener
+import os
class Handler(server.TestHandler):
def index(self):
@@ -21,3 +23,17 @@
server.start_server(server_address=('127.0.0.1', 21211),
handler=Handler, fork=True)
assert URLopener().open("http://127.0.0.1:21210/index").read() == "xxx"
+
+def test_static_page():
+ import thread
+ tmpdir = py.test.ensuretemp("server_static_page")
+ tmpdir.ensure("test.html").write("<html></html>")
+
+ class StaticHandler(server.TestHandler):
+ static_dir = str(tmpdir)
+ index = server.Static(os.path.join(static_dir, "test.html"))
+
+ httpd = server.HTTPServer(('127.0.0.1', 21212), StaticHandler)
+ thread.start_new_thread(httpd.serve_forever, ())
+ assert URLopener().open("http://127.0.0.1:21212/index").read() == \
+ "<html></html>"
More information about the Pypy-commit
mailing list