diff options
author | Ben Bangert <ben@groovie.org> | 2020-07-30 11:01:37 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-30 11:01:37 -0700 |
commit | 12758f026dd4ea59398d2ec28d38fbc3f0e7c80e (patch) | |
tree | 18c6727921013bcc16444698a9e70977b26f4df3 | |
parent | 3c01ff0ecee7abdd25a5812c5d3a9bfcb1df732d (diff) | |
parent | d312ea6dfea57a11b75d25f8b1c0c89d6cf854e6 (diff) | |
download | routes-12758f026dd4ea59398d2ec28d38fbc3f0e7c80e.tar.gz |
Merge branch 'master' into fix-python-warnings
-rw-r--r-- | routes/mapper.py | 6 | ||||
-rw-r--r-- | routes/route.py | 1 | ||||
-rw-r--r-- | setup.py | 2 | ||||
-rw-r--r-- | tests/test_functional/test_explicit_use.py | 30 |
4 files changed, 36 insertions, 3 deletions
diff --git a/routes/mapper.py b/routes/mapper.py index cf4dcf1..8916fd3 100644 --- a/routes/mapper.py +++ b/routes/mapper.py @@ -490,7 +490,11 @@ class Mapper(SubMapperParent): routepath = path_prefix + route.routepath else: routepath = route.routepath - self.connect(route.name, routepath, **route._kargs) + self.connect(route.name, + routepath, + conditions=route.conditions, + **route._kargs + ) def make_route(self, *args, **kargs): """Make a new Route object diff --git a/routes/route.py b/routes/route.py index b03e1cf..cf6df10 100644 --- a/routes/route.py +++ b/routes/route.py @@ -1,4 +1,5 @@ import re +import sys import six from six.moves.urllib import parse as urlparse @@ -56,7 +56,7 @@ setup(name="Routes", test_suite="nose.collector", include_package_data=True, zip_safe=False, - tests_require=['nose', 'webtest', 'webob', 'coverage'], + tests_require=["soupsieve<2.0", 'nose', 'webtest', 'webob', 'coverage'], install_requires=[ "six", "repoze.lru>=0.3" diff --git a/tests/test_functional/test_explicit_use.py b/tests/test_functional/test_explicit_use.py index ccd3b7a..b1e1cd7 100644 --- a/tests/test_functional/test_explicit_use.py +++ b/tests/test_functional/test_explicit_use.py @@ -1,6 +1,6 @@ """test_explicit_use""" import os, sys, time, unittest -from nose.tools import eq_, assert_raises +from nose.tools import eq_, assert_raises, assert_is_none from routes import * from routes.route import Route @@ -101,6 +101,34 @@ class TestUtils(unittest.TestCase): map.extend(routes) eq_(map.match('/foo'), {}) + def test_add_routes_conditions_unmet(self): + map = Mapper(explicit=True) + map.minimization = False + routes = [ + Route('foo', '/foo', conditions=dict(method=["POST"])) + ] + environ = { + 'HTTP_HOST': 'localhost.com', + 'PATH_INFO': '/foo', + 'REQUEST_METHOD': 'GET', + } + map.extend(routes) + assert_is_none(map.match('/foo', environ=environ)) + + def test_add_routes_conditions_met(self): + map = Mapper(explicit=True) + map.minimization = False + routes = [ + Route('foo', '/foo', conditions=dict(method=["POST"])) + ] + environ = { + 'HTTP_HOST': 'localhost.com', + 'PATH_INFO': '/foo', + 'REQUEST_METHOD': 'POST', + } + map.extend(routes) + eq_(map.match('/foo', environ=environ), {}) + def test_using_func(self): def fred(view): pass |