diff options
author | bbangert <none@none> | 2006-09-06 11:33:27 -0700 |
---|---|---|
committer | bbangert <none@none> | 2006-09-06 11:33:27 -0700 |
commit | 3d3b97764d8627d0c8038132032b88071e5d2d2b (patch) | |
tree | 795e791e143519bca2dab8144a63361bd214bd89 | |
parent | 402eb9fd1d5c709aad75fdbf06a72d2bc2dc3856 (diff) | |
download | routes-3d3b97764d8627d0c8038132032b88071e5d2d2b.tar.gz |
[svn] Adding additional recognition tests for sub-domains.
--HG--
branch : trunk
-rw-r--r-- | tests/test_functional/test_recognition.py | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/test_functional/test_recognition.py b/tests/test_functional/test_recognition.py index d49bf38..51acb27 100644 --- a/tests/test_functional/test_recognition.py +++ b/tests/test_functional/test_recognition.py @@ -538,6 +538,67 @@ class TestRecognition(unittest.TestCase): m.match('/group/view-3')) self.assertEqual({'controller':'content','action':'view','id':None,'name':'group'}, m.match('/group/view-')) + + def test_subdomains(self): + m = Mapper() + m.sub_domains = True + m.connect(':controller/:action/:id') + m.create_regs(['content', 'blog']) + + con = request_config() + con.mapper = m + env = dict(PATH_INFO='/nowhere', HTTP_HOST='example.com') + con.mapper_dict = {} + con.environ = env + + self.assertEqual(None, con.mapper_dict) + + env['PATH_INFO'] = '/content' + con.environ = env + self.assertEqual({'action': 'index', 'controller': 'content', 'sub_domain': None, 'id': None}, + con.mapper_dict) + + env['HTTP_HOST'] = 'fred.example.com' + con.environ = env + self.assertEqual({'action': 'index', 'controller': 'content', 'sub_domain': 'fred', 'id': None}, + con.mapper_dict) + + env['HTTP_HOST'] = 'www.example.com' + con.environ = env + self.assertEqual({'action': 'index', 'controller': 'content', 'sub_domain': 'www', 'id': None}, + con.mapper_dict) + + + def test_subdomains_with_ignore(self): + m = Mapper() + m.sub_domains = True + m.sub_domains_ignore = ['www'] + m.connect(':controller/:action/:id') + m.create_regs(['content', 'blog']) + + con = request_config() + con.mapper = m + env = dict(PATH_INFO='/nowhere', HTTP_HOST='example.com') + con.mapper_dict = {} + con.environ = env + + self.assertEqual(None, con.mapper_dict) + + env['PATH_INFO'] = '/content' + con.environ = env + self.assertEqual({'action': 'index', 'controller': 'content', 'sub_domain': None, 'id': None}, + con.mapper_dict) + + env['HTTP_HOST'] = 'fred.example.com' + con.environ = env + self.assertEqual({'action': 'index', 'controller': 'content', 'sub_domain': 'fred', 'id': None}, + con.mapper_dict) + + env['HTTP_HOST'] = 'www.example.com' + con.environ = env + self.assertEqual({'action': 'index', 'controller': 'content', 'sub_domain': None, 'id': None}, + con.mapper_dict) + if __name__ == '__main__': |