diff options
author | Nuno Lopes <nlopess@php.net> | 2007-06-15 11:57:08 +0000 |
---|---|---|
committer | Nuno Lopes <nlopess@php.net> | 2007-06-15 11:57:08 +0000 |
commit | 17db5db75992b14f8f7b4cfb2ac740d402c9619a (patch) | |
tree | 90333378c1343ec4924247a6250f3bcab1982ab6 | |
parent | e1f08c829781a4eae7dbed6977fd1fcd9a5090fc (diff) | |
download | php-git-17db5db75992b14f8f7b4cfb2ac740d402c9619a.tar.gz |
add tests for pcre 7.0 regression
update to pcre 7.2 will follow soon
-rw-r--r-- | ext/pcre/tests/bug41050.phpt | 26 | ||||
-rw-r--r-- | ext/pcre/tests/bug41148.phpt | 50 | ||||
-rw-r--r-- | ext/pcre/tests/bug41638.phpt | 82 |
3 files changed, 158 insertions, 0 deletions
diff --git a/ext/pcre/tests/bug41050.phpt b/ext/pcre/tests/bug41050.phpt new file mode 100644 index 0000000000..ff58e111ff --- /dev/null +++ b/ext/pcre/tests/bug41050.phpt @@ -0,0 +1,26 @@ +--TEST-- +Bug #41050 (pcre 7.0 regression) +--FILE-- +<?php +// by legolas558 + +$regex = '/(insert|drop|create|select|delete|update)([^;\']*('."('[^']*')+".')?)*(;|$)/i'; + +$sql = 'SELECT * FROM #__components'; + +if (preg_match($regex,$sql, $m)) echo 'matched'; +else echo 'not matched'; + +print_r($m); + +?> +--EXPECT-- +matchedArray +( + [0] => SELECT * FROM #__components + [1] => SELECT + [2] => + [3] => + [4] => + [5] => +) diff --git a/ext/pcre/tests/bug41148.phpt b/ext/pcre/tests/bug41148.phpt new file mode 100644 index 0000000000..f0a7937dfb --- /dev/null +++ b/ext/pcre/tests/bug41148.phpt @@ -0,0 +1,50 @@ +--TEST-- +Bug #41148 (pcre 7.0 regression) +--FILE-- +<?php + + $letexte="<br><br>"; + $ligne_horizontale = $puce = $debut_intertitre = $fin_intertitre = ''; + + $cherche1 = array( + /* 0 */ "/\n(----+|____+)/S", + /* 1 */ "/\n-- */S", + /* 2 */ "/\n- */S", + /* 3 */ "/\n_ +/S", + /* 4 */ "/(^|[^{])[{][{][{]/S", + /* 5 */ "/[}][}][}]($|[^}])/S", + /* 6 */ "/(( *)\n){2,}(<br[[:space:]]*\/?".">)?/S", + /* 7 */ "/[{][{]/S", + /* 8 */ "/[}][}]/S", + /* 9 */ "/[{]/S", + /* 10 */ "/[}]/S", + /* 11 */ "/(<br[[:space:]]*\/?".">){2,}/S", + /* 12 */ "/<p>([\n]*(<br[[:space:]]*\/?".">)*)*/S", + /* 13 */ "/<quote>/S", + /* 14 */ "/<\/quote>/S" + ); + $remplace1 = array( + /* 0 */ "\n\n$ligne_horizontale\n\n", + /* 1 */ "\n<br />— ", + /* 2 */ "\n<br />$puce ", + /* 3 */ "\n<br />", + /* 4 */ "\$1\n\n$debut_intertitre", + /* 5 */ "$fin_intertitre\n\n\$1", + /* 6 */ "<p>", + /* 7 */ "<strong class=\"spip\">", + /* 8 */ "</strong>", + /* 9 */ "<i class=\"spip\">", + /* 10 */ "</i>", + /* 11 */ "<p>", + /* 12 */ "<p>", + /* 13 */ "<blockquote class=\"spip\"><p>", + /* 14 */ "</blockquote><p>" + ); + $letexte = preg_replace($cherche1, $remplace1, $letexte); + $letexte = preg_replace("@^ <br />@S", "", $letexte); + + print $letexte; + +?> +--EXPECT-- +<p> diff --git a/ext/pcre/tests/bug41638.phpt b/ext/pcre/tests/bug41638.phpt new file mode 100644 index 0000000000..8c907f9903 --- /dev/null +++ b/ext/pcre/tests/bug41638.phpt @@ -0,0 +1,82 @@ +--TEST-- +Bug #41638 (pcre 7.0 regression) +--FILE-- +<?php +$str = "repeater id='loopt' dataSrc=subject colums=2"; + +preg_match_all("/(['\"])((.*(\\\\\\1)*)*)\\1/sU",$str,$str_instead); +print_r($str_instead); + +// these two are from Magnus Holmgren (extracted from a pcre-dev mailing list post) +preg_match_all("/(['\"])((?:\\\\\\1|.)*)\\1/sU", $str, $str_instead); +print_r($str_instead); + +preg_match_all("/(['\"])(.*)(?<!\\\\)\\1/sU", $str, $str_instead); +print_r($str_instead); + +?> +--EXPECT-- +Array +( + [0] => Array + ( + [0] => 'loopt' + ) + + [1] => Array + ( + [0] => ' + ) + + [2] => Array + ( + [0] => loopt + ) + + [3] => Array + ( + [0] => t + ) + + [4] => Array + ( + [0] => + ) + +) +Array +( + [0] => Array + ( + [0] => 'loopt' + ) + + [1] => Array + ( + [0] => ' + ) + + [2] => Array + ( + [0] => loopt + ) + +) +Array +( + [0] => Array + ( + [0] => 'loopt' + ) + + [1] => Array + ( + [0] => ' + ) + + [2] => Array + ( + [0] => loopt + ) + +) |