Annotation of embedaddon/php/ext/phar/tests/phar_oo_007.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Phar object: access through 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: require_once 'files/phar_oo_test.inc';
12:
13: class MyFile extends SplFileObject
14: {
15: function __construct($name)
16: {
17: echo __METHOD__ . "(" . str_replace(str_replace('\\', '/', dirname(__FILE__)), '*', $name) . ")\n";
18: parent::__construct($name);
19: }
20: }
21:
22: $phar = new Phar($fname);
23: $phar->setInfoClass('MyFile');
24:
25: $f = $phar['a.php'];
26:
27: $s = $f->fstat();
28:
29: var_dump($s['atime']);
30: var_dump($s['ctime']);
31: var_dump($s['mtime']);
32:
33: var_dump($f->ftell());
34: var_dump($f->eof());
35: var_dump($f->fgets());
36: var_dump($f->eof());
37: var_dump($f->fseek(20));
38: var_dump($f->ftell());
39: var_dump($f->fgets());
40: var_dump($f->rewind());
41: var_dump($f->ftell());
42: var_dump($f->fgets());
43: var_dump($f->ftell());
44:
45: ?>
46: ===AGAIN===
47: <?php
48:
49: $f = $phar['a.php'];
50:
51: var_dump($f->ftell());
52: var_dump($f->eof());
53: var_dump($f->fgets());
54: var_dump($f->eof());
55:
56: //unset($f); without unset we check for working refcounting
57:
58: ?>
59: ===DONE===
60: --CLEAN--
61: <?php
62: unlink(dirname(__FILE__) . '/files/phar_oo_test.phar.php');
63: __halt_compiler();
64: ?>
65: --EXPECTF--
66: MyFile::__construct(phar://*/files/phar_oo_test.phar.php/a.php)
67: int(%d)
68: int(%d)
69: int(%d)
70: int(0)
71: bool(false)
72: string(32) "<?php echo "This is a.php\n"; ?>"
73: bool(true)
74: int(0)
75: int(20)
76: string(12) "a.php\n"; ?>"
77: NULL
78: int(0)
79: string(32) "<?php echo "This is a.php\n"; ?>"
80: int(32)
81: ===AGAIN===
82: MyFile::__construct(phar://*/files/phar_oo_test.phar.php/a.php)
83: int(0)
84: bool(false)
85: string(32) "<?php echo "This is a.php\n"; ?>"
86: bool(true)
87: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>