aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libpathod/language.py4
-rw-r--r--test/test_language.py5
2 files changed, 7 insertions, 2 deletions
diff --git a/libpathod/language.py b/libpathod/language.py
index 0b49c2de..654dc37e 100644
--- a/libpathod/language.py
+++ b/libpathod/language.py
@@ -136,7 +136,7 @@ v_literal = pp.MatchFirst(
v_naked_literal = pp.MatchFirst(
[
v_literal,
- pp.Word("".join(i for i in pp.printables if i not in ",:\n"))
+ pp.Word("".join(i for i in pp.printables if i not in ",:\n@\'\""))
]
)
@@ -479,7 +479,7 @@ class Path(_Component):
@classmethod
def expr(klass):
- e = NakedValue.copy()
+ e = Value | NakedValue
return e.setParseAction(lambda x: klass(*x))
def values(self, settings):
diff --git a/test/test_language.py b/test/test_language.py
index a6f735f1..b02a89dd 100644
--- a/test/test_language.py
+++ b/test/test_language.py
@@ -169,6 +169,7 @@ class TestMisc:
v2 = v.freeze({})
v3 = v2.freeze({})
assert v2.value.val == v3.value.val
+ assert len(v2.value.val) == 100
s = v.spec()
assert s == v.expr().parseString(s)[0].spec()
@@ -488,6 +489,10 @@ class TestRequest:
r = language.parse_request({}, "GET:/:b@100").freeze({})
assert len(r.spec()) > 100
+ def test_path_generator(self):
+ r = language.parse_request({}, "GET:@100").freeze({})
+ assert len(r.spec()) > 100
+
class TestWriteValues:
def test_send_chunk(self):