Mercurial > hg
view tests/test-hgweb-no-request-uri @ 6174:434139080ed4
Permit XML entities to be escaped in template output.
Useful for creating XML documents directly from Hg logging. Can also be used for
HTML. For use in content, will escape '&', '<', and for completeness '>'
(although it is not strictly necessary). For use in attributes, will also escape
' and ". Will also replace nonprinting (ASCII) control characters with spaces,
since these are illegal in XML.
author | Jesse Glick <jesse.glick@sun.com> |
---|---|
date | Mon, 28 Jan 2008 22:19:12 -0500 |
parents | f429e0e067a8 |
children | 4879468fa28f |
line wrap: on
line source
#!/bin/sh # This tests if hgweb and hgwebdir still work if the REQUEST_URI variable is # no longer passed with the request. Instead, SCRIPT_NAME and PATH_INFO # should be used from d74fc8dec2b4 onward to route the request. mkdir repo cd repo hg init echo foo > bar hg add bar hg commit -m "test" -d "0 0" -u "Testing" hg tip cat > request.py <<EOF from mercurial.hgweb import hgweb, hgwebdir from StringIO import StringIO import os, sys errors = StringIO() input = StringIO() def startrsp(headers, data): print '---- HEADERS' print headers print '---- DATA' print data return output.write env = { 'wsgi.version': (1, 0), 'wsgi.url_scheme': 'http', 'wsgi.errors': errors, 'wsgi.input': input, 'wsgi.multithread': False, 'wsgi.multiprocess': False, 'wsgi.run_once': False, 'REQUEST_METHOD': 'GET', 'SCRIPT_NAME': '', 'SERVER_NAME': '127.0.0.1', 'SERVER_PORT': os.environ['HGPORT'], 'SERVER_PROTOCOL': 'HTTP/1.0' } output = StringIO() env['PATH_INFO'] = '/' env['QUERY_STRING'] = 'style=atom' hgweb('.', name = 'repo')(env, startrsp) print output.getvalue() print '---- ERRORS' print errors.getvalue() output = StringIO() env['PATH_INFO'] = '/file/tip/' env['QUERY_STRING'] = 'style=raw' hgweb('.', name = 'repo')(env, startrsp) print output.getvalue() print '---- ERRORS' print errors.getvalue() output = StringIO() env['PATH_INFO'] = '/' env['QUERY_STRING'] = 'style=raw' hgwebdir({'repo': '.'})(env, startrsp) print output.getvalue() print '---- ERRORS' print errors.getvalue() output = StringIO() env['PATH_INFO'] = '/repo/file/tip/' env['QUERY_STRING'] = 'style=raw' hgwebdir({'repo': '.'})(env, startrsp) print output.getvalue() print '---- ERRORS' print errors.getvalue() EOF python request.py | sed "s/http:\/\/127\.0\.0\.1:[0-9]*\//http:\/\/127.0.0.1\//"