Esempio n. 1
0
 def test_build_extra_keyword(self):
     route = Route(r"/<year:\d{4}>", None)
     url = route.build(Request.blank("/"), (), dict(year="2010", foo="bar"))
     self.assertEqual(url, "/2010?foo=bar")
     # Arguments are sorted.
     url = route.build(Request.blank("/"), (), dict(year="2010", foo="bar", baz="ding"))
     self.assertEqual(url, "/2010?baz=ding&foo=bar")
Esempio n. 2
0
 def test_build_extra_keyword(self):
     route = Route(r'/<year:\d{4}>', None)
     url = route.build(Request.blank('/'), (), dict(year='2010', foo='bar'))
     self.assertEqual(url, '/2010?foo=bar')
     # Arguments are sorted.
     url = route.build(Request.blank('/'), (), dict(year='2010', foo='bar', baz='ding'))
     self.assertEqual(url, '/2010?baz=ding&foo=bar')
Esempio n. 3
0
 def test_build_extra_keyword(self):
     route = Route(r'/<year:\d{4}>', None)
     url = route.build(Request.blank('/'), (), dict(year='2010', foo='bar'))
     self.assertEqual(url, '/2010?foo=bar')
     # Arguments are sorted.
     url = route.build(Request.blank('/'), (), dict(year='2010', foo='bar', baz='ding'))
     self.assertEqual(url, '/2010?baz=ding&foo=bar')
Esempio n. 4
0
    def test_build_with_unnamed_variable(self):
        route = Route(r"/<:\d{4}>/<month:\d{2}>", None)

        url = route.build(Request.blank("/"), (2010,), dict(month=10))
        self.assertEqual(url, "/2010/10")

        url = route.build(Request.blank("/"), ("1999",), dict(month="07"))
        self.assertEqual(url, "/1999/07")
Esempio n. 5
0
    def test_build_with_unnamed_variable(self):
        route = Route(r'/<:\d{4}>/<month:\d{2}>', None)

        url = route.build(Request.blank('/'), (2010, ), dict(month=10))
        self.assertEqual(url, '/2010/10')

        url = route.build(Request.blank('/'), ('1999', ), dict(month='07'))
        self.assertEqual(url, '/1999/07')
Esempio n. 6
0
    def test_build_with_unnamed_variable(self):
        route = Route(r"/<:\d{4}>/<month:\d{2}>", None)

        url = route.build(Request.blank("/"), (2010,), dict(month=10))
        self.assertEqual(url, "/2010/10")

        url = route.build(Request.blank("/"), ("1999",), dict(month="07"))
        self.assertEqual(url, "/1999/07")
Esempio n. 7
0
    def test_build_extra_positional_keyword(self):
        route = Route(r'/<year:\d{4}>/<:\d{2}>', None)

        url = route.build(Request.blank('/'), ('08', 'i-should-be-ignored', 'me-too'), dict(year='2010', foo='bar'))
        self.assertEqual(url, '/2010/08?foo=bar')

        url = route.build(Request.blank('/'), ('08', 'i-should-be-ignored', 'me-too'), dict(year='2010', foo='bar', baz='ding'))
        self.assertEqual(url, '/2010/08?baz=ding&foo=bar')
Esempio n. 8
0
    def test_build_default_keyword(self):
        route = Route(r"/<year:\d{4}>/<month:\d{2}>", None, defaults={"month": 10})
        url = route.build(Request.blank("/"), (), dict(year="2010"))
        self.assertEqual(url, "/2010/10")

        route = Route(r"/<year:\d{4}>/<month:\d{2}>", None, defaults={"year": 1900})
        url = route.build(Request.blank("/"), (), dict(month="07"))
        self.assertEqual(url, "/1900/07")
Esempio n. 9
0
    def test_build_extra_positional_keyword(self):
        route = Route(r'/<year:\d{4}>/<:\d{2}>', None)

        url = route.build(Request.blank('/'), ('08', 'i-should-be-ignored', 'me-too'), dict(year='2010', foo='bar'))
        self.assertEqual(url, '/2010/08?foo=bar')

        url = route.build(Request.blank('/'), ('08', 'i-should-be-ignored', 'me-too'), dict(year='2010', foo='bar', baz='ding'))
        self.assertEqual(url, '/2010/08?baz=ding&foo=bar')
Esempio n. 10
0
    def test_build_with_unnamed_variable(self):
        route = Route(r'/<:\d{4}>/<month:\d{2}>', None)

        url = route.build(Request.blank('/'), (2010,), dict(month=10))
        self.assertEqual(url, '/2010/10')

        url = route.build(Request.blank('/'), ('1999',), dict(month='07'))
        self.assertEqual(url, '/1999/07')
Esempio n. 11
0
    def test_build_default_keyword(self):
        route = Route(r"/<year:\d{4}>/<month:\d{2}>", None, defaults={"month": 10})
        r = Request.blank("/")
        url = route.build(r, (), dict(year="2010"))
        self.assertEqual(url, "/2010/10")

        route = Route(r"/<year:\d{4}>/<month:\d{2}>", None, defaults={"year": 1900})
        url = route.build(Request.blank("/"), (), dict(month="07"))
        self.assertEqual(url, "/1900/07")
Esempio n. 12
0
    def test_build_extra_positional_keyword(self):
        route = Route(r"/<year:\d{4}>/<:\d{2}>", None)

        url = route.build(Request.blank("/"), ("08", "i-should-be-ignored", "me-too"), dict(year="2010", foo="bar"))
        self.assertEqual(url, "/2010/08?foo=bar")

        url = route.build(
            Request.blank("/"), ("08", "i-should-be-ignored", "me-too"), dict(year="2010", foo="bar", baz="ding")
        )
        self.assertEqual(url, "/2010/08?baz=ding&foo=bar")
Esempio n. 13
0
    def test_build_default_keyword(self):
        route = Route(r'/<year:\d{4}>/<month:\d{2}>', None,
            defaults={'month': 10})
        url = route.build(Request.blank('/'), (), dict(year='2010'))
        self.assertEqual(url, '/2010/10')

        route = Route(r'/<year:\d{4}>/<month:\d{2}>', None,
            defaults={'year': 1900})
        url = route.build(Request.blank('/'), (), dict(month='07'))
        self.assertEqual(url, '/1900/07')
Esempio n. 14
0
    def test_build_default_keyword(self):
        route = Route(r'/<year:\d{4}>/<month:\d{2}>', None,
            defaults={'month': 10})
        url = route.build(Request.blank('/'), (), dict(year='2010'))
        self.assertEqual(url, '/2010/10')

        route = Route(r'/<year:\d{4}>/<month:\d{2}>', None,
            defaults={'year': 1900})
        url = route.build(Request.blank('/'), (), dict(month='07'))
        self.assertEqual(url, '/1900/07')
Esempio n. 15
0
 def test_build_extra_keyword(self):
     route = Route(r"/<year:\d{4}>", None)
     r = Request.blank("/")
     url = route.build(r, (), dict(year="2010", foo="bar"))
     self.assertEqual(url, "/2010?foo=bar")
     # Arguments are sorted.
     url = route.build(
         Request.blank("/"), (), dict(year="2010", foo="bar", baz="ding")
     )
     self.assertEqual(url, "/2010?baz=ding&foo=bar")
Esempio n. 16
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/')
Esempio n. 17
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/")
Esempio n. 18
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/")
Esempio n. 19
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/')
Esempio n. 20
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')
Esempio n. 21
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")
Esempio n. 22
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')
Esempio n. 23
0
    def test_build_extra_positional_keyword(self):
        route = Route(r"/<year:\d{4}>/<:\d{2}>", None)

        url = route.build(
            Request.blank("/"),
            ("08", "i-should-be-ignored", "me-too"),
            dict(year="2010", foo="bar"),
        )
        self.assertEqual(url, "/2010/08?foo=bar")

        url = route.build(
            Request.blank("/"),
            ("08", "i-should-be-ignored", "me-too"),
            dict(year="2010", foo="bar", baz="ding"),
        )
        self.assertEqual(url, "/2010/08?baz=ding&foo=bar")
Esempio n. 24
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')
Esempio n. 25
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")
Esempio n. 26
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')
Esempio n. 27
0
    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)
Esempio n. 28
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)
Esempio n. 29
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")
Esempio n. 30
0
 def test_expr_variable2(self):
     route = Route(r'/<year:\d{4}>/foo/', None)
     url = route.build(Request.blank('/'), (), dict(year='2010'))
     self.assertEqual(url, '/2010/foo/')
Esempio n. 31
0
 def test_build_int_keyword(self):
     route = Route(r"/<year:\d{4}>", None)
     url = route.build(Request.blank("/"), (), dict(year=2010))
     self.assertEqual(url, "/2010")
Esempio n. 32
0
 def test_build_int_variable(self):
     route = Route(r"/<:\d{4}>", None)
     url = route.build(Request.blank("/"), (2010,), {})
     self.assertEqual(url, "/2010")
Esempio n. 33
0
 def test_build_int_variable(self):
     route = Route(r'/<:\d{4}>', None)
     url = route.build(Request.blank('/'), (2010, ), {})
     self.assertEqual(url, '/2010')
Esempio n. 34
0
 def test_build_int_keyword(self):
     route = Route(r'/<year:\d{4}>', None)
     url = route.build(Request.blank('/'), (), dict(year=2010))
     self.assertEqual(url, '/2010')
Esempio n. 35
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")
Esempio n. 36
0
 def test_expr_variable2(self):
     route = Route(r"/<year:\d{4}>/foo/", None)
     url = route.build(Request.blank("/"), (), dict(year="2010"))
     self.assertEqual(url, "/2010/foo/")
Esempio n. 37
0
 def test_expr_variable2(self):
     route = Route(r'/<year:\d{4}>/foo/', None)
     url = route.build(Request.blank('/'), (), dict(year='2010'))
     self.assertEqual(url, '/2010/foo/')
Esempio n. 38
0
 def test_build_int_keyword(self):
     route = Route(r"/<year:\d{4}>", None)
     url = route.build(Request.blank("/"), (), dict(year=2010))
     self.assertEqual(url, "/2010")
Esempio n. 39
0
 def test_build_int_variable(self):
     route = Route(r'/<:\d{4}>', None)
     url = route.build(Request.blank('/'), (2010,), {})
     self.assertEqual(url, '/2010')
Esempio n. 40
0
 def test_build_int_keyword(self):
     route = Route(r'/<year:\d{4}>', None)
     url = route.build(Request.blank('/'), (), dict(year=2010))
     self.assertEqual(url, '/2010')
Esempio n. 41
0
 def test_build_int_variable(self):
     route = Route(r"/<:\d{4}>", None)
     url = route.build(Request.blank("/"), (2010,), {})
     self.assertEqual(url, "/2010")
Esempio n. 42
0
 def test_expr_variable2(self):
     route = Route(r"/<year:\d{4}>/foo/", None)
     url = route.build(Request.blank("/"), (), dict(year="2010"))
     self.assertEqual(url, "/2010/foo/")