When a regex pattern contains bytes instead of a string use escape_encode to turn it into a string before further processing. Thanks @nicoddemus for the review and tips!

This commit is contained in:
Matt Bachmann
2016-03-05 12:23:13 -05:00
parent 9b51536a18
commit 8ce32b0795
5 changed files with 25 additions and 3 deletions

View File

@@ -170,6 +170,11 @@ class TestMetafunc:
result = idmaker((py.builtin._totext("a"), "b"), [({}, b'\xc3\xb4')])
assert result == ['a0-\\xc3\\xb4']
def test_idmaker_with_bytes_regex(self):
from _pytest.python import idmaker
result = idmaker(("a"), [(re.compile(b'foo'), 1.0)])
assert result == ["foo"]
def test_idmaker_native_strings(self):
from _pytest.python import idmaker
totext = py.builtin._totext