Annotation of embedaddon/php/ext/standard/tests/array/bug28739.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #28739 (*diff() and *intersect() not clearing the fci cache before work)
! 3: --FILE--
! 4: <?php
! 5: class p {
! 6: public $x;
! 7: function __construct($x){$this->x=$x;}
! 8: }
! 9: function a(&$a, &$b){var_dump(__FUNCTION__);return $a->x - $b->x;}
! 10: function b(&$a, &$b){var_dump(__FUNCTION__);return $a->x - $b->x;}
! 11:
! 12: $p1 = array(new p(2), new p(1), new p(0));
! 13: $p2 = array(new p(0), new p(2), new p(3));
! 14:
! 15: uasort($p1, 'a');
! 16: print_r($p1);
! 17: echo "Now diffing:\n";
! 18: print_r(array_udiff($p1,$p2, 'b'));
! 19: ?>
! 20: --EXPECT--
! 21: string(1) "a"
! 22: string(1) "a"
! 23: Array
! 24: (
! 25: [2] => p Object
! 26: (
! 27: [x] => 0
! 28: )
! 29:
! 30: [1] => p Object
! 31: (
! 32: [x] => 1
! 33: )
! 34:
! 35: [0] => p Object
! 36: (
! 37: [x] => 2
! 38: )
! 39:
! 40: )
! 41: Now diffing:
! 42: string(1) "b"
! 43: string(1) "b"
! 44: string(1) "b"
! 45: string(1) "b"
! 46: string(1) "b"
! 47: string(1) "b"
! 48: string(1) "b"
! 49: string(1) "b"
! 50: string(1) "b"
! 51: Array
! 52: (
! 53: [1] => p Object
! 54: (
! 55: [x] => 1
! 56: )
! 57:
! 58: )
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>