Exemplo n.º 1
0
 def testIntVariable(self):
     r = Route('<int:id>/')
     self.assertEqual(str(r),'/<int:id>/')
     self.assertEqual(r.variables, set(['id']))
     self.assertEqual(r.breadcrumbs,((True,'id'),))
     self.assertEqual(r.match('35/'),{'id':35})
     self.assertEqual(r.url(id = 1), '/1/')
     self.assertRaises(ValueError,lambda : r.url(id = 'bla'))
Exemplo n.º 2
0
 def testIntVariable(self):
     r = Route('<int:id>/')
     self.assertEqual(str(r), '/<int:id>/')
     self.assertEqual(r.variables, set(['id']))
     self.assertEqual(r.breadcrumbs, ((True, 'id'), ))
     self.assertEqual(r.match('35/'), {'id': 35})
     self.assertEqual(r.url(id=1), '/1/')
     self.assertRaises(ValueError, lambda: r.url(id='bla'))
Exemplo n.º 3
0
 def testPathVaiable(self):
     r = Route('bla/<path:rest>', defaults={'rest': ''})
     self.assertEqual(r.variables, set(['rest']))
     self.assertEqual(r.level, 2)
     self.assertTrue(r.is_leaf)
     self.assertEqual(r.match('bla/a/b/c.html'), {'rest': 'a/b/c.html'})
     self.assertEqual(r.match('bla/'), {'rest': ''})
     self.assertEqual(r.url(rest='a/'), '/bla/a/')
     self.assertEqual(r.url(), '/bla/')
Exemplo n.º 4
0
 def testPathVaiable(self):
     r = Route('bla/<path:rest>', defaults={'rest': ''})
     self.assertEqual(r.variables, set(['rest']))
     self.assertEqual(r.level, 2)
     self.assertTrue(r.is_leaf)
     self.assertEqual(r.match('bla/a/b/c.html'), {'rest': 'a/b/c.html'})
     self.assertEqual(r.match('bla/'), {'rest': ''})
     self.assertEqual(r.url(rest='a/'), '/bla/a/')
     self.assertEqual(r.url(), '/bla/')
Exemplo n.º 5
0
 def testIntVariableMinMax(self):
     r = Route('<int(min=1):cid>/')
     self.assertEqual(str(r), '/<int(min=1):cid>/')
     self.assertEqual(r.variables, set(['cid']))
     self.assertEqual(r.breadcrumbs, ((True, 'cid'),))
     self.assertEqual(r.match('1/'), {'cid': 1})
     self.assertEqual(r.match('476876/'), {'cid': 476876})
     self.assertEqual(r.match('0/'), None)
     self.assertEqual(r.match('-5/'), None)
     self.assertEqual(r.url(cid=13), '/13/')
     self.assertEqual(r.url(cid=1), '/1/')
     self.assertRaises(ValueError, r.url, cid=0)
     self.assertRaises(ValueError, r.url, cid=-10)
     self.assertRaises(ValueError, r.url, cid='bla')
Exemplo n.º 6
0
 def testIntVariableFixDigits(self):
     r = Route('<int(2):id>/')
     self.assertEqual(str(r), '/<int(2):id>/')
     self.assertEqual(r.variables, set(['id']))
     self.assertEqual(r.breadcrumbs, ((True, 'id'),))
     self.assertEqual(r.match('35/'), {'id': 35})
     self.assertEqual(r.match('355/'), None)
     self.assertEqual(r.match('6/'), None)
     self.assertEqual(r.match('ch/'), None)
     self.assertEqual(r.url(id=13), '/13/')
     self.assertEqual(r.url(id=1), '/01/')
     self.assertRaises(ValueError, r.url, id=134)
     self.assertRaises(ValueError, r.url, id='bl')
     self.assertRaises(ValueError, r.url, id='bla')
Exemplo n.º 7
0
 def test2StringVariables(self):
     r = Route('<name>/<child>/')
     self.assertFalse(r.is_leaf)
     self.assertEqual(r.level,2)
     self.assertEqual(r.variables, set(['name','child']))
     self.assertEqual(r.breadcrumbs, ((True,'name'),(True,'child')))
     self.assertEqual(r.rule,'<name>/<child>/')
     self.assertEqual(r.match('bla/foo/'),{'name':'bla','child':'foo'})
     self.assertEqual(r.match('bla/foo/another/'),
                      {'name':'bla','child':'foo',
                       '__remaining__':'another/'})
     self.assertRaises(KeyError, lambda : r.url(name = 'luca'))
     self.assertEqual(r.url(name = 'luca', child = 'joshua'),
                      '/luca/joshua/')
Exemplo n.º 8
0
 def testIntVariableMinMax(self):
     r = Route('<int(min=1):cid>/')
     self.assertEqual(str(r), '/<int(min=1):cid>/')
     self.assertEqual(r.variables, set(['cid']))
     self.assertEqual(r.breadcrumbs, ((True, 'cid'), ))
     self.assertEqual(r.match('1/'), {'cid': 1})
     self.assertEqual(r.match('476876/'), {'cid': 476876})
     self.assertEqual(r.match('0/'), None)
     self.assertEqual(r.match('-5/'), None)
     self.assertEqual(r.url(cid=13), '/13/')
     self.assertEqual(r.url(cid=1), '/1/')
     self.assertRaises(ValueError, r.url, cid=0)
     self.assertRaises(ValueError, r.url, cid=-10)
     self.assertRaises(ValueError, r.url, cid='bla')
Exemplo n.º 9
0
 def testIntVariableFixDigits(self):
     r = Route('<int(2):id>/')
     self.assertEqual(str(r), '/<int(2):id>/')
     self.assertEqual(r.variables, set(['id']))
     self.assertEqual(r.breadcrumbs, ((True, 'id'), ))
     self.assertEqual(r.match('35/'), {'id': 35})
     self.assertEqual(r.match('355/'), None)
     self.assertEqual(r.match('6/'), None)
     self.assertEqual(r.match('ch/'), None)
     self.assertEqual(r.url(id=13), '/13/')
     self.assertEqual(r.url(id=1), '/01/')
     self.assertRaises(ValueError, r.url, id=134)
     self.assertRaises(ValueError, r.url, id='bl')
     self.assertRaises(ValueError, r.url, id='bla')
Exemplo n.º 10
0
 def test2StringVariables(self):
     r = Route('<name>/<child>/')
     self.assertFalse(r.is_leaf)
     self.assertEqual(r.level, 2)
     self.assertEqual(r.variables, set(['name', 'child']))
     self.assertEqual(r.breadcrumbs, ((True, 'name'), (True, 'child')))
     self.assertEqual(r.rule, '<name>/<child>/')
     self.assertEqual(r.match('bla/foo/'), {'name': 'bla', 'child': 'foo'})
     self.assertEqual(r.match('bla/foo/another/'), {
         'name': 'bla',
         'child': 'foo',
         '__remaining__': 'another/'
     })
     self.assertRaises(KeyError, lambda: r.url(name='luca'))
     self.assertEqual(r.url(name='luca', child='joshua'), '/luca/joshua/')
Exemplo n.º 11
0
 def testStringVariable(self):
     r = Route('<name>/')
     self.assertFalse(r.is_leaf)
     self.assertEqual(r.variables, set(['name']))
     self.assertEqual(r.breadcrumbs, ((True, 'name'),))
     self.assertEqual(r.rule, '<name>/')
     self.assertEqual(r.match('bla-foo/'), {'name': 'bla-foo'})
     self.assertEqual(r.match('bla/another/'),
                      {'name': 'bla', '__remaining__': 'another/'})
     self.assertEqual(r.url(name='luca'), '/luca/')
Exemplo n.º 12
0
 def testStringVariable(self):
     r = Route('<name>/')
     self.assertFalse(r.is_leaf)
     self.assertEqual(r.variables, set(['name']))
     self.assertEqual(r.breadcrumbs, ((True, 'name'), ))
     self.assertEqual(r.rule, '<name>/')
     self.assertEqual(r.match('bla-foo/'), {'name': 'bla-foo'})
     self.assertEqual(r.match('bla/another/'), {
         'name': 'bla',
         '__remaining__': 'another/'
     })
     self.assertEqual(r.url(name='luca'), '/luca/')
Exemplo n.º 13
0
 def test_empty_url(self):
     r = Route('')
     self.assertEqual(r.rule, '')
     self.assertEqual(r.url(), '/')
     self.assertEqual(r.path, '/')
Exemplo n.º 14
0
 def testDefaults(self):
     r = Route('bla/<id>/add/<path:path>', {'path': ''})
     self.assertEqual(r.url(id=10), '/bla/10/add/')
     self.assertEqual(r.url(id=10, path='ciao/luca'),
                      '/bla/10/add/ciao/luca')
Exemplo n.º 15
0
 def test_empty_url(self):
     r = Route('')
     self.assertEqual(r.rule, '')
     self.assertEqual(r.url(), '/')
     self.assertEqual(r.path, '/')
Exemplo n.º 16
0
 def testDefaults(self):
     r = Route('bla/<id>/add/<path:path>', {'path': ''})
     self.assertEqual(r.url(id=10), '/bla/10/add/')
     self.assertEqual(r.url(id=10, path='ciao/luca'),
                      '/bla/10/add/ciao/luca')