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

1.1       misho       1: --TEST--
                      2: Bug #36975 (natcasesort() causes array_pop() to misbehave)
                      3: --FILE--
                      4: <?php
                      5: $a = array('aa', 'aa', 'bb', 'bb', 'cc', 'cc');                  
                      6: $test = natcasesort($a);
                      7: if ($test) {                                                            
                      8:   echo "natcasesort success!\n";                                        
                      9: }                                                                       
                     10: $val = array_pop($a);                                            
                     11: $a[] = $val;                                                     
                     12: var_dump($a);
                     13: 
                     14: $b = array(1 => 'foo', 0 => 'baz');
                     15: array_pop($b);
                     16: $b[] = 'bar';
                     17: array_push($b, 'bar');
                     18: print_r($b);
                     19: 
                     20: $c = array(0, 0, 0, 0, 0);
                     21: asort($c);
                     22: array_pop($c);
                     23: $c[] = 'foo';
                     24: $c[] = 'bar';
                     25: var_dump($c);
                     26: ?>
                     27: --EXPECT--
                     28: natcasesort success!
                     29: array(6) {
                     30:   [0]=>
                     31:   string(2) "aa"
                     32:   [1]=>
                     33:   string(2) "aa"
                     34:   [3]=>
                     35:   string(2) "bb"
                     36:   [2]=>
                     37:   string(2) "bb"
                     38:   [5]=>
                     39:   string(2) "cc"
                     40:   [6]=>
                     41:   string(2) "cc"
                     42: }
                     43: Array
                     44: (
                     45:     [1] => foo
                     46:     [2] => bar
                     47:     [3] => bar
                     48: )
                     49: array(6) {
                     50:   [4]=>
                     51:   int(0)
                     52:   [3]=>
                     53:   int(0)
                     54:   [2]=>
                     55:   int(0)
                     56:   [1]=>
                     57:   int(0)
                     58:   [5]=>
                     59:   string(3) "foo"
                     60:   [6]=>
                     61:   string(3) "bar"
                     62: }

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