mirror of
https://github.com/wintercms/winter.git
synced 2024-06-28 05:33:29 +02:00
92 lines
2.6 KiB
PHP
92 lines
2.6 KiB
PHP
<?php
|
|
|
|
use PHPUnit\Framework\Assert;
|
|
|
|
class TestCase extends Illuminate\Foundation\Testing\TestCase
|
|
{
|
|
/**
|
|
* Creates the application.
|
|
*
|
|
* @return \Illuminate\Foundation\Application
|
|
*/
|
|
public function createApplication()
|
|
{
|
|
$app = require __DIR__.'/../bootstrap/app.php';
|
|
|
|
$app->make('Illuminate\Contracts\Console\Kernel')->bootstrap();
|
|
|
|
$app['cache']->setDefaultDriver('array');
|
|
$app->setLocale('en');
|
|
|
|
// Set random encryption key
|
|
$app['config']->set('app.key', bin2hex(random_bytes(16)));
|
|
|
|
return $app;
|
|
}
|
|
|
|
//
|
|
// Helpers
|
|
//
|
|
|
|
protected static function callProtectedMethod($object, $name, $params = [])
|
|
{
|
|
$className = get_class($object);
|
|
$class = new ReflectionClass($className);
|
|
$method = $class->getMethod($name);
|
|
$method->setAccessible(true);
|
|
return $method->invokeArgs($object, $params);
|
|
}
|
|
|
|
public static function getProtectedProperty($object, $name)
|
|
{
|
|
$className = get_class($object);
|
|
$class = new ReflectionClass($className);
|
|
$property = $class->getProperty($name);
|
|
$property->setAccessible(true);
|
|
return $property->getValue($object);
|
|
}
|
|
|
|
public static function setProtectedProperty($object, $name, $value)
|
|
{
|
|
$className = get_class($object);
|
|
$class = new ReflectionClass($className);
|
|
$property = $class->getProperty($name);
|
|
$property->setAccessible(true);
|
|
return $property->setValue($object, $value);
|
|
}
|
|
|
|
/**
|
|
* Stub for `assertFileNotExists` to allow compatibility with both PHPUnit 8 and 9.
|
|
*
|
|
* @param string $filename
|
|
* @param string $message
|
|
* @return void
|
|
*/
|
|
public static function assertFileNotExists(string $filename, string $message = ''): void
|
|
{
|
|
if (method_exists(Assert::class, 'assertFileDoesNotExist')) {
|
|
Assert::assertFileDoesNotExist($filename, $message);
|
|
return;
|
|
}
|
|
|
|
Assert::assertFileNotExists($filename, $message);
|
|
}
|
|
|
|
/**
|
|
* Stub for `assertRegExp` to allow compatibility with both PHPUnit 8 and 9.
|
|
*
|
|
* @param string $filename
|
|
* @param string $message
|
|
* @return void
|
|
*/
|
|
public static function assertRegExp(string $pattern, string $string, string $message = ''): void
|
|
{
|
|
if (method_exists(Assert::class, 'assertMatchesRegularExpression')) {
|
|
Assert::assertMatchesRegularExpression($pattern, $string, $message);
|
|
return;
|
|
}
|
|
|
|
Assert::assertRegExp($pattern, $string, $message);
|
|
}
|
|
}
|