Annotation of embedaddon/php/ext/spl/tests/dllist_001.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: SPL: DoublyLinkedList: std operations
3: --INI--
4: allow_call_time_pass_reference=1
5: --FILE--
6: <?php
7: $dll = new SplDoublyLinkedList();
8: // errors
9: try {
10: $dll->pop();
11: } catch (RuntimeException $e) {
12: echo "Exception: ".$e->getMessage()."\n";
13: }
14: try {
15: $dll->shift();
16: } catch (RuntimeException $e) {
17: echo "Exception: ".$e->getMessage()."\n";
18: }
19:
20: // data consistency
21: $a = 2;
22: $dll->push($a);
23: $a = 3;
24: $dll->push(&$a);
25: $a = 4;
26: echo $dll->pop()."\n";
27: echo $dll->pop()."\n";
28:
29: $a = 2;
30: $dll->unshift($a);
31: $a = 3;
32: $dll->unshift(&$a);
33: $a = 4;
34: echo $dll->shift()."\n";
35: echo $dll->shift()."\n";
36:
37: // peakable
38: $dll->push(1);
39: $dll->push(2);
40: echo $dll->top()."\n";
41: echo $dll->bottom()."\n";
42: $dll->pop();
43: $dll->pop();
44:
45: // countable
46: $dll->push(NULL);
47: $dll->push(NULL);
48: echo count($dll)."\n";
49: echo $dll->count()."\n";
50: var_dump($dll->pop());
51: var_dump($dll->pop());
52:
53: // clonable
54: $dll->push(2);
55: $dll_clone = clone $dll;
56: $dll_clone->pop();
57: echo count($dll)."\n";
58: ?>
59: ===DONE===
60: <?php exit(0); ?>
61: --EXPECTF--
62: Exception: Can't pop from an empty datastructure
63: Exception: Can't shift from an empty datastructure
64: 3
65: 2
66: 3
67: 2
68: 2
69: 1
70: 2
71: 2
72: NULL
73: NULL
74: 1
75: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>