2017-02-15 03:34:08 +00:00
|
|
|
<?php
|
|
|
|
declare(strict_types=1);
|
2017-03-28 04:12:12 +00:00
|
|
|
namespace JKingWeb\Arsse\Test;
|
2017-03-28 22:50:00 +00:00
|
|
|
use JKingWeb\Arsse\Exception;
|
|
|
|
use JKingWeb\Arsse\Data;
|
2017-02-15 03:34:08 +00:00
|
|
|
|
|
|
|
trait Tools {
|
2017-05-21 21:16:32 +00:00
|
|
|
use \JKingWeb\Arsse\Misc\DateFormatter;
|
|
|
|
|
2017-02-16 20:29:42 +00:00
|
|
|
function assertException(string $msg, string $prefix = "", string $type = "Exception") {
|
2017-03-28 04:12:12 +00:00
|
|
|
$class = \JKingWeb\Arsse\NS_BASE . ($prefix !== "" ? str_replace("/", "\\", $prefix) . "\\" : "") . $type;
|
2017-02-16 20:29:42 +00:00
|
|
|
$msgID = ($prefix !== "" ? $prefix . "/" : "") . $type. ".$msg";
|
|
|
|
if(array_key_exists($msgID, Exception::CODES)) {
|
|
|
|
$code = Exception::CODES[$msgID];
|
|
|
|
} else {
|
|
|
|
$code = 0;
|
|
|
|
}
|
|
|
|
$this->expectException($class);
|
|
|
|
$this->expectExceptionCode($code);
|
|
|
|
}
|
2017-03-28 22:50:00 +00:00
|
|
|
|
2017-05-21 21:16:32 +00:00
|
|
|
function assertTime($exp, $test) {
|
2017-07-07 19:25:47 +00:00
|
|
|
$exp = $this->dateTransform($exp, "unix");
|
|
|
|
$test = $this->dateTransform($test, "unix");
|
2017-05-21 21:16:32 +00:00
|
|
|
$this->assertSame($exp, $test);
|
|
|
|
}
|
|
|
|
|
2017-03-28 22:50:00 +00:00
|
|
|
function clearData(bool $loadLang = true): bool {
|
|
|
|
$r = new \ReflectionClass(\JKingWeb\Arsse\Data::class);
|
|
|
|
$props = array_keys($r->getStaticProperties());
|
|
|
|
foreach($props as $prop) {
|
|
|
|
Data::$$prop = null;
|
|
|
|
}
|
|
|
|
if($loadLang) {
|
|
|
|
Data::$l = new \JKingWeb\Arsse\Lang();
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
2017-02-15 03:34:08 +00:00
|
|
|
}
|