diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-03-14 05:42:27 +0000 |
---|---|---|
committer | <> | 2013-04-03 16:25:08 +0000 |
commit | c4dd7a1a684490673e25aaf4fabec5df138854c4 (patch) | |
tree | 4d57c44caae4480efff02b90b9be86f44bf25409 /ext/pcre/tests/004.phpt | |
download | php2-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/004.phpt')
-rw-r--r-- | ext/pcre/tests/004.phpt | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/ext/pcre/tests/004.phpt b/ext/pcre/tests/004.phpt new file mode 100644 index 0000000..b1e9586 --- /dev/null +++ b/ext/pcre/tests/004.phpt @@ -0,0 +1,149 @@ +--TEST-- +abusing pcre +--FILE-- +<?php + +var_dump(preg_match_all('/((?:(?:unsigned|struct)\s+)?\w+)(?:\s*(\*+)\s+|\s+(\**))(\w+(?:\[\s*\w*\s*\])?)\s*(?:(=)[^,;]+)?((?:\s*,\s*\**\s*\w+(?:\[\s*\w*\s*\])?\s*(?:=[^,;]+)?)*)\s*;/S', 'unsigned int xpto = 124; short a, b;', $m, PREG_SET_ORDER)); +var_dump($m); + +var_dump(preg_match_all('/(?:\([^)]+\))?(&?)([\w>.()-]+(?:\[\w+\])?)\s*,?((?:\)*\s*=)?)/S', '&a, b, &c', $m, PREG_SET_ORDER)); +var_dump($m); + +var_dump(preg_match_all('/zend_parse_parameters(?:_ex\s*\([^,]+,[^,]+|\s*\([^,]+),\s*"([^"]*)"\s*,\s*([^{;]*)/S', 'zend_parse_parameters( 0, "addd|s/", a, b, &c);', $m, PREG_SET_ORDER | PREG_OFFSET_CAPTURE)); +var_dump($m); + +var_dump(preg_replace(array('@//.*@S', '@/\*.*\*/@SsUe'), array('', 'preg_replace("/[^\r\n]+/S", "", \'$0\')'), "hello\n//x \n/*\ns\n*/")); + +var_dump(preg_split('/PHP_(?:NAMED_)?(?:FUNCTION|METHOD)\s*\((\w+(?:,\s*\w+)?)\)/S', "PHP_FUNCTION(s, preg_match)\n{\nlalala", -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_OFFSET_CAPTURE)); +?> +--EXPECT-- +int(2) +array(2) { + [0]=> + array(7) { + [0]=> + string(24) "unsigned int xpto = 124;" + [1]=> + string(12) "unsigned int" + [2]=> + string(0) "" + [3]=> + string(0) "" + [4]=> + string(4) "xpto" + [5]=> + string(1) "=" + [6]=> + string(0) "" + } + [1]=> + array(7) { + [0]=> + string(11) "short a, b;" + [1]=> + string(5) "short" + [2]=> + string(0) "" + [3]=> + string(0) "" + [4]=> + string(1) "a" + [5]=> + string(0) "" + [6]=> + string(3) ", b" + } +} +int(3) +array(3) { + [0]=> + array(4) { + [0]=> + string(3) "&a," + [1]=> + string(1) "&" + [2]=> + string(1) "a" + [3]=> + string(0) "" + } + [1]=> + array(4) { + [0]=> + string(2) "b," + [1]=> + string(0) "" + [2]=> + string(1) "b" + [3]=> + string(0) "" + } + [2]=> + array(4) { + [0]=> + string(2) "&c" + [1]=> + string(1) "&" + [2]=> + string(1) "c" + [3]=> + string(0) "" + } +} +int(1) +array(1) { + [0]=> + array(3) { + [0]=> + array(2) { + [0]=> + string(46) "zend_parse_parameters( 0, "addd|s/", a, b, &c)" + [1]=> + int(0) + } + [1]=> + array(2) { + [0]=> + string(7) "addd|s/" + [1]=> + int(27) + } + [2]=> + array(2) { + [0]=> + string(9) "a, b, &c)" + [1]=> + int(37) + } + } +} +string(9) "hello + + + +" +array(3) { + [0]=> + array(2) { + [0]=> + string(0) "" + [1]=> + int(0) + } + [1]=> + array(2) { + [0]=> + string(13) "s, preg_match" + [1]=> + int(13) + } + [2]=> + array(2) { + [0]=> + string(9) " +{ +lalala" + [1]=> + int(27) + } +} |