Annotation of embedaddon/php/ext/pcre/tests/004.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: abusing pcre
        !             3: --FILE--
        !             4: <?php
        !             5: 
        !             6: 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));
        !             7: var_dump($m);
        !             8: 
        !             9: var_dump(preg_match_all('/(?:\([^)]+\))?(&?)([\w>.()-]+(?:\[\w+\])?)\s*,?((?:\)*\s*=)?)/S', '&a, b, &c', $m, PREG_SET_ORDER));
        !            10: var_dump($m);
        !            11: 
        !            12: 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));
        !            13: var_dump($m);
        !            14: 
        !            15: var_dump(preg_replace(array('@//.*@S', '@/\*.*\*/@SsUe'), array('', 'preg_replace("/[^\r\n]+/S", "", \'$0\')'), "hello\n//x \n/*\ns\n*/"));
        !            16: 
        !            17: 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));
        !            18: ?>
        !            19: --EXPECT--
        !            20: int(2)
        !            21: array(2) {
        !            22:   [0]=>
        !            23:   array(7) {
        !            24:     [0]=>
        !            25:     string(24) "unsigned int xpto = 124;"
        !            26:     [1]=>
        !            27:     string(12) "unsigned int"
        !            28:     [2]=>
        !            29:     string(0) ""
        !            30:     [3]=>
        !            31:     string(0) ""
        !            32:     [4]=>
        !            33:     string(4) "xpto"
        !            34:     [5]=>
        !            35:     string(1) "="
        !            36:     [6]=>
        !            37:     string(0) ""
        !            38:   }
        !            39:   [1]=>
        !            40:   array(7) {
        !            41:     [0]=>
        !            42:     string(11) "short a, b;"
        !            43:     [1]=>
        !            44:     string(5) "short"
        !            45:     [2]=>
        !            46:     string(0) ""
        !            47:     [3]=>
        !            48:     string(0) ""
        !            49:     [4]=>
        !            50:     string(1) "a"
        !            51:     [5]=>
        !            52:     string(0) ""
        !            53:     [6]=>
        !            54:     string(3) ", b"
        !            55:   }
        !            56: }
        !            57: int(3)
        !            58: array(3) {
        !            59:   [0]=>
        !            60:   array(4) {
        !            61:     [0]=>
        !            62:     string(3) "&a,"
        !            63:     [1]=>
        !            64:     string(1) "&"
        !            65:     [2]=>
        !            66:     string(1) "a"
        !            67:     [3]=>
        !            68:     string(0) ""
        !            69:   }
        !            70:   [1]=>
        !            71:   array(4) {
        !            72:     [0]=>
        !            73:     string(2) "b,"
        !            74:     [1]=>
        !            75:     string(0) ""
        !            76:     [2]=>
        !            77:     string(1) "b"
        !            78:     [3]=>
        !            79:     string(0) ""
        !            80:   }
        !            81:   [2]=>
        !            82:   array(4) {
        !            83:     [0]=>
        !            84:     string(2) "&c"
        !            85:     [1]=>
        !            86:     string(1) "&"
        !            87:     [2]=>
        !            88:     string(1) "c"
        !            89:     [3]=>
        !            90:     string(0) ""
        !            91:   }
        !            92: }
        !            93: int(1)
        !            94: array(1) {
        !            95:   [0]=>
        !            96:   array(3) {
        !            97:     [0]=>
        !            98:     array(2) {
        !            99:       [0]=>
        !           100:       string(46) "zend_parse_parameters( 0, "addd|s/", a, b, &c)"
        !           101:       [1]=>
        !           102:       int(0)
        !           103:     }
        !           104:     [1]=>
        !           105:     array(2) {
        !           106:       [0]=>
        !           107:       string(7) "addd|s/"
        !           108:       [1]=>
        !           109:       int(27)
        !           110:     }
        !           111:     [2]=>
        !           112:     array(2) {
        !           113:       [0]=>
        !           114:       string(9) "a, b, &c)"
        !           115:       [1]=>
        !           116:       int(37)
        !           117:     }
        !           118:   }
        !           119: }
        !           120: string(9) "hello
        !           121: 
        !           122: 
        !           123: 
        !           124: "
        !           125: array(3) {
        !           126:   [0]=>
        !           127:   array(2) {
        !           128:     [0]=>
        !           129:     string(0) ""
        !           130:     [1]=>
        !           131:     int(0)
        !           132:   }
        !           133:   [1]=>
        !           134:   array(2) {
        !           135:     [0]=>
        !           136:     string(13) "s, preg_match"
        !           137:     [1]=>
        !           138:     int(13)
        !           139:   }
        !           140:   [2]=>
        !           141:   array(2) {
        !           142:     [0]=>
        !           143:     string(9) "
        !           144: {
        !           145: lalala"
        !           146:     [1]=>
        !           147:     int(27)
        !           148:   }
        !           149: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>