blob: e870ebad4b4a4f0a59a41d85886ca69ef381ab3f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# -*- coding: utf-8 -*-
from __future__ import with_statement
import os
import webob
import webtest
from webob import exc
from webtest import ext
from tests.compat import u
#if PY3:
# raise NotImplementedError
files = os.path.dirname(__file__)
def application(environ, start_response):
req = webob.Request(environ)
resp = webob.Response()
if req.method == 'GET':
filename = req.path_info.strip('/') or 'index.html'
if filename in ('302',):
redirect = req.params['redirect']
resp = exc.HTTPFound(location=redirect)
return resp(environ, start_response)
if filename.isdigit():
resp.status = filename
filename = 'index.html'
filename = os.path.join(files, 'html', filename)
if os.path.isfile(filename):
kw = dict(message=req.params.get('message', ''),
redirect=req.params.get('redirect', ''))
resp.unicode_body = u(open(filename).read()) % kw
_, ext = os.path.splitext(filename)
if ext == '.html':
resp.content_type = 'text/html'
elif ext == '.js':
resp.content_type = 'text/javascript'
elif ext == '.json':
resp.content_type = 'application/json'
else:
redirect = req.params.get('redirect', '')
if redirect:
resp = exc.HTTPFound(location=redirect)
else:
resp.body = req.body
return resp(environ, start_response)
def test_casperjs():
app = webtest.TestApp(application)
with webtest.casperjs(app) as run:
run('test_casperjs.js')
|