Skip to content

Commit 3a5c501

Browse files
Add test for github issue 435
1 parent 9f672be commit 3a5c501

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

tests/test_mutation.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,32 @@ def test_bug_github_issue_77():
418418
assert mutants_for_source('') == []
419419

420420

421+
def test_bug_github_issue_435():
422+
source = """
423+
def parse(self, text: str) -> tuple[Tree[Token], str]:
424+
text = re.sub(r'[\w\-] [\w\-]', dashrepl, text)
425+
426+
return self.parser.parse(text), text
427+
""".strip()
428+
429+
mutants = mutants_for_source(source)
430+
431+
expected = [
432+
'def parse(self, text: str) -> tuple[Tree[Token], str]:\n text = None\n\n return self.parser.parse(text), text',
433+
'def parse(self, text: str) -> tuple[Tree[Token], str]:\n text = re.sub(None, dashrepl, text)\n\n return self.parser.parse(text), text',
434+
"def parse(self, text: str) -> tuple[Tree[Token], str]:\n text = re.sub(r'[\\w\\-] [\\w\\-]', None, text)\n\n return self.parser.parse(text), text",
435+
"def parse(self, text: str) -> tuple[Tree[Token], str]:\n text = re.sub(r'[\\w\\-] [\\w\\-]', dashrepl, None)\n\n return self.parser.parse(text), text",
436+
'def parse(self, text: str) -> tuple[Tree[Token], str]:\n text = re.sub(dashrepl, text)\n\n return self.parser.parse(text), text',
437+
"def parse(self, text: str) -> tuple[Tree[Token], str]:\n text = re.sub(r'[\\w\\-] [\\w\\-]', text)\n\n return self.parser.parse(text), text",
438+
"def parse(self, text: str) -> tuple[Tree[Token], str]:\n text = re.sub(r'[\\w\\-] [\\w\\-]', dashrepl, )\n\n return self.parser.parse(text), text",
439+
"def parse(self, text: str) -> tuple[Tree[Token], str]:\n text = re.sub(r'XX[\\w\\-] [\\w\\-]XX', dashrepl, text)\n\n return self.parser.parse(text), text",
440+
"def parse(self, text: str) -> tuple[Tree[Token], str]:\n text = re.sub(r'[\\w\\-] [\\w\\-]', dashrepl, text)\n\n return self.parser.parse(text), text",
441+
"def parse(self, text: str) -> tuple[Tree[Token], str]:\n text = re.sub(r'[\\w\\-] [\\w\\-]', dashrepl, text)\n\n return self.parser.parse(text), text",
442+
"def parse(self, text: str) -> tuple[Tree[Token], str]:\n text = re.sub(r'[\\w\\-] [\\w\\-]', dashrepl, text)\n\n return self.parser.parse(None), text"
443+
]
444+
assert sorted(mutants) == sorted(expected)
445+
446+
421447
def test_multiline_dunder_whitelist():
422448
source = """
423449
__all__ = [

0 commit comments

Comments
 (0)