From: Nikita Popov Date: Fri, 18 Mar 2016 18:59:08 +0000 (+0100) Subject: Add extra ArrayObject::sort() test X-Git-Tag: php-7.0.6RC1~92 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a2522efa9ff409c2cbce7111735e0982e9cad1e6;p=php Add extra ArrayObject::sort() test --- diff --git a/ext/spl/tests/ArrayObject_sort_different_backing_storage.phpt b/ext/spl/tests/ArrayObject_sort_different_backing_storage.phpt new file mode 100644 index 0000000000..0b9bbd6330 --- /dev/null +++ b/ext/spl/tests/ArrayObject_sort_different_backing_storage.phpt @@ -0,0 +1,72 @@ +--TEST-- +Test sorting of various ArrayObject backing storage +--FILE-- + 2, 'b' => 1]; +$ao = new ArrayObject($obj); +$ao->uasort(function($a, $b) { return $a <=> $b; }); +var_dump($ao); + +$ao2 = new ArrayObject($ao); +$ao2->uasort(function($a, $b) { return $b <=> $a; }); +var_dump($ao2); + +$ao3 = new ArrayObject(); +$ao3->exchangeArray($ao3); +$ao3->a = 2; +$ao3->b = 1; +$ao3->uasort(function($a, $b) { return $a <=> $b; }); +var_dump($ao3); + +$ao4 = new ArrayObject([]); +$ao4->uasort(function($a, $b) { return $a <=> $b; }); +var_dump($ao4); + +$ao5 = new ArrayObject(['a' => 2, 'b' => 1]); +$ao5->uasort(function($a, $b) { return $a <=> $b; }); +var_dump($ao5); + +?> +--EXPECT-- +object(ArrayObject)#2 (1) { + ["storage":"ArrayObject":private]=> + object(stdClass)#1 (2) { + ["b"]=> + int(1) + ["a"]=> + int(2) + } +} +object(ArrayObject)#3 (1) { + ["storage":"ArrayObject":private]=> + object(ArrayObject)#2 (1) { + ["storage":"ArrayObject":private]=> + object(stdClass)#1 (2) { + ["a"]=> + int(2) + ["b"]=> + int(1) + } + } +} +object(ArrayObject)#4 (2) { + ["b"]=> + int(1) + ["a"]=> + int(2) +} +object(ArrayObject)#5 (1) { + ["storage":"ArrayObject":private]=> + array(0) { + } +} +object(ArrayObject)#6 (1) { + ["storage":"ArrayObject":private]=> + array(2) { + ["b"]=> + int(1) + ["a"]=> + int(2) + } +}