mirror of
https://github.com/php/php-src.git
synced 2025-01-22 03:34:19 +08:00
add tests for pcre 7.0 regression
update to pcre 7.2 will follow soon
This commit is contained in:
parent
e1f08c8297
commit
17db5db759
26
ext/pcre/tests/bug41050.phpt
Normal file
26
ext/pcre/tests/bug41050.phpt
Normal file
@ -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] =>
|
||||
)
|
50
ext/pcre/tests/bug41148.phpt
Normal file
50
ext/pcre/tests/bug41148.phpt
Normal file
@ -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>
|
82
ext/pcre/tests/bug41638.phpt
Normal file
82
ext/pcre/tests/bug41638.phpt
Normal file
@ -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
|
||||
)
|
||||
|
||||
)
|
Loading…
Reference in New Issue
Block a user