[jruby-joni] 18/31: more validation tests

Hideki Yamane henrich at moszumanska.debian.org
Sat Feb 24 10:44:59 UTC 2018


This is an automated email from the git hooks/post-receive script.

henrich pushed a commit to branch debian/sid
in repository jruby-joni.

commit e9e7a3ff17ace272b8b6a654c15c133b674b2e89
Author: Marcin Mielzynski <lopx at gazeta.pl>
Date:   Fri Feb 2 18:10:56 2018 +0100

    more validation tests
---
 test/org/joni/test/Test.java      |  5 +++++
 test/org/joni/test/TestError.java | 24 +++++++++++++++++++++---
 2 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/test/org/joni/test/Test.java b/test/org/joni/test/Test.java
index fe90317..531d513 100644
--- a/test/org/joni/test/Test.java
+++ b/test/org/joni/test/Test.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.assertEquals;
 import java.io.UnsupportedEncodingException;
 
 import org.jcodings.Encoding;
+import org.jcodings.exception.CharacterPropertyException;
 import org.joni.Config;
 import org.joni.Matcher;
 import org.joni.Option;
@@ -87,6 +88,10 @@ public abstract class Test {
         } catch (JOniException je) {
             nsucc++;
             assertEquals(je.getMessage(), msg);
+        } catch (CharacterPropertyException cpe) {
+            nsucc++;
+            assertEquals(cpe.getMessage(), msg);
+
         }
     }
 
diff --git a/test/org/joni/test/TestError.java b/test/org/joni/test/TestError.java
index 2d614ce..9d681ee 100755
--- a/test/org/joni/test/TestError.java
+++ b/test/org/joni/test/TestError.java
@@ -19,11 +19,11 @@
  */
 package org.joni.test;
 
+import org.jcodings.Encoding;
+import org.jcodings.specific.UTF8Encoding;
 import org.joni.Option;
 import org.joni.Syntax;
 import org.joni.exception.ErrorMessages;
-import org.jcodings.Encoding;
-import org.jcodings.specific.ASCIIEncoding;
 
 public class TestError extends Test {
     @Override
@@ -33,7 +33,7 @@ public class TestError extends Test {
 
     @Override
     public Encoding encoding() {
-        return ASCIIEncoding.INSTANCE;
+        return UTF8Encoding.INSTANCE;
     }
 
     @Override
@@ -62,5 +62,23 @@ public class TestError extends Test {
 	    xerrs("\\((", ErrorMessages.ERR_END_PATTERN_WITH_UNMATCHED_PARENTHESIS);
 	    xerrs("(|", ErrorMessages.ERR_END_PATTERN_WITH_UNMATCHED_PARENTHESIS);
 	    xerrs("'/g\\\u00ff\u00ff\u00ff\u00ff&))", ErrorMessages.ERR_UNMATCHED_CLOSE_PARENTHESIS);
+	    xerrs("[0-0-\u00ff  ", ErrorMessages.ERR_PREMATURE_END_OF_CHAR_CLASS); // \xe2
+	    xerrs("\\p{foobarbaz}", ErrorMessages.ERR_INVALID_CHAR_PROPERTY_NAME.replace("%n", "foobarbaz"));
+	    //xerrs("\\p{あ}", ErrorMessages.ERR_INVALID_CHAR_PROPERTY_NAME.replace("%n", "あ"));
+
+	    xerrs("a{100001}", ErrorMessages.ERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE);
+	    xerrs("a{0,100001}", ErrorMessages.ERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE);
+	    xerrs("a{5,1}", ErrorMessages.ERR_UPPER_SMALLER_THAN_LOWER_IN_REPEAT_RANGE);
+	    xerrs("[\\6000", ErrorMessages.ERR_TOO_BIG_NUMBER); // CVE-2017-9226
+	    xerrs("[\\H- ]", ErrorMessages.ERR_UNMATCHED_RANGE_SPECIFIER_IN_CHAR_CLASS); // CVE-2017-9228
+
+	    xerrs("(?:ab|cd)*\\1", ErrorMessages.ERR_INVALID_BACKREF);
+
+	    xerrs("(.(?=\\g<1>))", ErrorMessages.ERR_NEVER_ENDING_RECURSION);
+	    xerrs("(a)(?<n>b)\\g<1>\\g<n>", ErrorMessages.ERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED);
+
+	    // xerrs("(?<", ErrorMessages.ERR_END_PATTERN_WITH_UNMATCHED_PARENTHESIS);
+	    xerrs("(?<>)", ErrorMessages.ERR_EMPTY_GROUP_NAME);
+	    // xerrs("(?<.>)", ErrorMessages.ERR_INVALID_CHAR_IN_GROUP_NAME);
     }
 }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jruby-joni.git



More information about the pkg-java-commits mailing list