summaryrefslogtreecommitdiff
path: root/tests/test_functional/test_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_functional/test_utils.py')
-rw-r--r--tests/test_functional/test_utils.py43
1 files changed, 42 insertions, 1 deletions
diff --git a/tests/test_functional/test_utils.py b/tests/test_functional/test_utils.py
index bf39e66..5db00cd 100644
--- a/tests/test_functional/test_utils.py
+++ b/tests/test_functional/test_utils.py
@@ -558,7 +558,23 @@ class TestUtilsWithExplicit(unittest.TestCase):
self.assertEqual('/category/food', url_for('category_home', section='food'))
self.assertRaises(Exception, url_for, 'home', controller='content')
self.assertEqual('/', url_for('home'))
-
+
+ def test_with_route_names_and_nomin(self):
+ m = self.con.mapper
+ m.minimization = False
+ self.con.mapper_dict = {}
+ m.connect('home', '', controller='blog', action='splash')
+ m.connect('category_home', 'category/:section', controller='blog', action='view', section='home')
+ m.create_regs(['content','blog','admin/comments'])
+
+ self.assertRaises(Exception, url_for, controller='content', action='view')
+ self.assertRaises(Exception, url_for, controller='content')
+ self.assertRaises(Exception, url_for, controller='admin/comments')
+ self.assertEqual('/category/home', url_for('category_home'))
+ self.assertEqual('/category/food', url_for('category_home', section='food'))
+ self.assertRaises(Exception, url_for, 'home', controller='content')
+ self.assertEqual('/', url_for('home'))
+
def test_with_route_names_and_defaults(self):
m = self.con.mapper
self.con.mapper_dict = {}
@@ -595,6 +611,31 @@ class TestUtilsWithExplicit(unittest.TestCase):
self.assertEqual('/messages/4/edit.xml', url_for('formatted_edit_message', id=4, format='xml'))
self.assertEqual('/messages/4/mark.xml', url_for('formatted_mark_message', id=4, format='xml'))
self.assertEqual('/messages/new.xml', url_for('formatted_new_message', format='xml'))
+
+ def test_with_resource_route_names_and_nomin(self):
+ m = Mapper()
+ self.con.mapper = m
+ self.con.mapper_dict = {}
+ m.minimization = False
+ m.resource('message', 'messages', member={'mark':'GET'}, collection={'rss':'GET'})
+ m.create_regs(['messages'])
+
+ self.assertRaises(Exception, url_for, controller='content', action='view')
+ self.assertRaises(Exception, url_for, controller='content')
+ self.assertRaises(Exception, url_for, controller='admin/comments')
+ self.assertEqual('/messages', url_for('messages'))
+ self.assertEqual('/messages/rss', url_for('rss_messages'))
+ self.assertEqual('/messages/4', url_for('message', id=4))
+ self.assertEqual('/messages/4/edit', url_for('edit_message', id=4))
+ self.assertEqual('/messages/4/mark', url_for('mark_message', id=4))
+ self.assertEqual('/messages/new', url_for('new_message'))
+
+ self.assertEqual('/messages.xml', url_for('formatted_messages', format='xml'))
+ self.assertEqual('/messages/rss.xml', url_for('formatted_rss_messages', format='xml'))
+ self.assertEqual('/messages/4.xml', url_for('formatted_message', id=4, format='xml'))
+ self.assertEqual('/messages/4/edit.xml', url_for('formatted_edit_message', id=4, format='xml'))
+ self.assertEqual('/messages/4/mark.xml', url_for('formatted_mark_message', id=4, format='xml'))
+ self.assertEqual('/messages/new.xml', url_for('formatted_new_message', format='xml'))
if __name__ == '__main__':