<?php
namespace tests\DuckPhp\Core;
use DuckPhp\Core\SystemWrapperTrait;
use DuckPhp\SingletonEx\SingletonEx;
class SystemWrapperTraitTest extends \PHPUnit\Framework\TestCase
{
public function testAll()
{
\MyCodeCoverage::G()->begin(SystemWrapperTrait::class);
$data=\DuckPhp\Core\App::system_wrapper_get_providers();
SystemWrapperObject::var_dump(DATE(DATE_ATOM));
SystemWrapperObject::system_wrapper_replace(['var_dump'=>function(...$args){var_dump("!!!!");}]);
SystemWrapperObject::var_dump(DATE(DATE_ATOM));
SystemWrapperObject::var_dump2(DATE(DATE_ATOM));
var_dump($data);
\MyCodeCoverage::G()->end();
}
}
class SystemWrapperObject
{
use SingletonEx;
use SystemWrapperTrait;
protected $system_handlers=[
'var_dump'=>null,
'var_dump2'=>null,
];
public static function var_dump(...$args)
{
return static::G()->_var_dump(...$args);
}
public function _var_dump(...$args)
{
if ($this->system_wrapper_call_check(__FUNCTION__)) {
$this->system_wrapper_call(__FUNCTION__, func_get_args());
return;
}
echo "BEGIN";
var_dump(...$args);
}
public static function var_dump2(...$args)
{
return static::G()->_var_dump2(...$args);
}
public function _var_dump2(...$args)
{
$this->system_wrapper_call('var_export', func_get_args());
try{
$this->system_wrapper_call('ttt', func_get_args());
}catch(\ErrorException $ex){
var_dump($ex);
}
}
}