1--TEST--
2Phar::startBuffering()/setStub()/stopBuffering()
3--SKIPIF--
4<?php
5if (!extension_loaded("phar")) die("skip");
6if (version_compare(PHP_VERSION, "6.0", ">")) die("skip pre-unicode version of PHP required");
7?>
8--INI--
9phar.require_hash=0
10phar.readonly=0
11--FILE--
12<?php
13$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
14//var_dump($p->getStub());
15var_dump($p->isBuffering());
16$p->startBuffering();
17var_dump($p->isBuffering());
18$p['a.php'] = '<?php var_dump("Hello");';
19$p->setStub('<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
20include 'phar://brandnewphar.phar/a.php';
21var_dump($p->getStub());
22$p['b.php'] = '<?php var_dump("World");';
23$p->setStub('<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER();');
24include 'phar://brandnewphar.phar/b.php';
25var_dump($p->getStub());
26$p->stopBuffering();
27echo "===COMMIT===\n";
28var_dump($p->isBuffering());
29include 'phar://brandnewphar.phar/a.php';
30include 'phar://brandnewphar.phar/b.php';
31var_dump($p->getStub());
32?>
33===DONE===
34--CLEAN--
35<?php
36unlink(dirname(__FILE__) . '/brandnewphar.phar');
37?>
38--EXPECT--
39bool(false)
40bool(true)
41string(5) "Hello"
42string(84) "<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
43"
44string(5) "World"
45string(85) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
46"
47===COMMIT===
48bool(false)
49string(5) "Hello"
50string(5) "World"
51string(85) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
52"
53===DONE===
54