]> gitweb.factorcode.org Git - factor.git/commitdiff
pcre.tests: fix tcs that breaks on pcre 8.39
authorBjörn Lindqvist <bjourne@gmail.com>
Fri, 19 Aug 2016 15:32:45 +0000 (17:32 +0200)
committerBjörn Lindqvist <bjourne@gmail.com>
Fri, 19 Aug 2016 16:44:32 +0000 (18:44 +0200)
extra/pcre/pcre-tests.factor

index 033acd7331b097e64341788cd57ccd64336c9dc7..6582a714246971664aacf5e3a354cb4cf2bcd84b 100644 (file)
@@ -1,7 +1,8 @@
 USING: accessors arrays assocs continuations http.client kernel
-literals math.ranges pcre pcre.ffi pcre.private random sequences
-system tools.test ;
+literals math math.parser math.ranges pcre pcre.ffi pcre.private
+random sequences system tools.test ;
 QUALIFIED: regexp
+QUALIFIED: splitting
 IN: pcre.tests
 
 { { "Bords" "words" "word" } } [
@@ -102,16 +103,29 @@ os unix? [ [ 10 ] [ PCRE_CONFIG_NEWLINE pcre-config ] unit-test ] when
 
 { t } [ "abcö" "\\p{Ll}{4}" matches? ] unit-test
 
-! Dotall mode, off by default
-{ f } [ "." <compiled-pcre> PCRE_DOTALL has-option? ] unit-test
-{ t } [ "(?s)." <compiled-pcre> PCRE_DOTALL has-option? ] unit-test
+! This used to work in 8.36, but might have changed in later versions.
+! See: https://bugs.exim.org/show_bug.cgi?id=1875
+pcre_version " " splitting:split1 drop string>number 8.36 <= [
+    { t t } [
+        "(?s)." <compiled-pcre> PCRE_DOTALL has-option?
+        "(?i)x" <compiled-pcre> PCRE_CASELESS has-option?
+    ] unit-test
+] when
 
 { f } [ "\n" "." matches? ] unit-test
 { t } [ "\n" "(?s)." matches? ] unit-test
 
-! Caseless mode, off by default
-{ { f t } } [
-    { "x" "(?i)x" } [ <compiled-pcre> PCRE_CASELESS has-option? ] map
+{ f t } [
+    "hello\nthere" "^.*$" <compiled-pcre> matches?
+    "hello\nthere" "(?s)^.*$" <compiled-pcre> matches?
+] unit-test
+
+! Modes off by default
+{ f f } [
+    ! Caseless mode
+    "x" <compiled-pcre> PCRE_CASELESS has-option?
+    ! Dotall mode
+    "." <compiled-pcre> PCRE_DOTALL has-option?
 ] unit-test
 
 ! Backreferences