Annotation of embedaddon/php/ext/spl/tests/dllist_001.phpt, revision 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>