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

1.1       misho       1: --TEST--
                      2: Phar object: iterating via SplFileObject
                      3: --SKIPIF--
                      4: <?php if (!extension_loaded("phar")) die("skip"); ?>
                      5: <?php if (!extension_loaded("spl")) die("skip SPL not available"); ?>
                      6: --INI--
                      7: phar.require_hash=0
                      8: --FILE--
                      9: <?php
                     10: 
                     11: $pharconfig = 1;
                     12: 
                     13: require_once 'files/phar_oo_test.inc';
                     14: 
                     15: $phar = new Phar($fname);
                     16: $phar->setInfoClass('SplFileObject');
                     17: 
                     18: $f = $phar['a.csv'];
                     19: echo "===1===\n";
                     20: foreach($f as $k => $v)
                     21: {
                     22:        echo "$k=>$v\n";
                     23: }
                     24: 
                     25: $f->setFlags(SplFileObject::DROP_NEW_LINE);
                     26: 
                     27: echo "===2===\n";
                     28: foreach($f as $k => $v)
                     29: {
                     30:        echo "$k=>$v\n";
                     31: }
                     32: 
                     33: class MyCSVFile extends SplFileObject
                     34: {
                     35:        function current()
                     36:        {
                     37:                return parent::fgetcsv(',', '"');
                     38:        }
                     39: }
                     40: 
                     41: $phar->setInfoClass('MyCSVFile');
                     42: $v = $phar['a.csv'];
                     43: 
                     44: echo "===3===\n";
                     45: while(!$v->eof())
                     46: {
                     47:        echo $v->key() . "=>" . join('|',$v->fgetcsv()) . "\n";
                     48: }
                     49: 
                     50: echo "===4===\n";
                     51: $v->rewind();
                     52: while(!$v->eof())
                     53: {
                     54:        $l = $v->fgetcsv();
                     55:        echo $v->key() . "=>" . join('|',$l) . "\n";
                     56: }
                     57: 
                     58: echo "===5===\n";
                     59: foreach($v as $k => $d)
                     60: {
                     61:        echo "$k=>" . join('|',$d) . "\n";
                     62: }
                     63: 
                     64: class MyCSVFile2 extends SplFileObject
                     65: {
                     66:        function getCurrentLine()
                     67:        {
                     68:                echo __METHOD__ . "\n";
                     69:                return parent::fgetcsv(',', '"');
                     70:        }
                     71: }
                     72: 
                     73: $phar->setInfoClass('MyCSVFile2');
                     74: $v = $phar['a.csv'];
                     75: 
                     76: echo "===6===\n";
                     77: foreach($v as $k => $d)
                     78: {
                     79:        echo "$k=>" . join('|',$d) . "\n";
                     80: }
                     81: 
                     82: ?>
                     83: ===DONE===
                     84: --CLEAN--
                     85: <?php 
                     86: unlink(dirname(__FILE__) . '/files/phar_oo_test.phar.php');
                     87: __halt_compiler();
                     88: ?>
                     89: --EXPECTF--
                     90: ===1===
                     91: 0=>1,2,3
                     92: 
                     93: 1=>2,a,b
                     94: 
                     95: 2=>3,"c","'e'"
                     96: ===2===
                     97: 0=>1,2,3
                     98: 1=>2,a,b
                     99: 2=>3,"c","'e'"
                    100: ===3===
                    101: 0=>1|2|3
                    102: 0=>2|a|b
                    103: 1=>3|c|'e'
                    104: ===4===
                    105: 0=>1|2|3
                    106: 1=>2|a|b
                    107: 2=>3|c|'e'
                    108: ===5===
                    109: 0=>1|2|3
                    110: 1=>2|a|b
                    111: 2=>3|c|'e'
                    112: ===6===
                    113: MyCSVFile2::getCurrentLine
                    114: 1=>1|2|3
                    115: MyCSVFile2::getCurrentLine
                    116: 3=>2|a|b
                    117: MyCSVFile2::getCurrentLine
                    118: 5=>3|c|'e'
                    119: ===DONE===

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