19declare(strict_types=1);
24use PHPUnit\Framework\TestCase;
34use PHPUnit\Framework\Attributes\DataProvider;
40 $container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
42 $this->assertInstanceOf(PresentationHeader::class, $head);
45 #[DataProvider('showProvider')]
46 public function testShow(
bool $additional =
false): void
48 $mode = $this->getMockBuilder(Mode::class)->disableOriginalConstructor()->getMock();
49 $mode->expects($this->once())->method(
'withActive')->with(
'tile_view')->willReturn($mode);
51 $view_control = $this->getMockBuilder(ViewControl::class)->disableOriginalConstructor()->getMock();
52 $view_control->expects($this->once())->method(
'mode')->with([
53 'tile_view' =>
'list URL',
54 'table_view' =>
'manage URL',
55 ])->willReturn($mode);
57 $additional_component = [];
58 $consecutive_expected = [$mode];
60 $mock = $this->getMockBuilder(Component::class)->getMock();
61 $additional_component[] = [$mock];
62 $consecutive_expected[] = $mock;
65 $toolbar = $this->getMockBuilder(ilToolbarGUI::class)->disableOriginalConstructor()->getMock();
67 ->expects($this->exactly($additional + 1))
68 ->method(
'addStickyItem')
70 function ($component) use (&$consecutive_expected) {
71 $expected = array_shift($consecutive_expected);
72 $this->assertEquals($expected, $component);
77 $factory = $this->getMockBuilder(UI::class)->disableOriginalConstructor()->getMock();
78 $factory->expects($this->once())->method(
'viewControl')->willReturn($view_control);
80 $ui = $this->getMockBuilder(UIServices::class)->disableOriginalConstructor()->getMock();
81 $ui->method(
'factory')->willReturn($factory);
84 [
'Some class.',
'listBadges',
'list URL'],
85 [
'Some class.',
'manageBadges',
'manage URL'],
87 $ctrl = $this->getMockBuilder(ilCtrl::class)->disableOriginalConstructor()->getMock();
89 ->expects($this->exactly(2))
90 ->method(
'getLinkTargetByClass')
92 function ($class, $cmd) use (&$consecutive) {
93 list($expected_class, $expected_cmd, $ret) = array_shift($consecutive);
94 $this->assertEquals($class, $expected_class);
95 $this->assertEquals($cmd, $expected_cmd);
100 $language = $this->getMockBuilder(ilLanguage::class)->disableOriginalConstructor()->getMock();
101 $language->method(
'txt')->willReturnCallback(
static fn(
string $name):
string => $name);
103 $container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
104 $container->expects($this->once())->method(
'toolbar')->willReturn($toolbar);
106 $container->method(
'ctrl')->willReturn($ctrl);
107 $container->method(
'language')->willReturn($language);
110 $head->show(
'tile_view', $additional_component[0][0] ??
null);
116 'Without additional component' => [],
117 'With additional component' => [
true],
Customizing of pimple-DIC for ILIAS.
Provides fluid interface to RBAC services.
Builds a Color from either hex- or rgb values.
Class ilCtrl provides processing control methods.
A component is the most general form of an entity in the UI.
This is how the factory for UI elements looks.