1--TEST--
2Phar::startBuffering()/setStub()/stopBuffering() tar-based
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.readonly=0
10--FILE--
11<?php
12$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar.tar', 0, 'brandnewphar.phar');
13var_dump($p->isFileFormat(Phar::TAR));
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.tar');
37?>
38--EXPECT--
39bool(true)
40bool(false)
41bool(true)
42string(5) "Hello"
43string(84) "<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
44"
45string(5) "World"
46string(85) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
47"
48===COMMIT===
49bool(false)
50string(5) "Hello"
51string(5) "World"
52string(85) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>
53"
54===DONE===
55