nlopess         Tue Jun 13 22:05:26 2006 UTC

  Modified files:              
    /php-src/ext/pcre/tests     backtrack_limit.phpt cache_limit.phpt 
                                delimiters.phpt grep.phpt locales.phpt 
                                multiline.phpt recursion_limit.phpt 
                                study.phpt 
  Log:
  MFB
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/pcre/tests/backtrack_limit.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/pcre/tests/backtrack_limit.phpt
diff -u /dev/null php-src/ext/pcre/tests/backtrack_limit.phpt:1.2
--- /dev/null   Tue Jun 13 22:05:26 2006
+++ php-src/ext/pcre/tests/backtrack_limit.phpt Tue Jun 13 22:05:26 2006
@@ -0,0 +1,19 @@
+--TEST--
+Backtracking limit
+--INI--
+pcre.backtrack_limit=2
+--FILE--
+<?php
+
+var_dump(preg_match_all('/.*\p{N}/', '0123456789', $dummy));
+var_dump(preg_last_error() === PREG_BACKTRACK_LIMIT_ERROR);
+
+var_dump(preg_match_all('/\p{Nd}/', '0123456789', $dummy));
+var_dump(preg_last_error() === PREG_NO_ERROR);
+
+?>
+--EXPECT--
+int(0)
+bool(true)
+int(10)
+bool(true)
http://cvs.php.net/viewcvs.cgi/php-src/ext/pcre/tests/cache_limit.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/pcre/tests/cache_limit.phpt
diff -u /dev/null php-src/ext/pcre/tests/cache_limit.phpt:1.2
--- /dev/null   Tue Jun 13 22:05:26 2006
+++ php-src/ext/pcre/tests/cache_limit.phpt     Tue Jun 13 22:05:26 2006
@@ -0,0 +1,25 @@
+--TEST--
+Compiled regex cache limit
+--FILE--
+<?php
+define('PREG_CACHE_SIZE', 4096+1);
+
+$re = '';
+$str = str_repeat('x', PREG_CACHE_SIZE);
+
+for ($i=0; $i < PREG_CACHE_SIZE; ++$i) {
+       $re .= '.';
+       if (!preg_match("/$re/", $str)) {
+               die('non match. error');
+       }
+}
+
+var_dump(preg_match('/./', $str));   // this one was already deleted from the 
cache
+var_dump(preg_match("/$re/", $str)); // but not this one
+
+echo "done\n";
+?>
+--EXPECT--
+int(1)
+int(1)
+done
http://cvs.php.net/viewcvs.cgi/php-src/ext/pcre/tests/delimiters.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/pcre/tests/delimiters.phpt
diff -u /dev/null php-src/ext/pcre/tests/delimiters.phpt:1.2
--- /dev/null   Tue Jun 13 22:05:26 2006
+++ php-src/ext/pcre/tests/delimiters.phpt      Tue Jun 13 22:05:26 2006
@@ -0,0 +1,33 @@
+--TEST--
+Delimiters crash test
+--FILE--
+<?php
+
+var_dump(preg_match('', ''));
+var_dump(preg_match('      ', ''));
+var_dump(preg_match('@@', ''));
+var_dump(preg_match('12', ''));
+var_dump(preg_match('<>', ''));
+var_dump(preg_match('~a', ''));
+var_dump(preg_match('@[EMAIL PROTECTED]@@', '@@'));
+var_dump(preg_match('//z', '@@'));
+
+?>
+--EXPECTF--
+Warning: preg_match(): Empty regular expression in %sdelimiters.php on line 3
+bool(false)
+
+Warning: preg_match(): Empty regular expression in %sdelimiters.php on line 4
+bool(false)
+int(1)
+
+Warning: preg_match(): Delimiter must not be alphanumeric or backslash in 
%sdelimiters.php on line 6
+bool(false)
+int(1)
+
+Warning: preg_match(): No ending delimiter '~' found in %sdelimiters.php on 
line 8
+bool(false)
+int(1)
+
+Warning: preg_match(): Unknown modifier 'z' in %sdelimiters.php on line 10
+bool(false)
http://cvs.php.net/viewcvs.cgi/php-src/ext/pcre/tests/grep.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/pcre/tests/grep.phpt
diff -u /dev/null php-src/ext/pcre/tests/grep.phpt:1.2
--- /dev/null   Tue Jun 13 22:05:26 2006
+++ php-src/ext/pcre/tests/grep.phpt    Tue Jun 13 22:05:26 2006
@@ -0,0 +1,23 @@
+--TEST--
+preg_grep()
+--FILE--
+<?php
+$array = array('a', '1', 'q6', 'h20');
+
+var_dump(preg_grep('/^(\d|.\d)$/', $array));
+var_dump(preg_grep('/^(\d|.\d)$/', $array, PREG_GREP_INVERT));
+
+?>
+--EXPECT--
+array(2) {
+  [1]=>
+  string(1) "1"
+  [2]=>
+  string(2) "q6"
+}
+array(2) {
+  [0]=>
+  string(1) "a"
+  [3]=>
+  string(3) "h20"
+}
http://cvs.php.net/viewcvs.cgi/php-src/ext/pcre/tests/locales.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/pcre/tests/locales.phpt
diff -u /dev/null php-src/ext/pcre/tests/locales.phpt:1.2
--- /dev/null   Tue Jun 13 22:05:26 2006
+++ php-src/ext/pcre/tests/locales.phpt Tue Jun 13 22:05:26 2006
@@ -0,0 +1,24 @@
+--TEST--
+Localized match
+--SKIPIF--
+<?php if (!function_exists('setlocale')) die('setlocale() not available'); ?>
+--FILE--
+<?php
+
+// this tests if the cache is working correctly, as the char tables
+// must be rebuilt after the locale change
+
+setlocale(LC_ALL, 'C', 'POSIX');
+var_dump(preg_match('/^\w{6}$/', 'aàáçéè'));
+
+setlocale(LC_ALL, 'pt_PT', 'pt', 'portuguese');
+var_dump(preg_match('/^\w{6}$/', 'aàáçéè'));
+
+setlocale(LC_ALL, 'C', 'POSIX');
+var_dump(preg_match('/^\w{6}$/', 'aàáçéè'));
+
+?>
+--EXPECT--
+int(0)
+int(1)
+int(0)
http://cvs.php.net/viewcvs.cgi/php-src/ext/pcre/tests/multiline.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/pcre/tests/multiline.phpt
diff -u /dev/null php-src/ext/pcre/tests/multiline.phpt:1.2
--- /dev/null   Tue Jun 13 22:05:26 2006
+++ php-src/ext/pcre/tests/multiline.phpt       Tue Jun 13 22:05:26 2006
@@ -0,0 +1,18 @@
+--TEST--
+Multi-line match
+--FILE--
+<?php
+
+var_dump(preg_match_all('/^.{2,3}$/', "aei\nou", $dummy));
+var_dump(preg_match_all('/^.{2,3}$/', "aei\nou\n", $dummy));
+var_dump(preg_match_all('/^.{2,3}$/m', "aei\nou", $dummy));
+var_dump(preg_match_all('/^.{2,3}$/m', "aei\nou\n", $dummy));
+
+echo "done\n";
+?>
+--EXPECT--
+int(0)
+int(0)
+int(2)
+int(2)
+done
http://cvs.php.net/viewcvs.cgi/php-src/ext/pcre/tests/recursion_limit.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/pcre/tests/recursion_limit.phpt
diff -u /dev/null php-src/ext/pcre/tests/recursion_limit.phpt:1.2
--- /dev/null   Tue Jun 13 22:05:26 2006
+++ php-src/ext/pcre/tests/recursion_limit.phpt Tue Jun 13 22:05:26 2006
@@ -0,0 +1,19 @@
+--TEST--
+PCRE Recursion limit
+--INI--
+pcre.recursion_limit=2
+--FILE--
+<?php
+
+var_dump(preg_match_all('/\p{Ll}(\p{L}((\p{Ll}\p{Ll})))/', 'aeiou', $dummy));
+var_dump(preg_last_error() === PREG_RECURSION_LIMIT_ERROR);
+
+var_dump(preg_match_all('/\p{Ll}\p{L}\p{Ll}\p{Ll}/', 'aeiou', $dummy));
+var_dump(preg_last_error() === PREG_NO_ERROR);
+
+?>
+--EXPECT--
+int(0)
+bool(true)
+int(1)
+bool(true)
http://cvs.php.net/viewcvs.cgi/php-src/ext/pcre/tests/study.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/pcre/tests/study.phpt
diff -u /dev/null php-src/ext/pcre/tests/study.phpt:1.2
--- /dev/null   Tue Jun 13 22:05:26 2006
+++ php-src/ext/pcre/tests/study.phpt   Tue Jun 13 22:05:26 2006
@@ -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"

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to