19 declare(strict_types=1);
    39         $container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
    41         $this->assertInstanceOf(PresentationHeader::class, $head);
    47     public function testShow(
bool $additional = 
false): void
    49         $mode = $this->getMockBuilder(Mode::class)->disableOriginalConstructor()->getMock();
    50         $mode->expects(self::once())->method(
'withActive')->with(
'tile_view')->willReturn($mode);
    52         $view_control = $this->getMockBuilder(ViewControl::class)->disableOriginalConstructor()->getMock();
    53         $view_control->expects(self::once())->method(
'mode')->with([
    54             'tile_view' => 
'list URL',
    55             'table_view' => 
'manage URL',
    56         ])->willReturn($mode);
    58         $additional_component = [];
    60             $additional_component[] = [$this->getMockBuilder(Component::class)->getMock()];
    63         $toolbar = $this->getMockBuilder(ilToolbarGUI::class)->disableOriginalConstructor()->getMock();
    64         $toolbar->expects(self::exactly($additional + 1))->method(
'addStickyItem')->withConsecutive([$mode], ...$additional_component);
    66         $factory = $this->getMockBuilder(UI::class)->disableOriginalConstructor()->getMock();
    67         $factory->expects(self::once())->method(
'viewControl')->willReturn($view_control);
    69         $ui = $this->getMockBuilder(UIServices::class)->disableOriginalConstructor()->getMock();
    70         $ui->method(
'factory')->willReturn($factory);
    72         $ctrl = $this->getMockBuilder(ilCtrl::class)->disableOriginalConstructor()->getMock();
    73         $ctrl->expects(self::exactly(2))->method(
'getLinkTargetByClass')->withConsecutive(
    74             [
'Some class.', 
'listBadges'],
    75             [
'Some class.', 
'manageBadges'],
    76         )->willReturnOnConsecutiveCalls(
'list URL', 
'manage URL');
    78         $language = $this->getMockBuilder(ilLanguage::class)->disableOriginalConstructor()->getMock();
    79         $language->method(
'txt')->willReturnCallback(
static fn(
string $name): 
string => $name);
    81         $container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
    82         $container->expects(self::once())->method(
'toolbar')->willReturn($toolbar);
    85         $container->method(
'language')->willReturn($language);
    88         $head->show(
'tile_view', ...($additional_component[0] ?? []));
    94             'Without additional component' => [],
    95             'With additional component' => [
true],
 
This is how the factory for UI elements looks.