namespace Shaarli\Front\Controller\Visitor;
-use PHPUnit\Framework\MockObject\MockObject;
use Shaarli\Bookmark\BookmarkServiceInterface;
use Shaarli\Config\ConfigManager;
use Shaarli\Container\ShaarliTestContainer;
// Config
$this->container->conf = $this->createMock(ConfigManager::class);
$this->container->conf->method('get')->willReturnCallback(function (string $parameter, $default) {
- return $default;
+ return $default === null ? $parameter : $default;
});
// PageBuilder
$this->container->environment = [
'SERVER_NAME' => 'shaarli',
'SERVER_PORT' => '80',
- 'REQUEST_URI' => '/daily-rss',
+ 'REQUEST_URI' => '/subfolder/daily-rss',
+ 'REMOTE_ADDR' => '1.2.3.4',
+ 'SCRIPT_NAME' => '/subfolder/index.php',
];
+
+ $this->container->basePath = '/subfolder';
}
/**
protected function assignTemplateVars(array &$variables): void
{
$this->container->pageBuilder
- ->expects(static::atLeastOnce())
->method('assign')
->willReturnCallback(function ($key, $value) use (&$variables) {
$variables[$key] = $value;
;
}
+ protected static function generateString(int $length): string
+ {
+ // bin2hex(random_bytes) generates string twice as long as given parameter
+ $length = (int) ceil($length / 2);
+
+ return bin2hex(random_bytes($length));
+ }
+
/**
* Force to be used in PHPUnit context.
*/
- protected abstract function createMock($originalClassName): MockObject;
+ protected abstract function isInTestsContext(): bool;
}