You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by pk...@apache.org on 2022/01/03 09:56:50 UTC

[uima-ruta] branch bugfix/UIMA-6405-Local-variable-not-captured-properly-in-a-wildcard-matching-condition created (now 351ddca)

This is an automated email from the ASF dual-hosted git repository.

pkluegl pushed a change to branch bugfix/UIMA-6405-Local-variable-not-captured-properly-in-a-wildcard-matching-condition
in repository https://gitbox.apache.org/repos/asf/uima-ruta.git.


      at 351ddca  UIMA-6405: Local variable not captured properly in a wildcard matching condition

This branch includes the following new commits:

     new 351ddca  UIMA-6405: Local variable not captured properly in a wildcard matching condition

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[uima-ruta] 01/01: UIMA-6405: Local variable not captured properly in a wildcard matching condition

Posted by pk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pkluegl pushed a commit to branch bugfix/UIMA-6405-Local-variable-not-captured-properly-in-a-wildcard-matching-condition
in repository https://gitbox.apache.org/repos/asf/uima-ruta.git

commit 351ddcafb4b8c5b903d7acc107169e358139a793
Author: Peter Klügl <pe...@averbis.com>
AuthorDate: Mon Jan 3 10:56:29 2022 +0100

    UIMA-6405: Local variable not captured properly in a wildcard matching condition
    
    - added test
---
 .../org/apache/uima/ruta/rule/WildCard2Test.java   | 33 ++++++++++++++++++----
 1 file changed, 28 insertions(+), 5 deletions(-)

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 38dabdf..af6f5b4 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
@@ -275,13 +275,12 @@ public class WildCard2Test {
   public void testLabelForFailedLookahead() throws Exception {
     String document = "A x B x C x D";
     String script = "(w1:CW{REGEXP(\"A\")} # w2:CW{REGEXP(\"C\")})->{w1{->T1};};";
-	
-	CAS cas = RutaTestUtils.getCAS(document, null, null, false);
+
+    CAS cas = RutaTestUtils.getCAS(document, null, null, false);
     Ruta.apply(cas, script);
-	
-	RutaTestUtils.assertAnnotationsEquals(cas, 1, 1, "A");
-  }
 
+    RutaTestUtils.assertAnnotationsEquals(cas, 1, 1, "A");
+  }
 
   @Test
   public void testLastElementAlsoAnnotatedWithLookahead() throws Exception {
@@ -297,4 +296,28 @@ public class WildCard2Test {
     RutaTestUtils.assertAnnotationsEquals(cas, 4, 2, "c", "c");
   }
 
+  @Test
+  public void testLookaheadWithFeatureMatch() throws Exception {
+    String document = "a 2 b 3 c 4 d";
+    String script = "";
+    script += "\"2\"{->s:Struct,s.s=\"x\"};\n";
+    script += "\"3\"{->s:Struct};\n";
+    script += "\"4\"{->s:Struct,s.s=\"y\"};\n";
+    script += "s1:Struct.s==\"x\" # s2:Struct.s==\"y\"{->s2.s=s1.s, T1};\n";
+    script += "s:Struct.s==\"x\"{->T2};\n";
+
+    Map<String, String> complexType = new HashMap<>();
+    complexType.put("Struct", CAS.TYPE_NAME_ANNOTATION);
+    Map<String, List<TestFeature>> featureMap = new HashMap<>();
+    List<TestFeature> list = new ArrayList<>();
+    list.add(new TestFeature("s", "", CAS.TYPE_NAME_STRING));
+    featureMap.put("Struct", list);
+
+    CAS cas = RutaTestUtils.getCAS(document, complexType, featureMap);
+    Ruta.apply(cas, script);
+
+    RutaTestUtils.assertAnnotationsEquals(cas, 1, 1, "4");
+    RutaTestUtils.assertAnnotationsEquals(cas, 2, 2, "2", "4");
+  }
+
 }