Merge pull request #162 from apache/bugfix/161-Right-to-left-wildcard-matches-too-much
Issue #161: Right to left wildcard matches too much
diff --git a/ruta-core/src/test/java/org/apache/uima/ruta/rule/WildCard2Test.java b/ruta-core/src/test/java/org/apache/uima/ruta/rule/WildCard2Test.java
index 4d81cb6..fe8df75 100644
--- a/ruta-core/src/test/java/org/apache/uima/ruta/rule/WildCard2Test.java
+++ b/ruta-core/src/test/java/org/apache/uima/ruta/rule/WildCard2Test.java
@@ -344,4 +344,24 @@
RutaTestUtils.assertAnnotationsEquals(cas, 2, 1, "Is");
}
+ @Test
+ public void testRightToLeft() throws Exception {
+ String document = "some Text with CAP";
+ String script = "";
+ script += "(ANY{-PARTOF(SW)-> T1} # @CAP){->T2};\n";
+ script += "(ANY{-PARTOF(CW)-> T3} # @CAP){->T4};\n";
+
+ CAS cas = RutaTestUtils.getCAS(document);
+ Ruta.apply(cas, script);
+
+ if (RutaTestUtils.DEBUG_MODE) {
+ RutaTestUtils.storeCas(cas, "testRightToLeft");
+ }
+
+ RutaTestUtils.assertAnnotationsEquals(cas, 1, 1, "Text");
+ RutaTestUtils.assertAnnotationsEquals(cas, 2, 1, "Text with CAP");
+ RutaTestUtils.assertAnnotationsEquals(cas, 3, 1, "with");
+ RutaTestUtils.assertAnnotationsEquals(cas, 4, 1, "with CAP");
+ }
+
}