xref: /PHP-7.4/ext/phar/tests/tar/tar_nostub.phpt (revision 26dfce7f)
1--TEST--
2Phar: tar-based phar, third-party tar with no stub, Phar->getStub()
3--SKIPIF--
4<?php if (!extension_loaded('phar')) die('skip'); ?>
5--INI--
6phar.readonly=1
7phar.require_hash=0
8--FILE--
9<?php
10include __DIR__ . '/files/tarmaker.php.inc';
11$fname = __DIR__ . '/tar_nostub.phar.tar';
12$alias = 'phar://' . $fname;
13$fname2 = __DIR__ . '/tar_nostub.tar';
14
15$tar = new tarmaker($fname, 'none');
16$tar->init();
17$tar->addFile('tar_004.php', '<?php var_dump(__FILE__);');
18$tar->addFile('internal/file/here', "hi there!\n");
19$tar->close();
20
21try {
22	$phar = new Phar($fname);
23	var_dump($phar->getStub());
24} catch (Exception $e) {
25	echo $e->getMessage()."\n";
26}
27
28copy($fname, $fname2);
29
30try {
31	$phar = new PharData($fname2);
32	var_dump($phar->getStub());
33} catch (Exception $e) {
34	echo $e->getMessage()."\n";
35}
36
37?>
38===DONE===
39--CLEAN--
40<?php
41@unlink(__DIR__ . '/tar_nostub.phar.tar');
42@unlink(__DIR__ . '/tar_nostub.tar');
43?>
44--EXPECTF--
45RecursiveDirectoryIterator::__construct(phar://%star_nostub.phar.tar/): failed to open dir: '%star_nostub.phar.tar' is not a phar archive. Use PharData::__construct() for a standard zip or tar archive
46phar url "phar://%star_nostub.phar.tar/" is unknown
47string(0) ""
48===DONE===
49