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