diff --git a/spacy/tests/regression/test_issue3951.py b/spacy/tests/regression/test_issue3951.py new file mode 100644 index 000000000..f9912c494 --- /dev/null +++ b/spacy/tests/regression/test_issue3951.py @@ -0,0 +1,22 @@ +# coding: utf8 +from __future__ import unicode_literals + +import pytest +from spacy.matcher import Matcher +from spacy.tokens import Doc + + +@pytest.mark.xfail +def test_issue3951(en_vocab): + """Test that combinations of optional rules are matched correctly.""" + matcher = Matcher(en_vocab) + pattern = [ + {"LOWER": "hello"}, + {"LOWER": "this", "OP": "?"}, + {"OP": "?"}, + {"LOWER": "world"}, + ] + matcher.add("TEST", None, pattern) + doc = Doc(en_vocab, words=["Hello", "my", "new", "world"]) + matches = matcher(doc) + assert len(matches) == 0