Browse Source
PostgreSQL and MySQL both have better locking mechanisms than what was previously implemented, as wellmicrosub
J. King
7 years ago
34 changed files with 151 additions and 194 deletions
@ -0,0 +1,44 @@ |
|||||
|
<?php |
||||
|
declare(strict_types=1); |
||||
|
namespace JKingWeb\Arsse\Test; |
||||
|
use JKingWeb\Arsse\Exception; |
||||
|
use JKingWeb\Arsse\Data; |
||||
|
|
||||
|
abstract class AbstractTest extends \PHPUnit\Framework\TestCase { |
||||
|
use \JKingWeb\Arsse\Misc\DateFormatter; |
||||
|
|
||||
|
function assertException(string $msg = "", string $prefix = "", string $type = "Exception") { |
||||
|
if(func_num_args()) { |
||||
|
$class = \JKingWeb\Arsse\NS_BASE . ($prefix !== "" ? str_replace("/", "\\", $prefix) . "\\" : "") . $type; |
||||
|
$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); |
||||
|
} else { |
||||
|
// expecting a standard PHP exception |
||||
|
$this->expectException(\Exception::class); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
function assertTime($exp, $test) { |
||||
|
$exp = $this->dateTransform($exp, "unix"); |
||||
|
$test = $this->dateTransform($test, "unix"); |
||||
|
$this->assertSame($exp, $test); |
||||
|
} |
||||
|
|
||||
|
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; |
||||
|
} |
||||
|
} |
@ -1,39 +0,0 @@ |
|||||
<?php |
|
||||
declare(strict_types=1); |
|
||||
namespace JKingWeb\Arsse\Test; |
|
||||
use JKingWeb\Arsse\Exception; |
|
||||
use JKingWeb\Arsse\Data; |
|
||||
|
|
||||
trait Tools { |
|
||||
use \JKingWeb\Arsse\Misc\DateFormatter; |
|
||||
|
|
||||
function assertException(string $msg, string $prefix = "", string $type = "Exception") { |
|
||||
$class = \JKingWeb\Arsse\NS_BASE . ($prefix !== "" ? str_replace("/", "\\", $prefix) . "\\" : "") . $type; |
|
||||
$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); |
|
||||
} |
|
||||
|
|
||||
function assertTime($exp, $test) { |
|
||||
$exp = $this->dateTransform($exp, "unix"); |
|
||||
$test = $this->dateTransform($test, "unix"); |
|
||||
$this->assertSame($exp, $test); |
|
||||
} |
|
||||
|
|
||||
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; |
|
||||
} |
|
||||
} |
|
Loading…
Reference in new issue