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>