Annotation of embedaddon/php/ext/standard/tests/array/array_flip_variation3.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test array_flip() function : usage variations - 'input' argument with different valid values
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : array array_flip(array $input)
                      6:  * Description: Return array with key <-> value flipped 
                      7:  * Source code: ext/standard/array.c
                      8: */
                      9: 
                     10: /*
                     11: * In 'input' array argument, values are expected to be valid keys i.e. string/integer
                     12: * here testing for all different valid string and integer values
                     13: */
                     14: 
                     15: echo "*** Testing array_flip() : different valid values in 'input' array argument ***\n";
                     16: 
                     17: $empty_heredoc = <<<EOT1
                     18: EOT1;
                     19: 
                     20: $simple_heredoc = <<<EOT4
                     21: simple
                     22: EOT4;
                     23: 
                     24: $multiline_heredoc = <<<EOT7
                     25: multiline heredoc with 123 and
                     26: speci@! ch@r$..checking\nwith\talso
                     27: EOT7;
                     28: 
                     29: $input = array(
                     30:   // numeric values
                     31:   'int_value' => 1,
                     32:   'negative_value' => -2,
                     33:   'zero_value' => 0,
                     34:   'octal_value' => 012,
                     35:   'hex_value' => 0x23,
                     36: 
                     37:   // single quoted string value
                     38:   'empty_value1' => '',
                     39:   'space_value1' => ' ',
                     40:   'char_value1' => 'a',
                     41:   'string_value1' => 'string1',
                     42:   'numeric_value1' => '123',
                     43:   'special_char_value1' => '!@#$%',
                     44:   'whitespace1_value1' => '\t',
                     45:   'whitespace2_value1' => '\n',
                     46:   'null_char_value1' => '\0',
                     47:   
                     48:   // double quoted string value
                     49:   'empty_value2' => "",
                     50:   'space_value2' => " ",
                     51:   'char_value2' => "b",
                     52:   'string_value2' => "string2",
                     53:   'numeric_value2' => "456",
                     54:   'special_char_value2' => "^&*",
                     55:   'whitespace1_value2' => "\t",
                     56:   'whitespace2_value2' => "\n",
                     57:   'null_char_value2' => "\0",
                     58:   'binary_value' => "a".chr(0)."b",
                     59: 
                     60:   // heredoc string value
                     61:   'empty_heredoc' => $empty_heredoc,
                     62:   'simple_heredoc' => $simple_heredoc,
                     63:   'multiline_heredoc' => $multiline_heredoc,
                     64: );
                     65:   
                     66: var_dump( array_flip($input) );
                     67: 
                     68: echo "Done"
                     69: ?>
                     70: --EXPECTF--
                     71: *** Testing array_flip() : different valid values in 'input' array argument ***
                     72: array(24) {
                     73:   [1]=>
                     74:   string(9) "int_value"
                     75:   [-2]=>
                     76:   string(14) "negative_value"
                     77:   [0]=>
                     78:   string(10) "zero_value"
                     79:   [10]=>
                     80:   string(11) "octal_value"
                     81:   [35]=>
                     82:   string(9) "hex_value"
                     83:   [""]=>
                     84:   string(13) "empty_heredoc"
                     85:   [" "]=>
                     86:   string(12) "space_value2"
                     87:   ["a"]=>
                     88:   string(11) "char_value1"
                     89:   ["string1"]=>
                     90:   string(13) "string_value1"
                     91:   [123]=>
                     92:   string(14) "numeric_value1"
                     93:   ["!@#$%"]=>
                     94:   string(19) "special_char_value1"
                     95:   ["\t"]=>
                     96:   string(18) "whitespace1_value1"
                     97:   ["\n"]=>
                     98:   string(18) "whitespace2_value1"
                     99:   ["\0"]=>
                    100:   string(16) "null_char_value1"
                    101:   ["b"]=>
                    102:   string(11) "char_value2"
                    103:   ["string2"]=>
                    104:   string(13) "string_value2"
                    105:   [456]=>
                    106:   string(14) "numeric_value2"
                    107:   ["^&*"]=>
                    108:   string(19) "special_char_value2"
                    109:   ["   "]=>
                    110:   string(18) "whitespace1_value2"
                    111:   ["
                    112: "]=>
                    113:   string(18) "whitespace2_value2"
                    114:   [""]=>
                    115:   string(16) "null_char_value2"
                    116:   ["ab"]=>
                    117:   string(12) "binary_value"
                    118:   ["simple"]=>
                    119:   string(14) "simple_heredoc"
                    120:   ["multiline heredoc with 123 and
                    121: speci@! ch@r$..checking
                    122: with   also"]=>
                    123:   string(17) "multiline_heredoc"
                    124: }
                    125: Done

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