blob: bca9bd6abb3c490d473ad8d2b1358990c4cdaa18 [file] [log] [blame]
Christian Heimes7131fd92008-02-19 14:21:46 +00001"""
2These tests only check url parsing for now.
3We don't want to require the 'network' resource.
4"""
5
6import os, unittest
Georg Brandl24420152008-05-26 16:32:26 +00007from http.server import SimpleHTTPRequestHandler
Benjamin Petersonee8712c2008-05-20 21:35:26 +00008from test import support
Christian Heimes7131fd92008-02-19 14:21:46 +00009
10
Georg Brandl24420152008-05-26 16:32:26 +000011class SocketlessRequestHandler(SimpleHTTPRequestHandler):
Christian Heimes7131fd92008-02-19 14:21:46 +000012 def __init__(self):
13 pass
14
15class SimpleHTTPRequestHandlerTestCase(unittest.TestCase):
16 """ Test url parsing """
17 def setUp (self):
18 self.translated = os.getcwd()
19 self.translated = os.path.join(self.translated, 'filename')
20 self.handler = SocketlessRequestHandler ()
21
22 def test_queryArguments (self):
23 path = self.handler.translate_path ('/filename')
Ezio Melotti19f2aeb2010-11-21 01:30:29 +000024 self.assertEqual (path, self.translated)
Christian Heimes7131fd92008-02-19 14:21:46 +000025 path = self.handler.translate_path ('/filename?foo=bar')
Ezio Melotti19f2aeb2010-11-21 01:30:29 +000026 self.assertEqual (path, self.translated)
Christian Heimes7131fd92008-02-19 14:21:46 +000027 path = self.handler.translate_path ('/filename?a=b&spam=eggs#zot')
Ezio Melotti19f2aeb2010-11-21 01:30:29 +000028 self.assertEqual (path, self.translated)
Christian Heimes7131fd92008-02-19 14:21:46 +000029
30 def test_startWithDoubleSlash (self):
31 path = self.handler.translate_path ('//filename')
Ezio Melotti19f2aeb2010-11-21 01:30:29 +000032 self.assertEqual (path, self.translated)
Christian Heimes7131fd92008-02-19 14:21:46 +000033 path = self.handler.translate_path ('//filename?foo=bar')
Ezio Melotti19f2aeb2010-11-21 01:30:29 +000034 self.assertEqual (path, self.translated)
Christian Heimes7131fd92008-02-19 14:21:46 +000035
36
37def test_main():
Benjamin Petersonee8712c2008-05-20 21:35:26 +000038 support.run_unittest(SimpleHTTPRequestHandlerTestCase)
Christian Heimes7131fd92008-02-19 14:21:46 +000039
40if __name__ == "__main__":
41 test_main()