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" } } [
{ 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