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>