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