19 declare(strict_types=1);
    30 require_once __DIR__ . 
'/../ContainerMock.php';
    38         $this->assertInstanceOf(Routing::class, 
new Routing(
    39             $this->mock(ilCtrl::class),
    40             $this->mock(SelectSetting::class),
    48         $ctrl = $this->mock(ilCtrl::class);
    49         $this->assertSame($ctrl, (
new Routing($ctrl, $this->mock(SelectSetting::class), $this->fail(...), $this->fail(...)))->
ctrl());
    54         $this->assertSame(
'dummy logout url', (
new Routing(
    55             $this->mock(ilCtrl::class),
    56             $this->mock(SelectSetting::class),
    58             fn() => 
'dummy logout url'    66         $session = $this->mock(SelectSetting::class);
    67         $session->expects(self::once())->method(
'typed')->willReturnCallback(
function (
string $key, callable $proc) {
    68             $this->assertSame(
'orig_request_target', $key);
    69             return $this->mockTree(Setting::class, [
'value' => null]);
    73             $this->mock(ilCtrl::class),
    75             static function () use (&$called): 
void {
    79         ))->redirectToOriginalTarget();
    81         $this->assertTrue($called);
    86         $setting = $this->mock(Setting::class);
    87         $setting->method(
'value')->willReturn(
'some url');
    88         $setting->expects(self::once())->method(
'update')->with(null);
    90         $session = $this->mock(SelectSetting::class);
    91         $session->method(
'typed')->willReturnCallback(
function (
string $key, callable $proc) use (
$setting) {
    92             $this->assertSame(
'orig_request_target', $key);
    97         $ctrl = $this->mock(ilCtrl::class);
    98         $ctrl->expects(self::once())->method(
'redirectToURL')->with(
'some url');
   105         ))->redirectToOriginalTarget();