Beispiel #1
0
 def test_expr_variable(self):
     route = Route(r"/<year:\d{4}>", None)
     self.assertEqual(route.match(Request.blank("/bar")), None)
     self.assertEqual(route.match(Request.blank("/2010")), (None, (), {"year": "2010"}))
     self.assertEqual(route.match(Request.blank("/1900")), (None, (), {"year": "1900"}))
     url = route.build(Request.blank("/"), (), dict(year="2010"))
     self.assertEqual(url, "/2010")
 def test_expr_variable(self):
     route = Route(r'/<year:\d{4}>', None)
     self.assertEqual(route.match(Request.blank('/bar')), None)
     self.assertEqual(route.match(Request.blank('/2010')), (None, (), {'year': '2010'}))
     self.assertEqual(route.match(Request.blank('/1900')), (None, (), {'year': '1900'}))
     url = route.build(Request.blank('/'), (), dict(year='2010'))
     self.assertEqual(url, '/2010')
Beispiel #3
0
 def test_expr_variable(self):
     route = Route(r'/<year:\d{4}>', None)
     self.assertEqual(route.match(Request.blank('/bar')), None)
     self.assertEqual(route.match(Request.blank('/2010')), (route, (), {'year': '2010'}))
     self.assertEqual(route.match(Request.blank('/1900')), (route, (), {'year': '1900'}))
     url = route.build(Request.blank('/'), (), dict(year='2010'))
     self.assertEqual(url, '/2010')
Beispiel #4
0
    def test_repetition_operator(self):
        route = Route(r"/<:\d>", None)
        self.assertEqual(route.match(Request.blank("/1")), (None, ("1",), {}))
        self.assertEqual(route.match(Request.blank("/2")), (None, ("2",), {}))

        route = Route(r"/<:\d{2,3}>", None)
        self.assertEqual(route.match(Request.blank("/11")), (None, ("11",), {}))
        self.assertEqual(route.match(Request.blank("/111")), (None, ("111",), {}))
        self.assertEqual(route.match(Request.blank("/1111")), None)
    def test_repetition_operator(self):
        route = Route(r"/<:\d>", None)
        self.assertEqual(route.match(Request.blank("/1")), (route, ("1",), {}))
        self.assertEqual(route.match(Request.blank("/2")), (route, ("2",), {}))

        route = Route(r"/<:\d{2,3}>", None)
        self.assertEqual(route.match(Request.blank("/11")), (route, ("11",), {}))
        self.assertEqual(route.match(Request.blank("/111")), (route, ("111",), {}))
        self.assertEqual(route.match(Request.blank("/1111")), None)
Beispiel #6
0
    def test_repetition_operator(self):
        route = Route(r'/<:\d>', None)
        self.assertEqual(route.match(Request.blank('/1')), (route, ('1',), {}))
        self.assertEqual(route.match(Request.blank('/2')), (route, ('2',), {}))

        route = Route(r'/<:\d{2,3}>', None)
        self.assertEqual(route.match(Request.blank('/11')), (route, ('11',), {}))
        self.assertEqual(route.match(Request.blank('/111')), (route, ('111',), {}))
        self.assertEqual(route.match(Request.blank('/1111')), None)
    def test_repetition_operator(self):
        route = Route(r'/<:\d>', None)
        self.assertEqual(route.match(Request.blank('/1')), (None, ('1',), {}))
        self.assertEqual(route.match(Request.blank('/2')), (None, ('2',), {}))

        route = Route(r'/<:\d{2,3}>', None)
        self.assertEqual(route.match(Request.blank('/11')), (None, ('11',), {}))
        self.assertEqual(route.match(Request.blank('/111')), (None, ('111',), {}))
        self.assertEqual(route.match(Request.blank('/1111')), None)
 def test_expr_variable(self):
     route = Route(r"/<year:\d{4}>", None)
     self.assertEqual(route.match(Request.blank("/bar")), None)
     self.assertEqual(
         route.match(Request.blank("/2010")), (route, (), {"year": "2010"})
     )
     self.assertEqual(
         route.match(Request.blank("/1900")), (route, (), {"year": "1900"})
     )
     url = route.build(Request.blank("/"), (), dict(year="2010"))
     self.assertEqual(url, "/2010")
    def test_schemes(self):
        route = Route(r"/", schemes=["http"])
        req = Request.blank("http://mydomain.com/")
        self.assertTrue(route.match(req) is not None)
        req = Request.blank("https://mydomain.com/")
        self.assertTrue(route.match(req) is None)

        route = Route(r"/", schemes=["https"])
        req = Request.blank("https://mydomain.com/")
        self.assertTrue(route.match(req) is not None)
        req = Request.blank("http://mydomain.com/")
        self.assertTrue(route.match(req) is None)
    def test_no_variable(self):
        route = Route(r"/hello", None)
        route, args, kwargs = route.match(Request.blank("/hello"))
        self.assertEqual(kwargs, {})
        url = route.build(Request.blank("/"), (), {})
        self.assertEqual(url, "/hello")

        route = Route(r"/hello/world/", None)
        route, args, kwargs = route.match(Request.blank("/hello/world/"))
        self.assertEqual(kwargs, {})
        url = route.build(Request.blank("/"), (), {})
        self.assertEqual(url, "/hello/world/")
Beispiel #11
0
    def test_no_variable(self):
        route = Route(r"/hello", None)
        handler, args, kwargs = route.match(Request.blank("/hello"))
        self.assertEqual(kwargs, {})
        url = route.build(Request.blank("/"), (), {})
        self.assertEqual(url, "/hello")

        route = Route(r"/hello/world/", None)
        handler, args, kwargs = route.match(Request.blank("/hello/world/"))
        self.assertEqual(kwargs, {})
        url = route.build(Request.blank("/"), (), {})
        self.assertEqual(url, "/hello/world/")
Beispiel #12
0
    def test_unnamed_variable(self):
        route = Route(r'/<:\d{4}>', None)
        self.assertEqual(route.match(Request.blank('/2010')), (route, ('2010',), {}))
        self.assertEqual(route.match(Request.blank('/aaaa')), None)

        route = Route(r'/<:\d{2}>.<:\d{2}>', None)
        self.assertEqual(route.match(Request.blank('/98.99')), (route, ('98', '99'), {}))
        self.assertEqual(route.match(Request.blank('/aa.aa')), None)

        route = Route(r'/<:\d{2}>.<:\d{2}>/<foo>', None)
        self.assertEqual(route.match(Request.blank('/98.99/test')), (route, ('98', '99'), {'foo': 'test'}))
        self.assertEqual(route.match(Request.blank('/aa.aa/test')), None)
Beispiel #13
0
    def test_unnamed_variable(self):
        route = Route(r"/<:\d{4}>", None)
        self.assertEqual(route.match(Request.blank("/2010")), (None, ("2010",), {}))
        self.assertEqual(route.match(Request.blank("/aaaa")), None)

        route = Route(r"/<:\d{2}>.<:\d{2}>", None)
        self.assertEqual(route.match(Request.blank("/98.99")), (None, ("98", "99"), {}))
        self.assertEqual(route.match(Request.blank("/aa.aa")), None)

        route = Route(r"/<:\d{2}>.<:\d{2}>/<foo>", None)
        self.assertEqual(route.match(Request.blank("/98.99/test")), (None, ("98", "99"), {"foo": "test"}))
        self.assertEqual(route.match(Request.blank("/aa.aa/test")), None)
Beispiel #14
0
    def test_no_variable(self):
        route = Route(r'/hello', None)
        route, args, kwargs = route.match(Request.blank('/hello'))
        self.assertEqual(kwargs, {})
        url = route.build(Request.blank('/'), (), {})
        self.assertEqual(url, '/hello')

        route = Route(r'/hello/world/', None)
        route, args, kwargs = route.match(Request.blank('/hello/world/'))
        self.assertEqual(kwargs, {})
        url = route.build(Request.blank('/'), (), {})
        self.assertEqual(url, '/hello/world/')
Beispiel #15
0
    def test_schemes(self):
        route = Route(r'/', schemes=['http'])
        req = Request.blank('http://mydomain.com/')
        self.assertTrue(route.match(req) is not None)
        req = Request.blank('https://mydomain.com/')
        self.assertTrue(route.match(req) is None)

        route = Route(r'/', schemes=['https'])
        req = Request.blank('https://mydomain.com/')
        self.assertTrue(route.match(req) is not None)
        req = Request.blank('http://mydomain.com/')
        self.assertTrue(route.match(req) is None)
Beispiel #16
0
    def test_unnamed_variable(self):
        route = Route(r'/<:\d{4}>', None)
        self.assertEqual(route.match(Request.blank('/2010')), (None, ('2010',), {}))
        self.assertEqual(route.match(Request.blank('/aaaa')), None)

        route = Route(r'/<:\d{2}>.<:\d{2}>', None)
        self.assertEqual(route.match(Request.blank('/98.99')), (None, ('98', '99'), {}))
        self.assertEqual(route.match(Request.blank('/aa.aa')), None)

        route = Route(r'/<:\d{2}>.<:\d{2}>/<foo>', None)
        self.assertEqual(route.match(Request.blank('/98.99/test')), (None, ('98', '99'), {'foo': 'test'}))
        self.assertEqual(route.match(Request.blank('/aa.aa/test')), None)
Beispiel #17
0
    def test_no_variable(self):
        route = Route(r'/hello', None)
        handler, args, kwargs = route.match(Request.blank('/hello'))
        self.assertEqual(kwargs, {})
        url = route.build(Request.blank('/'), (), {})
        self.assertEqual(url, '/hello')

        route = Route(r'/hello/world/', None)
        handler, args, kwargs = route.match(Request.blank('/hello/world/'))
        self.assertEqual(kwargs, {})
        url = route.build(Request.blank('/'), (), {})
        self.assertEqual(url, '/hello/world/')
Beispiel #18
0
    def test_schemes(self):
        route = Route(r'/', schemes=['http'])
        req = Request.blank('http://mydomain.com/')
        self.assertTrue(route.match(req) is not None)
        req = Request.blank('https://mydomain.com/')
        self.assertTrue(route.match(req) is None)

        route = Route(r'/', schemes=['https'])
        req = Request.blank('https://mydomain.com/')
        self.assertTrue(route.match(req) is not None)
        req = Request.blank('http://mydomain.com/')
        self.assertTrue(route.match(req) is None)
Beispiel #19
0
 def test_simple_variable(self):
     route = Route(r'/<foo>', None)
     self.assertEqual(route.match(Request.blank('/bar')), (route, (), {
         'foo': 'bar'
     }))
     url = route.build(Request.blank('/'), (), dict(foo='baz'))
     self.assertEqual(url, '/baz')
 def test_simple_variable(self):
     route = Route(r"/<foo>", None)
     self.assertEqual(
         route.match(Request.blank("/bar")), (route, (), {"foo": "bar"})
     )
     url = route.build(Request.blank("/"), (), dict(foo="baz"))
     self.assertEqual(url, "/baz")
 def test_simple_variable(self):
     route = Route(r'/<foo>', None)
     self.assertEqual(
         route.match(Request.blank('/bar')),
         (route, (), {'foo': 'bar'})
     )
     url = route.build(Request.blank('/'), (), dict(foo='baz'))
     self.assertEqual(url, '/baz')
    def test_positions(self):
        template = r"/<:\d+>" * 98
        args = tuple(str(i) for i in range(98))
        url_res = "/" + "/".join(args)

        route = Route(template, None)
        self.assertEqual(route.match(Request.blank(url_res)), (route, args, {}))
        url = route.build(Request.blank("/"), args, {})
        self.assertEqual(url_res, url)

        args = [str(i) for i in range(1000)]
        random.shuffle(args)
        args = tuple(args[:98])
        url_res = "/" + "/".join(args)
        self.assertEqual(route.match(Request.blank(url_res)), (route, args, {}))
        url = route.build(Request.blank("/"), args, {})
        self.assertEqual(url_res, url)
Beispiel #23
0
    def test_positions(self):
        template = '/<:\d+>' * 98
        args = tuple(str(i) for i in range(98))
        url_res = '/' + '/'.join(args)

        route = Route(template, None)
        self.assertEqual(route.match(Request.blank(url_res)), (None, args, {}))
        url = route.build(Request.blank('/'), args, {})
        self.assertEqual(url_res, url)

        args = [str(i) for i in range(1000)]
        random.shuffle(args)
        args = tuple(args[:98])
        url_res = '/' + '/'.join(args)
        self.assertEqual(route.match(Request.blank(url_res)), (None, args, {}))
        url = route.build(Request.blank('/'), args, {})
        self.assertEqual(url_res, url)
    def test_unnamed_variable(self):
        route = Route(r"/<:\d{4}>", None)
        self.assertEqual(route.match(Request.blank("/2010")), (route, ("2010",), {}))
        self.assertEqual(route.match(Request.blank("/aaaa")), None)

        route = Route(r"/<:\d{2}>.<:\d{2}>", None)
        self.assertEqual(
            route.match(Request.blank("/98.99")), (route, ("98", "99"), {})
        )
        self.assertEqual(route.match(Request.blank("/aa.aa")), None)

        route = Route(r"/<:\d{2}>.<:\d{2}>/<foo>", None)
        self.assertEqual(
            route.match(Request.blank("/98.99/test")),
            (route, ("98", "99"), {"foo": "test"}),
        )
        self.assertEqual(route.match(Request.blank("/aa.aa/test")), None)
Beispiel #25
0
 def test_simple_variable(self):
     route = Route(r"/<foo>", None)
     self.assertEqual(route.match(Request.blank("/bar")), (None, (), {"foo": "bar"}))
     url = route.build(Request.blank("/"), (), dict(foo="baz"))
     self.assertEqual(url, "/baz")