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