Mercurial > piecrust2
diff tests/test_uriutil.py @ 3:f485ba500df3
Gigantic change to basically make PieCrust 2 vaguely functional.
- Serving works, with debug window.
- Baking works, multi-threading, with dependency handling.
- Various things not implemented yet.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sun, 10 Aug 2014 23:43:16 -0700 |
parents | |
children | 474c9882decf |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test_uriutil.py Sun Aug 10 23:43:16 2014 -0700 @@ -0,0 +1,26 @@ +import pytest +from piecrust.uriutil import UriInfo, parse_uri + + +@pytest.mark.parametrize('routes, uri, expected', [ + ({}, '/foo', None), + ( + {'/articles/%slug%': {'source': 'dummy'}}, + '/articles/foo', + UriInfo('', 'dummy', {'slug': 'foo'})), + ( + {'/foo/%bar%': {'source': 'foo'}, + '/other/%one%-%two%': {'source': 'other'}}, + '/other/some-thing', + UriInfo('', 'other', {'one': 'some', 'two': 'thing'})) + ]) +def test_parse_uri(routes, uri, expected): + if expected is not None: + expected.uri = uri + for pattern, args in routes.iteritems(): + if 'taxonomy' not in args: + args['taxonomy'] = None + + actual = parse_uri(routes, uri) + assert actual == expected +