diff options
-rw-r--r-- | pecan/core.py | 2 | ||||
-rw-r--r-- | pecan/tests/test_base.py | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/pecan/core.py b/pecan/core.py index 49c7e8e..4a2c9be 100644 --- a/pecan/core.py +++ b/pecan/core.py @@ -344,7 +344,7 @@ class PecanBase(object): return unquote_plus(x) if isinstance(x, six.string_types) \ else x - remainder = [_decode(x) for x in remainder] + remainder = [_decode(x) for x in remainder if x] if im_self is not None: args.append(im_self) diff --git a/pecan/tests/test_base.py b/pecan/tests/test_base.py index b22b2c8..a18981c 100644 --- a/pecan/tests/test_base.py +++ b/pecan/tests/test_base.py @@ -928,6 +928,11 @@ class TestControllerArguments(PecanTestCase): assert r.status_int == 200 assert r.body == b_('eater: 9, None, day=12, month=1') + def test_post_empty_remainder_with_json_kwargs(self): + r = self.app_.post_json('/eater/9/', {'month': '1', 'day': '12'}) + assert r.status_int == 200 + assert r.body == b_('eater: 9, None, day=12, month=1') + def test_post_remainder_with_json_kwargs(self): r = self.app_.post_json('/eater/9', {'month': '1', 'day': '12'}) assert r.status_int == 200 |