mirror of
https://github.com/php/php-src.git
synced 2024-10-20 16:02:44 +00:00
130 lines
2.1 KiB
PHP
Executable File
130 lines
2.1 KiB
PHP
Executable File
--TEST--
|
|
Phar and DirectoryIterator
|
|
--SKIPIF--
|
|
<?php
|
|
if (!extension_loaded("phar")) die("skip");
|
|
if (!extension_loaded("spl")) die("skip SPL not available");
|
|
if (version_compare(PHP_VERSION, "6.0", ">")) die("skip pre-unicode version of PHP required");
|
|
?>
|
|
--INI--
|
|
phar.require_hash=0
|
|
--FILE--
|
|
<?php
|
|
|
|
require_once 'files/phar_oo_test.inc';
|
|
|
|
$it = new DirectoryIterator('phar://'.$fname);
|
|
|
|
foreach($it as $name => $ent)
|
|
{
|
|
var_dump($name);
|
|
var_dump($ent->getFilename());
|
|
var_dump($ent->isDir());
|
|
var_dump($ent->isDot());
|
|
}
|
|
|
|
?>
|
|
===MANUAL===
|
|
<?php
|
|
|
|
class MyDirectoryIterator extends DirectoryIterator
|
|
{
|
|
function __construct($dir)
|
|
{
|
|
echo __METHOD__ . "\n";
|
|
parent::__construct($dir);
|
|
}
|
|
|
|
function rewind()
|
|
{
|
|
echo __METHOD__ . "\n";
|
|
parent::rewind();
|
|
}
|
|
|
|
function valid()
|
|
{
|
|
echo __METHOD__ . "\n";
|
|
return parent::valid();
|
|
}
|
|
|
|
function key()
|
|
{
|
|
echo __METHOD__ . "\n";
|
|
return parent::key();
|
|
}
|
|
|
|
function current()
|
|
{
|
|
echo __METHOD__ . "\n";
|
|
return parent::current();
|
|
}
|
|
|
|
function next()
|
|
{
|
|
echo __METHOD__ . "\n";
|
|
parent::next();
|
|
}
|
|
}
|
|
|
|
$it = new MyDirectoryIterator('phar://'.$fname);
|
|
|
|
foreach($it as $name => $ent)
|
|
{
|
|
var_dump($name);
|
|
var_dump($ent->getFilename());
|
|
}
|
|
|
|
?>
|
|
===DONE===
|
|
--CLEAN--
|
|
<?php
|
|
unlink(dirname(__FILE__) . '/files/phar_oo_test.phar.php');
|
|
__halt_compiler();
|
|
?>
|
|
--EXPECT--
|
|
int(0)
|
|
string(5) "a.php"
|
|
bool(false)
|
|
bool(false)
|
|
int(1)
|
|
string(1) "b"
|
|
bool(true)
|
|
bool(false)
|
|
int(2)
|
|
string(5) "b.php"
|
|
bool(false)
|
|
bool(false)
|
|
int(3)
|
|
string(5) "e.php"
|
|
bool(false)
|
|
bool(false)
|
|
===MANUAL===
|
|
MyDirectoryIterator::__construct
|
|
MyDirectoryIterator::rewind
|
|
MyDirectoryIterator::valid
|
|
MyDirectoryIterator::current
|
|
MyDirectoryIterator::key
|
|
int(0)
|
|
string(5) "a.php"
|
|
MyDirectoryIterator::next
|
|
MyDirectoryIterator::valid
|
|
MyDirectoryIterator::current
|
|
MyDirectoryIterator::key
|
|
int(1)
|
|
string(1) "b"
|
|
MyDirectoryIterator::next
|
|
MyDirectoryIterator::valid
|
|
MyDirectoryIterator::current
|
|
MyDirectoryIterator::key
|
|
int(2)
|
|
string(5) "b.php"
|
|
MyDirectoryIterator::next
|
|
MyDirectoryIterator::valid
|
|
MyDirectoryIterator::current
|
|
MyDirectoryIterator::key
|
|
int(3)
|
|
string(5) "e.php"
|
|
MyDirectoryIterator::next
|
|
MyDirectoryIterator::valid
|
|
===DONE===
|