Annotation of embedaddon/php/ext/phar/tests/zip/metadata_write_commit.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Phar with meta-data (write) zip-based
3: --SKIPIF--
4: <?php
5: if (!extension_loaded("phar")) die("skip");
6: if (version_compare(PHP_VERSION, "6.0", ">")) die("skip pre-unicode version of PHP required");
7: ?>
8: --INI--
9: phar.require_hash=0
10: phar.readonly=0
11: --FILE--
12: <?php
13: $fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.zip.php';
14: $f2name = dirname(__FILE__) . '/files/metadata.phar.zip';
15: $pname = 'phar://' . $fname;
16: $p2name = 'phar://' . $f2name;
17:
18: $file = "<?php __HALT_COMPILER(); ?>";
19:
20: $files = array();
21: $files['a'] = array('cont' => 'a');
22: $files['b'] = array('cont' => 'b', 'meta' => 'hi there');
23: $files['c'] = array('cont' => 'c', 'meta' => array('hi', 'there'));
24: $files['d'] = array('cont' => 'd', 'meta' => array('hi'=>'there','foo'=>'bar'));
25:
26: foreach($files as $name => $cont) {
27: var_dump(file_get_contents($p2name.'/'.$name));
28: }
29:
30: copy($f2name, $fname);
31: $phar = new Phar($fname);
32: $phar->startBuffering();
33: $phar['a']->setMetadata(42);
34: $phar['b']->setMetadata(NULL);
35: $phar['c']->setMetadata(array(25, 'foo'=>'bar'));
36: $phar['d']->setMetadata(true);
37: $phar->setMetadata('hi');
38:
39: foreach($files as $name => $cont) {
40: var_dump($phar[$name]->getMetadata());
41: }
42: $phar->stopBuffering();
43:
44: unset($phar);
45:
46: $phar = new Phar($fname);
47:
48: foreach($files as $name => $cont) {
49: var_dump(file_get_contents($pname.'/'.$name));
50: }
51:
52: foreach($files as $name => $cont) {
53: var_dump($phar[$name]->getMetadata());
54: }
55: var_dump($phar->getMetadata());
56: ?>
57: ===DONE===
58: --CLEAN--
59: <?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar.zip.php'); ?>
60: --EXPECT--
61: string(1) "a"
62: string(1) "b"
63: string(1) "c"
64: string(1) "d"
65: int(42)
66: NULL
67: array(2) {
68: [0]=>
69: int(25)
70: ["foo"]=>
71: string(3) "bar"
72: }
73: bool(true)
74: string(1) "a"
75: string(1) "b"
76: string(1) "c"
77: string(1) "d"
78: int(42)
79: NULL
80: array(2) {
81: [0]=>
82: int(25)
83: ["foo"]=>
84: string(3) "bar"
85: }
86: bool(true)
87: string(2) "hi"
88: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>