1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 16:22:37 +01:00
Files
archived-php-src/ext/spl/tests/SplHeap_serialize_format.phpt

132 lines
2.9 KiB
PHP

--TEST--
SplHeap serialization binary format
--FILE--
<?php
// Test SplMaxHeap empty
$heap = new SplMaxHeap();
$s = serialize($heap);
echo $s . "\n";
var_dump(unserialize($s));
// Test SplMaxHeap with data
$heap = new SplMaxHeap();
$heap->insert(100);
$heap->insert(50);
$heap->insert(200);
$s = serialize($heap);
echo $s . "\n";
$unserialized = unserialize($s);
var_dump($unserialized);
// Test SplMinHeap
$min = new SplMinHeap();
$min->insert(30);
$min->insert(10);
$min->insert(20);
$s = serialize($min);
echo $s . "\n";
var_dump(unserialize($s));
// Test SplPriorityQueue empty
$pq = new SplPriorityQueue();
$s = serialize($pq);
echo $s . "\n";
var_dump(unserialize($s));
// Test SplPriorityQueue with data
$pq = new SplPriorityQueue();
$pq->insert('low', 1);
$pq->insert('high', 10);
$pq->insert('medium', 5);
$pq->setExtractFlags(SplPriorityQueue::EXTR_BOTH);
$s = serialize($pq);
echo $s . "\n";
var_dump(unserialize($s));
?>
--EXPECT--
O:10:"SplMaxHeap":2:{i:0;a:0:{}i:1;a:2:{s:5:"flags";i:0;s:13:"heap_elements";a:0:{}}}
object(SplMaxHeap)#2 (3) {
["flags":"SplHeap":private]=>
int(0)
["isCorrupted":"SplHeap":private]=>
bool(false)
["heap":"SplHeap":private]=>
array(0) {
}
}
O:10:"SplMaxHeap":2:{i:0;a:0:{}i:1;a:2:{s:5:"flags";i:0;s:13:"heap_elements";a:3:{i:0;i:200;i:1;i:50;i:2;i:100;}}}
object(SplMaxHeap)#1 (3) {
["flags":"SplHeap":private]=>
int(0)
["isCorrupted":"SplHeap":private]=>
bool(false)
["heap":"SplHeap":private]=>
array(3) {
[0]=>
int(200)
[1]=>
int(50)
[2]=>
int(100)
}
}
O:10:"SplMinHeap":2:{i:0;a:0:{}i:1;a:2:{s:5:"flags";i:0;s:13:"heap_elements";a:3:{i:0;i:10;i:1;i:30;i:2;i:20;}}}
object(SplMinHeap)#4 (3) {
["flags":"SplHeap":private]=>
int(0)
["isCorrupted":"SplHeap":private]=>
bool(false)
["heap":"SplHeap":private]=>
array(3) {
[0]=>
int(10)
[1]=>
int(30)
[2]=>
int(20)
}
}
O:16:"SplPriorityQueue":2:{i:0;a:0:{}i:1;a:2:{s:5:"flags";i:1;s:13:"heap_elements";a:0:{}}}
object(SplPriorityQueue)#5 (3) {
["flags":"SplPriorityQueue":private]=>
int(1)
["isCorrupted":"SplPriorityQueue":private]=>
bool(false)
["heap":"SplPriorityQueue":private]=>
array(0) {
}
}
O:16:"SplPriorityQueue":2:{i:0;a:0:{}i:1;a:2:{s:5:"flags";i:3;s:13:"heap_elements";a:3:{i:0;a:2:{s:4:"data";s:4:"high";s:8:"priority";i:10;}i:1;a:2:{s:4:"data";s:3:"low";s:8:"priority";i:1;}i:2;a:2:{s:4:"data";s:6:"medium";s:8:"priority";i:5;}}}}
object(SplPriorityQueue)#4 (3) {
["flags":"SplPriorityQueue":private]=>
int(3)
["isCorrupted":"SplPriorityQueue":private]=>
bool(false)
["heap":"SplPriorityQueue":private]=>
array(3) {
[0]=>
array(2) {
["data"]=>
string(4) "high"
["priority"]=>
int(10)
}
[1]=>
array(2) {
["data"]=>
string(3) "low"
["priority"]=>
int(1)
}
[2]=>
array(2) {
["data"]=>
string(6) "medium"
["priority"]=>
int(5)
}
}
}