Annotation of embedaddon/php/ext/phar/tests/phar_buildfromiterator4.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Phar::buildFromIterator() iterator, 1 file passed in
                      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');
                     41:        var_dump($phar->buildFromIterator(new myIterator(
                     42:                array(
                     43:                        'a' => basename(__FILE__, 'php') . 'phpt',
                     44:                        // demonstrate that none of these are added
                     45:                        '.phar/stub.php' => basename(__FILE__, 'php') . 'phpt',
                     46:                        '.phar/alias.txt' => basename(__FILE__, 'php') . 'phpt',
                     47:                        '.phar/oops' => basename(__FILE__, 'php') . 'phpt',
                     48:                ))));
                     49: } catch (Exception $e) {
                     50:        var_dump(get_class($e));
                     51:        echo $e->getMessage() . "\n";
                     52: }
                     53: ?>
                     54: ===DONE===
                     55: --CLEAN--
                     56: <?php 
                     57: unlink(dirname(__FILE__) . '/buildfromiterator.phar');
                     58: __HALT_COMPILER();
                     59: ?>
                     60: --EXPECTF--
                     61: rewind
                     62: valid
                     63: current
                     64: key
                     65: next
                     66: valid
                     67: current
                     68: key
                     69: next
                     70: valid
                     71: current
                     72: key
                     73: next
                     74: valid
                     75: current
                     76: key
                     77: next
                     78: valid
                     79: array(1) {
                     80:   ["a"]=>
                     81:   string(%d) "%sphar_buildfromiterator4.phpt"
                     82: }
                     83: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>