From 57801820f5f306e45722c45798ef8dad72cd9ad1 Mon Sep 17 00:00:00 2001 From: Nuno Lopes Date: Mon, 3 Jul 2006 14:55:49 +0000 Subject: [PATCH] MFB --- ext/pcre/tests/locales.phpt | 3 +- ext/pcre/tests/match_flags3.phpt | 45 ++++++++++++++++++++++ ext/pcre/tests/preg_replace.phpt | 35 +++++++++++++++++ ext/pcre/tests/preg_replace_callback.phpt | 25 ++++++++++++ ext/pcre/tests/preg_replace_callback2.phpt | 40 +++++++++++++++++++ 5 files changed, 147 insertions(+), 1 deletion(-) create mode 100644 ext/pcre/tests/match_flags3.phpt create mode 100644 ext/pcre/tests/preg_replace.phpt create mode 100644 ext/pcre/tests/preg_replace_callback.phpt create mode 100644 ext/pcre/tests/preg_replace_callback2.phpt diff --git a/ext/pcre/tests/locales.phpt b/ext/pcre/tests/locales.phpt index cb3028e2b5a..00dc91a0fd3 100644 --- a/ext/pcre/tests/locales.phpt +++ b/ext/pcre/tests/locales.phpt @@ -2,10 +2,11 @@ Localized match --SKIPIF-- +)/', '')); + +?> +--EXPECTF-- +Warning: Wrong value for parameter 4 in call to preg_match() in %smatch_flags3.php on line 3 +NULL +int(1) +array(1) { + [0]=> + string(3) "789" +} +int(1) +array(1) { + [0]=> + string(3) "123" +} +int(2) +array(1) { + [0]=> + array(2) { + [0]=> + string(3) "789" + [1]=> + string(3) "012" + } +} + +Warning: preg_match: numeric named subpatterns are not allowed in %smatch_flags3.php on line 14 +bool(false) diff --git a/ext/pcre/tests/preg_replace.phpt b/ext/pcre/tests/preg_replace.phpt new file mode 100644 index 00000000000..2254e26a839 --- /dev/null +++ b/ext/pcre/tests/preg_replace.phpt @@ -0,0 +1,35 @@ +--TEST-- +preg_replace() +--FILE-- + +--EXPECTF-- +string(1) "x" +string(4) "abcd" +string(8) "zaab2k3l" + +Warning: preg_replace_callback(): requires argument 2, '', to be a valid callback in %spreg_replace.php on line 8 +string(0) "" + +Warning: preg_replace_callback(): /e modifier cannot be used with replacement callback in %spreg_replace.php on line 10 +NULL +--EXPECTUF-- +string(1) "x" +string(4) "abcd" +string(8) "zaab2k3l" + +Warning: preg_replace_callback(): requires argument 2, '', to be a valid callback in %spreg_replace.php on line 8 +unicode(0) "" + +Warning: preg_replace_callback(): /e modifier cannot be used with replacement callback in %spreg_replace.php on line 10 +NULL diff --git a/ext/pcre/tests/preg_replace_callback.phpt b/ext/pcre/tests/preg_replace_callback.phpt new file mode 100644 index 00000000000..0b0bc27576e --- /dev/null +++ b/ext/pcre/tests/preg_replace_callback.phpt @@ -0,0 +1,25 @@ +--TEST-- +preg_replace_callback() +--FILE-- +'.$input[1].''; + } + + return preg_replace_callback($regex, 'parseTagsRecursive', $input); +} + +$output = parseTagsRecursive($input); + +echo $output, "\n"; + +?> +--EXPECT-- +plain
deep
[abcd]deeper[/abcd]
deep
plain diff --git a/ext/pcre/tests/preg_replace_callback2.phpt b/ext/pcre/tests/preg_replace_callback2.phpt new file mode 100644 index 00000000000..65f23ca6cb8 --- /dev/null +++ b/ext/pcre/tests/preg_replace_callback2.phpt @@ -0,0 +1,40 @@ +--TEST-- +preg_replace_callback() 2 +--FILE-- + 'aksfjk', 12 => 'aa bb'))); + +var_dump(preg_replace_callback('~\A.~', 'g', array(array('xyz')))); + +var_dump(preg_replace_callback('~\A.~', create_function('$m', 'return strtolower($m[0]);'), 'ABC')); +?> +--EXPECTF-- +Warning: preg_replace_callback(): Unable to call custom replacement function ins %preg_replace_callback2.php on line 8 +array(3) { + [0]=> + string(12) "'a' 'b3' bcd" + ["v"]=> + string(6) "aksfjk" + [12]=> + string(9) "'aa' 'bb'" +} + +Notice: Array to string conversion in %spreg_replace_callback2.php on line 17 +array(1) { + [0]=> + string(7) "'A'rray" +} +string(3) "aBC"