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