Annotation of embedaddon/php/ext/phar/tests/phar_offset_check.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Phar: disallow stub and alias setting via offset*() methods
                      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.readonly=0
                      8: phar.require_hash=1
                      9: --FILE--
                     10: <?php
                     11: 
                     12: $fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.php';
                     13: $pname = 'phar://'.$fname;
                     14: 
                     15: $phar = new Phar($fname);
                     16: $phar->setDefaultStub();
                     17: $phar->setAlias('susan');
                     18: $phar['a.txt'] = "first file\n";
                     19: $phar['b.txt'] = "second file\n";
                     20: 
                     21: try {
                     22:        $phar->offsetGet('.phar/stub.php');
                     23: } catch (Exception $e) {
                     24:        echo $e->getMessage()."\n";
                     25: }
                     26: 
                     27: try {
                     28:        $phar->offsetGet('.phar/alias.txt');
                     29: } catch (Exception $e) {
                     30:        echo $e->getMessage()."\n";
                     31: }
                     32: 
                     33: try {
                     34:        $phar->offsetSet('.phar/stub.php', '<?php __HALT_COMPILER(); ?>');
                     35: } catch (Exception $e) {
                     36:        echo $e->getMessage()."\n";
                     37: }
                     38: 
                     39: var_dump(strlen($phar->getStub()));
                     40: 
                     41: try {
                     42:        $phar->offsetUnset('.phar/stub.php');
                     43: } catch (Exception $e) {
                     44:        echo $e->getMessage()."\n";
                     45: }
                     46: 
                     47: var_dump(strlen($phar->getStub()));
                     48: 
                     49: try {
                     50:        $phar->offsetSet('.phar/alias.txt', 'dolly');
                     51: } catch (Exception $e) {
                     52:        echo $e->getMessage()."\n";
                     53: }
                     54: 
                     55: var_dump($phar->getAlias());
                     56: 
                     57: try {
                     58:        $phar->offsetUnset('.phar/alias.txt');
                     59: } catch (Exception $e) {
                     60:        echo $e->getMessage()."\n";
                     61: }
                     62: 
                     63: var_dump($phar->getAlias());
                     64: 
                     65: ?>
                     66: ===DONE===
                     67: --CLEAN--
                     68: <?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar.php'); ?>
                     69: --EXPECTF--
                     70: Entry .phar/stub.php does not exist
                     71: Entry .phar/alias.txt does not exist
                     72: Cannot set stub ".phar/stub.php" directly in phar "%sphar_offset_check.phar.php", use setStub
                     73: int(6685)
                     74: int(6685)
                     75: Cannot set alias ".phar/alias.txt" directly in phar "%sphar_offset_check.phar.php", use setAlias
                     76: string(5) "susan"
                     77: string(5) "susan"
                     78: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>