Updates to Tomato RAF including NGINX && PHP
[tomato.git] / release / src / router / php / ext / phar / tests / zip / phar_begin_setstub_commit.phpt
blobdc59f2f3aa18286e10a49177bec804b08529bd58
1 --TEST--
2 Phar::startBuffering()/setStub()/stopBuffering() 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.readonly=0
10 --FILE--
11 <?php
12 $p = new Phar(dirname(__FILE__) . '/brandnewphar.phar.zip', 0, 'brandnewphar.phar');
13 var_dump($p->isFileFormat(Phar::ZIP));
14 //var_dump($p->getStub());
15 var_dump($p->isBuffering());
16 $p->startBuffering();
17 var_dump($p->isBuffering());
18 $p['a.php'] = '<?php var_dump("Hello");';
19 $p->setStub('<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
20 include 'phar://brandnewphar.phar/a.php';
21 var_dump($p->getStub());
22 $p['b.php'] = '<?php var_dump("World");';
23 $p->setStub('<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER();');
24 include 'phar://brandnewphar.phar/b.php';
25 var_dump($p->getStub());
26 $p->stopBuffering();
27 echo "===COMMIT===\n";
28 var_dump($p->isBuffering());
29 include 'phar://brandnewphar.phar/a.php';
30 include 'phar://brandnewphar.phar/b.php';
31 var_dump($p->getStub());
33 // add portion to test setting stub from resource
34 file_put_contents(dirname(__FILE__) . '/myfakestub.php', '<?php var_dump("First resource"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
35 $a = fopen(dirname(__FILE__) . '/myfakestub.php', 'rb');
36 $p->setStub($a);
37 var_dump($p->getStub());
38 $c = strlen('<?php var_dump("First resource"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
39 file_put_contents(dirname(__FILE__) . '/myfakestub.php', '<?php var_dump("First resource"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>' . 'extra stuff');
40 fseek($a, 0);
41 $p->setStub($a, $c);
42 var_dump($p->getStub());
43 fclose($a);
45 ===DONE===
46 --CLEAN--
47 <?php 
48 unlink(dirname(__FILE__) . '/brandnewphar.phar.zip');
49 unlink(dirname(__FILE__) . '/myfakestub.php');
51 --EXPECT--
52 bool(true)
53 bool(false)
54 bool(true)
55 string(5) "Hello"
56 string(84) "<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
58 string(5) "World"
59 string(85) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
61 ===COMMIT===
62 bool(false)
63 string(5) "Hello"
64 string(5) "World"
65 string(85) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
67 string(93) "<?php var_dump("First resource"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
69 string(93) "<?php var_dump("First resource"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
71 ===DONE===