summaryrefslogtreecommitdiff
path: root/ext/pcre/tests/study.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/pcre/tests/study.phpt')
-rw-r--r--ext/pcre/tests/study.phpt31
1 files changed, 31 insertions, 0 deletions
diff --git a/ext/pcre/tests/study.phpt b/ext/pcre/tests/study.phpt
new file mode 100644
index 0000000..696a4c0
--- /dev/null
+++ b/ext/pcre/tests/study.phpt
@@ -0,0 +1,31 @@
+--TEST--
+Study regex
+--FILE--
+<?php
+
+var_dump(preg_match('/(?:(?:(?:(?:(?:(.))))))/ S', 'aeiou', $dump));
+var_dump($dump[1]);
+var_dump(preg_match('/(?:(?:(?:(?:(?:(.))))))/', 'aeiou', $dump));
+var_dump($dump[1]);
+
+var_dump(preg_match('/(?>..)((?:(?>.)|.|.|.|u))/S', 'aeiou', $dump));
+var_dump($dump[1]);
+
+// try to trigger usual "match known text" optimization
+var_dump(preg_match('/^aeiou$/S', 'aeiou', $dump));
+var_dump($dump[0]);
+var_dump(preg_match('/aeiou/S', 'aeiou', $dump));
+var_dump($dump[0]);
+
+?>
+--EXPECT--
+int(1)
+string(1) "a"
+int(1)
+string(1) "a"
+int(1)
+string(1) "i"
+int(1)
+string(5) "aeiou"
+int(1)
+string(5) "aeiou"