summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbbangert <none@none>2006-09-06 11:33:27 -0700
committerbbangert <none@none>2006-09-06 11:33:27 -0700
commit3d3b97764d8627d0c8038132032b88071e5d2d2b (patch)
tree795e791e143519bca2dab8144a63361bd214bd89
parent402eb9fd1d5c709aad75fdbf06a72d2bc2dc3856 (diff)
downloadroutes-3d3b97764d8627d0c8038132032b88071e5d2d2b.tar.gz
[svn] Adding additional recognition tests for sub-domains.
--HG-- branch : trunk
-rw-r--r--tests/test_functional/test_recognition.py61
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__':