aboutsummaryrefslogtreecommitdiffstats
path: root/test/pathod/test_language_base.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2016-06-07 12:56:51 +1200
committerAldo Cortesi <aldo@nullcube.com>2016-06-07 12:56:51 +1200
commit75ebd638eb6f6ed74f1f191d4f9e30277f4f2d34 (patch)
tree9bff77b84d485549f2d9cfad61a4c54b6315088d /test/pathod/test_language_base.py
parente037fe05ff1f0c2893b3f51e06e0261ca4245d63 (diff)
parent80292c0ac3c9684ee945546c9b45334178518e4e (diff)
downloadmitmproxy-75ebd638eb6f6ed74f1f191d4f9e30277f4f2d34.tar.gz
mitmproxy-75ebd638eb6f6ed74f1f191d4f9e30277f4f2d34.tar.bz2
mitmproxy-75ebd638eb6f6ed74f1f191d4f9e30277f4f2d34.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'test/pathod/test_language_base.py')
-rw-r--r--test/pathod/test_language_base.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/test/pathod/test_language_base.py b/test/pathod/test_language_base.py
index 075dc2b8..7c7d8cf9 100644
--- a/test/pathod/test_language_base.py
+++ b/test/pathod/test_language_base.py
@@ -55,8 +55,15 @@ class TestTokValueLiteral:
v = base.TokValueLiteral("f\x00oo")
assert v.spec() == repr(v) == r"'f\x00oo'"
- v = base.TokValueLiteral("\"")
- assert v.spec() == repr(v) == '\'"\''
+ v = base.TokValueLiteral('"')
+ assert v.spec() == repr(v) == """ '"' """.strip()
+
+ # While pyparsing has a escChar argument for QuotedString,
+ # escChar only performs scapes single-character escapes and does not work for e.g. r"\x02".
+ # Thus, we cannot use that option, which means we cannot have single quotes in strings.
+ # To fix this, we represent single quotes as r"\x07".
+ v = base.TokValueLiteral("'")
+ assert v.spec() == r"'\x27'"
def roundtrip(self, spec):
e = base.TokValueLiteral.expr()
@@ -311,7 +318,7 @@ def test_options_or_value():
def test_integer():
e = base.Integer.expr()
v = e.parseString("200")[0]
- assert v.string() == "200"
+ assert v.string() == b"200"
assert v.spec() == "200"
assert v.freeze({}).value == v.value