From: Greg Beaver Date: Wed, 16 Apr 2008 04:11:14 +0000 (+0000) Subject: add failing test for metadata support in zip archives X-Git-Tag: RELEASE_2_0_0b1~357 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f513caa0a6acbe697748704cae67ef974c2ca2c6;p=php add failing test for metadata support in zip archives --- diff --git a/ext/phar/tests/zip/files/metadata.phar.inc b/ext/phar/tests/zip/files/metadata.phar.inc new file mode 100644 index 0000000000..932fc961e3 --- /dev/null +++ b/ext/phar/tests/zip/files/metadata.phar.inc @@ -0,0 +1,11 @@ +setMetadata('hi there'); +$a['c'] = 'c'; +$a['c']->setMetadata(array('hi', 'there')); +$a['d'] = 'd'; +$a['d']->setMetadata(array('hi'=>'there','foo'=>'bar')); +?> diff --git a/ext/phar/tests/zip/files/metadata.phar.zip b/ext/phar/tests/zip/files/metadata.phar.zip new file mode 100644 index 0000000000..3c5cf0065f Binary files /dev/null and b/ext/phar/tests/zip/files/metadata.phar.zip differ diff --git a/ext/phar/tests/zip/metadata_write_commit.phpt b/ext/phar/tests/zip/metadata_write_commit.phpt new file mode 100644 index 0000000000..9df032a5e1 --- /dev/null +++ b/ext/phar/tests/zip/metadata_write_commit.phpt @@ -0,0 +1,83 @@ +--TEST-- +Phar with meta-data (write) zip-based +--SKIPIF-- + +--INI-- +phar.require_hash=0 +phar.readonly=0 +--FILE-- +"; + +$files = array(); +$files['a'] = array('cont' => 'a'); +$files['b'] = array('cont' => 'b', 'meta' => 'hi there'); +$files['c'] = array('cont' => 'c', 'meta' => array('hi', 'there')); +$files['d'] = array('cont' => 'd', 'meta' => array('hi'=>'there','foo'=>'bar')); + +foreach($files as $name => $cont) { + var_dump(file_get_contents($p2name.'/'.$name)); +} + +$phar = new Phar($fname); +$phar->startBuffering(); +$phar['a']->setMetadata(42); +$phar['b']->setMetadata(NULL); +$phar['c']->setMetadata(array(25, 'foo'=>'bar')); +$phar['d']->setMetadata(true); + +foreach($files as $name => $cont) { + var_dump($phar[$name]->getMetadata()); +} +$phar->stopBuffering(); + +unset($phar); + +copy($f2name, $fname); + +$phar = new Phar($fname2); + +foreach($files as $name => $cont) { + var_dump(file_get_contents($pname.'/'.$name)); +} + +foreach($files as $name => $cont) { + var_dump($phar[$name]->getMetadata()); +} +?> +===DONE=== +--CLEAN-- + +--EXPECT-- +string(1) "a" +string(1) "b" +string(1) "c" +string(1) "d" +int(42) +NULL +array(2) { + [0]=> + int(25) + ["foo"]=> + string(3) "bar" +} +bool(true) +string(1) "a" +string(1) "b" +string(1) "c" +string(1) "d" +int(42) +NULL +array(2) { + [0]=> + int(25) + ["foo"]=> + string(3) "bar" +} +bool(true) +===DONE===