示例#1
0
 def test_regex_path_with_type(self):
     view = View()
     view.bind('/users/<id:int>')
     expected_path = re.compile('^/users/(?P<id>.*?)$')
     self.assertEqual(view, views._regex_pathes[expected_path])
     self.assertEqual(1, len(views._regex_pathes[expected_path]._path_params))
     self.assertEqual(int, views._regex_pathes[expected_path]._path_params['id'])
示例#2
0
 def test_from_path_args(self):
     # set up
     def foo(a, b):
         return str(int(a) + int(b))
     foo = View(foo)
     foo._path_params = {'a': int}
     
     # basic test
     fields = foo._parse_args({'b': '2'}, {'a': '1'})
     self.assertEqual({'a': 1, 'b': '2'}, fields)
示例#3
0
 def test_raise_response(self):
     def foo():
         raise RedirectResponse('/redirect')
     foo.__module__ = 'views.user'
     foo = View(foo)
     request = {
         'cookies': {},
         'fields': {},
         'headers': {},
         'path': Path('/test'),
     }
     with self.assertRaises(RedirectResponse):
         foo.render(request)
示例#4
0
 def test_return_response(self):
     def foo():
         return RedirectResponse('/redirect')
     foo.__module__ = 'views.user'
     foo = View(foo)
     request = {
         'cookies': {},
         'fields': {},
         'headers': {},
         'path': Path('/test'),
     }
     resp = foo.render(request)
     self.assertIsInstance(resp, RedirectResponse)
示例#5
0
 def test_absolute_path(self):
     view = View()
     view.bind('/users')
     self.assertEqual(view, views._abs_pathes['/users'])