2008-02-18 08:48:43 -04:00
|
|
|
"""
|
|
|
|
These tests only check url parsing for now.
|
|
|
|
We don't want to require the 'network' resource.
|
|
|
|
"""
|
|
|
|
|
|
|
|
import os, unittest
|
|
|
|
from SimpleHTTPServer import SimpleHTTPRequestHandler
|
|
|
|
from test import test_support
|
|
|
|
|
|
|
|
|
|
|
|
class SocketlessRequestHandler (SimpleHTTPRequestHandler):
|
|
|
|
def __init__(self):
|
|
|
|
pass
|
|
|
|
|
|
|
|
class SimpleHTTPRequestHandlerTestCase(unittest.TestCase):
|
|
|
|
""" Test url parsing """
|
|
|
|
def setUp (self):
|
|
|
|
self.translated = os.getcwd()
|
|
|
|
self.translated = os.path.join(self.translated, 'filename')
|
|
|
|
self.handler = SocketlessRequestHandler ()
|
|
|
|
|
|
|
|
def test_queryArguments (self):
|
|
|
|
path = self.handler.translate_path ('/filename')
|
2010-11-21 09:34:58 -04:00
|
|
|
self.assertEqual (path, self.translated)
|
2008-02-18 08:48:43 -04:00
|
|
|
path = self.handler.translate_path ('/filename?foo=bar')
|
2010-11-21 09:34:58 -04:00
|
|
|
self.assertEqual (path, self.translated)
|
2008-02-18 08:48:43 -04:00
|
|
|
path = self.handler.translate_path ('/filename?a=b&spam=eggs#zot')
|
2010-11-21 09:34:58 -04:00
|
|
|
self.assertEqual (path, self.translated)
|
2008-02-18 08:48:43 -04:00
|
|
|
|
|
|
|
def test_startWithDoubleSlash (self):
|
|
|
|
path = self.handler.translate_path ('//filename')
|
2010-11-21 09:34:58 -04:00
|
|
|
self.assertEqual (path, self.translated)
|
2008-02-18 08:48:43 -04:00
|
|
|
path = self.handler.translate_path ('//filename?foo=bar')
|
2010-11-21 09:34:58 -04:00
|
|
|
self.assertEqual (path, self.translated)
|
2008-02-18 08:48:43 -04:00
|
|
|
|
|
|
|
|
|
|
|
def test_main():
|
|
|
|
test_support.run_unittest(SimpleHTTPRequestHandlerTestCase)
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
test_main()
|