summaryrefslogtreecommitdiff
path: root/ext/pcre/tests/preg_match_all_basic.phpt
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2013-03-14 05:42:27 +0000
committer <>2013-04-03 16:25:08 +0000
commitc4dd7a1a684490673e25aaf4fabec5df138854c4 (patch)
tree4d57c44caae4480efff02b90b9be86f44bf25409 /ext/pcre/tests/preg_match_all_basic.phpt
downloadphp2-master.tar.gz
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/pcre/tests/preg_match_all_basic.phpt')
-rw-r--r--ext/pcre/tests/preg_match_all_basic.phpt92
1 files changed, 92 insertions, 0 deletions
diff --git a/ext/pcre/tests/preg_match_all_basic.phpt b/ext/pcre/tests/preg_match_all_basic.phpt
new file mode 100644
index 0000000..20c4a96
--- /dev/null
+++ b/ext/pcre/tests/preg_match_all_basic.phpt
@@ -0,0 +1,92 @@
+--TEST--
+Test preg_match_all() function : basic functionality
+--FILE--
+<?php
+/*
+* proto int preg_match_all(string pattern, string subject, [array subpatterns [, int flags [, int offset]]])
+* Function is implemented in ext/pcre/php_pcre.c
+*/
+$string = 'Hello, world! This is a test. This is another test. \[4]. 34534 string.';
+var_dump(preg_match_all('/[0-35-9]/', $string, $match1, PREG_OFFSET_CAPTURE|PREG_PATTERN_ORDER, -10)); //finds any digit that's not 4 10 digits from the end(1 match)
+var_dump($match1);
+var_dump(preg_match_all('/[tT]his is a(.*?)\./', $string, $match2, PREG_SET_ORDER)); //finds "This is a test." and "This is another test." (non-greedy) (2 matches)
+var_dump($match2);
+var_dump(preg_match_all('@\. \\\(.*).@', $string, $match3, PREG_PATTERN_ORDER)); //finds ".\ [...]" and everything else to the end of the string. (greedy) (1 match)
+var_dump($match3);
+var_dump(preg_match_all('/\d{2}$/', $string, $match4)); //tries to find 2 digits at the end of a string (0 matches)
+var_dump($match4);
+var_dump(preg_match_all('/(This is a ){2}(.*)\stest/', $string, $match5)); //tries to find "This is aThis is a [...] test" (0 matches)
+var_dump($match5);
+
+// Test not passing in a subpatterns array.
+var_dump(preg_match_all('/test/', $string));
+var_dump(preg_match_all('/this isn\'t in the string/', $string));
+var_dump(preg_match_all('/world/', $string));
+var_dump(preg_match_all('/[0-9]/', $string));
+?>
+--EXPECTF--
+int(1)
+array(1) {
+ [0]=>
+ array(1) {
+ [0]=>
+ array(2) {
+ [0]=>
+ string(1) "3"
+ [1]=>
+ int(61)
+ }
+ }
+}
+int(2)
+array(2) {
+ [0]=>
+ array(2) {
+ [0]=>
+ string(15) "This is a test."
+ [1]=>
+ string(5) " test"
+ }
+ [1]=>
+ array(2) {
+ [0]=>
+ string(21) "This is another test."
+ [1]=>
+ string(11) "nother test"
+ }
+}
+int(1)
+array(2) {
+ [0]=>
+ array(1) {
+ [0]=>
+ string(21) ". \[4]. 34534 string."
+ }
+ [1]=>
+ array(1) {
+ [0]=>
+ string(17) "[4]. 34534 string"
+ }
+}
+int(0)
+array(1) {
+ [0]=>
+ array(0) {
+ }
+}
+int(0)
+array(3) {
+ [0]=>
+ array(0) {
+ }
+ [1]=>
+ array(0) {
+ }
+ [2]=>
+ array(0) {
+ }
+}
+int(2)
+int(0)
+int(1)
+int(6)