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