ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
AlignmentTest.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
21 require_once("libs/composer/vendor/autoload.php");
22 require_once(__DIR__ . "../../../../Base.php");
23 
25 use ILIAS\UI\Component as I;
26 
31 {
32  public function testAlignmentBasicConstruction(): void
33  {
34  $f = new C\Layout\Alignment\Factory();
35  $blocks = [
36  new C\Legacy\Legacy('block', new C\SignalGenerator()),
37  new C\Legacy\Legacy('block', new C\SignalGenerator())
38  ];
39  $vert = $f->vertical(...$blocks);
40  $this->assertInstanceOf(I\Layout\Alignment\Alignment::class, $vert);
41  $this->assertEquals($blocks, $vert->getBlocks());
42  $ed = $f->horizontal()->dynamicallyDistributed(...$blocks);
43  $this->assertInstanceOf(I\Layout\Alignment\Alignment::class, $ed);
44  $this->assertEquals($blocks, $ed->getBlocks());
45  $dd = $f->horizontal()->dynamicallyDistributed(...$blocks);
46  $this->assertInstanceOf(I\Layout\Alignment\Alignment::class, $dd);
47  $this->assertEquals($blocks, $dd->getBlocks());
48  }
49 
50  public function testAlignmentEvenlyRendering(): void
51  {
52  $f = new C\Layout\Alignment\Factory();
53  $blocks = [
54  new C\Legacy\Legacy('block', new C\SignalGenerator()),
55  new C\Legacy\Legacy('block', new C\SignalGenerator())
56  ];
57  $renderer = $this->getDefaultRenderer();
58 
59  $ed = $f->horizontal()->evenlyDistributed(...$blocks);
60 
61  $actual = $this->brutallyTrimHTML($renderer->render($ed));
62  $expected = $this->brutallyTrimHTML('
63  <div class="c-layout-alignment c-layout-alignment--horizontal-evenly">
64  <div class=c-layout-alignment__block>block</div>
65  <div class=c-layout-alignment__block>block</div>
66  </div>
67  ');
68  $this->assertEquals($expected, $actual);
69  }
70 
71  public function testAlignmentDynamicalRendering(): void
72  {
73  $f = new C\Layout\Alignment\Factory();
74  $blocks = [
75  new C\Legacy\Legacy('block', new C\SignalGenerator()),
76  new C\Legacy\Legacy('block', new C\SignalGenerator())
77  ];
78  $renderer = $this->getDefaultRenderer();
79 
80  $dd = $f->horizontal()->dynamicallyDistributed(...$blocks);
81  $actual = $this->brutallyTrimHTML($renderer->render($dd));
82  $expected = $this->brutallyTrimHTML('
83  <div class="c-layout-alignment c-layout-alignment--horizontal-dynamically">
84  <div class=c-layout-alignment__block>block</div>
85  <div class=c-layout-alignment__block>block</div>
86  </div>
87  ');
88  $this->assertEquals($expected, $actual);
89  }
90 
91  public function testAlignmentVerticalRendering(): void
92  {
93  $f = new C\Layout\Alignment\Factory();
94  $blocks = [
95  new C\Legacy\Legacy('block', new C\SignalGenerator()),
96  new C\Legacy\Legacy('block', new C\SignalGenerator())
97  ];
98  $renderer = $this->getDefaultRenderer();
99 
100  $vert = $f->vertical(...$blocks);
101  $actual = $this->brutallyTrimHTML($renderer->render($vert));
102  $expected = $this->brutallyTrimHTML('
103  <div class="c-layout-alignment c-layout-alignment--vertical">
104  <div class=c-layout-alignment__block>block</div>
105  <div class=c-layout-alignment__block>block</div>
106  </div>
107  ');
108  $this->assertEquals($expected, $actual);
109  }
110 }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:377
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
testAlignmentVerticalRendering()
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
testAlignmentEvenlyRendering()
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
brutallyTrimHTML(string $html)
A more radical version of normalizeHTML.
Definition: Base.php:475
testAlignmentDynamicalRendering()
Provides common functionality for UI tests.
Definition: Base.php:310
Tests for the Alignment Layout.
testAlignmentBasicConstruction()