mirror of
https://github.com/php-win-ext/php-rar.git
synced 2026-03-24 13:02:06 +01:00
Exposed UnRAR DLL API version in MINFO. Refactoring and a few other minor changes. git-svn-id: http://svn.php.net/repository/pecl/rar/trunk@298980 c90b9560-bf6c-de11-be94-00142212c4b1
46 lines
922 B
PHP
46 lines
922 B
PHP
--TEST--
|
|
rar_open() with volume find (callback variants 2)
|
|
--SKIPIF--
|
|
<?php
|
|
if(!extension_loaded("rar")) die("skip");
|
|
if(!defined('PHP_VERSION_ID') || PHP_VERSION_ID<50300) die("skip");
|
|
--FILE--
|
|
<?php
|
|
class A {
|
|
public static function resolve($vol) {
|
|
if (preg_match('/_broken/', $vol))
|
|
return str_replace('_broken', '', $vol);
|
|
else
|
|
return null;
|
|
}
|
|
public function __invoke($vol) {
|
|
echo "A::__invoke()\n";
|
|
return self::resolve($vol);
|
|
}
|
|
}
|
|
|
|
$fn = dirname(__FILE__) . '/multi_broken.part1.rar';
|
|
$f = function ($vol) {
|
|
echo "Closure\n";
|
|
return A::resolve($vol);
|
|
};
|
|
$rar = RarArchive::open($fn, null, new A());
|
|
$rar->getEntries();
|
|
$rar = RarArchive::open($fn, null, $f);
|
|
$rar->getEntries();
|
|
|
|
$f2 = function ($vol) {
|
|
echo "Closure (2)\n";
|
|
return A::resolve($vol);
|
|
};
|
|
$rar = RarArchive::open($fn, null, $f2);
|
|
unset($f2);
|
|
$rar->getEntries();
|
|
echo "Done.\n";
|
|
--EXPECTF--
|
|
A::__invoke()
|
|
Closure
|
|
Closure (2)
|
|
Done.
|
|
|