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");

+  }

+

 }