Return to phar_buildfromiterator5.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / phar / tests / zip |
1.1 misho 1: --TEST-- 2: Phar::buildFromIterator() iterator, iterator returns non-string zip-based 3: --SKIPIF-- 4: <?php if (!extension_loaded("phar")) die("skip"); ?> 5: --INI-- 6: phar.require_hash=0 7: phar.readonly=0 8: --FILE-- 9: <?php 10: class myIterator implements Iterator 11: { 12: var $a; 13: function __construct(array $a) 14: { 15: $this->a = $a; 16: } 17: function next() { 18: echo "next\n"; 19: return next($this->a); 20: } 21: function current() { 22: echo "current\n"; 23: return current($this->a); 24: } 25: function key() { 26: echo "key\n"; 27: return key($this->a); 28: } 29: function valid() { 30: echo "valid\n"; 31: return current($this->a); 32: } 33: function rewind() { 34: echo "rewind\n"; 35: return reset($this->a); 36: } 37: } 38: try { 39: chdir(dirname(__FILE__)); 40: $phar = new Phar(dirname(__FILE__) . '/buildfromiterator.phar.zip'); 41: var_dump($phar->buildFromIterator(new myIterator(array('a' => new stdClass)))); 42: } catch (Exception $e) { 43: var_dump(get_class($e)); 44: echo $e->getMessage() . "\n"; 45: } 46: ?> 47: ===DONE=== 48: --CLEAN-- 49: <?php 50: unlink(dirname(__FILE__) . '/buildfromiterator.phar.zip'); 51: __HALT_COMPILER(); 52: ?> 53: --EXPECTF-- 54: rewind 55: valid 56: current 57: %s(24) "UnexpectedValueException" 58: Iterator myIterator returned an invalid value (must return a string) 59: ===DONE===