ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
ToggleButtonTest Class Reference

Test Toggle Button. More...

+ Inheritance diagram for ToggleButtonTest:
+ Collaboration diagram for ToggleButtonTest:

Public Member Functions

 getFactory ()
 
 test_implements_factory_interface ()
 
 test_construction_action_on_type_wrong ()
 
 test_construction_action_off_type_wrong ()
 
 test_setOn_on_default ()
 
 test_append_OnAction ()
 
 test_append_OffAction ()
 
 test_render_with_label ()
 
 test_render_setOn_on_default ()
 
 test_render_with_signals ()
 
 test_append_UnavailAction ($button)
 test_render_setOn_on_default More...
 
- Public Member Functions inherited from ILIAS_UI_TestBase
 setUp ()
 
 tearDown ()
 
 getUIFactory ()
 
 getTemplateFactory ()
 
 getResourceRegistry ()
 
 getLanguage ()
 
 getJavaScriptBinding ()
 
 getRefinery ()
 
 getDefaultRenderer (JavaScriptBinding $js_binding=null)
 
 getDecoratedRenderer (Renderer $default)
 
 normalizeHTML ($html)
 
 assertHTMLEquals ($expected_html_as_string, $html_as_string)
 

Additional Inherited Members

- Protected Member Functions inherited from ILIAS_UI_TestBase
 brutallyTrimHTML ($html)
 A more radical version of normalizeHTML. More...
 

Detailed Description

Test Toggle Button.

Definition at line 14 of file ToggleButtonTest.php.

Member Function Documentation

◆ getFactory()

ToggleButtonTest::getFactory ( )

Definition at line 16 of file ToggleButtonTest.php.

Referenced by test_append_OffAction(), test_append_OnAction(), test_construction_action_off_type_wrong(), test_construction_action_on_type_wrong(), test_implements_factory_interface(), test_render_setOn_on_default(), test_render_with_label(), test_render_with_signals(), and test_setOn_on_default().

17  {
18  return new \ILIAS\UI\Implementation\Component\Button\Factory();
19  }
+ Here is the caller graph for this function:

◆ test_append_OffAction()

ToggleButtonTest::test_append_OffAction ( )

Definition at line 74 of file ToggleButtonTest.php.

References Vendor\Package\$f, and getFactory().

75  {
76  $f = $this->getFactory();
77  $signal_off1 = $this->createMock(Signal::class);
78  $signal_off2 = $this->createMock(Signal::class);
79  //$signal_on = $this->createMock(Signal::class);
80  $button = $f->toggle("label", "action_on", $signal_off1);
81  $this->assertEquals([$signal_off1], $button->getActionOff());
82 
83  $button = $button->withAdditionalToggleOffSignal($signal_off2);
84  $this->assertEquals([$signal_off1, $signal_off2], $button->getActionOff());
85  }
+ Here is the call graph for this function:

◆ test_append_OnAction()

ToggleButtonTest::test_append_OnAction ( )

Definition at line 61 of file ToggleButtonTest.php.

References Vendor\Package\$f, and getFactory().

62  {
63  $f = $this->getFactory();
64  $signal_on1 = $this->createMock(Signal::class);
65  $signal_on2 = $this->createMock(Signal::class);
66  $signal_off = $this->createMock(Signal::class);
67  $button = $f->toggle("label", $signal_on1, $signal_off);
68  $this->assertEquals([$signal_on1], $button->getActionOn());
69 
70  $button = $button->withAdditionalToggleOnSignal($signal_on2);
71  $this->assertEquals([$signal_on1, $signal_on2], $button->getActionOn());
72  }
+ Here is the call graph for this function:

◆ test_append_UnavailAction()

ToggleButtonTest::test_append_UnavailAction (   $button)

test_render_setOn_on_default

Definition at line 140 of file ToggleButtonTest.php.

References ILIAS_UI_TestBase\assertHTMLEquals(), and ILIAS_UI_TestBase\getDefaultRenderer().

141  {
142  $r = $this->getDefaultRenderer();
143  $button = $button->withUnavailableAction();
144 
145  $html = $r->render($button);
146 
147  $expected = ''
148  . '<button class="il-toggle-button unavailable" aria-pressed="false" disabled="disabled">'
149  . ' <div class="il-toggle-switch"></div>'
150  . '</button>';
151 
152  $this->assertHTMLEquals(
153  $expected,
154  $html
155  );
156  }
getDefaultRenderer(JavaScriptBinding $js_binding=null)
Definition: Base.php:268
assertHTMLEquals($expected_html_as_string, $html_as_string)
Definition: Base.php:326
+ Here is the call graph for this function:

◆ test_construction_action_off_type_wrong()

ToggleButtonTest::test_construction_action_off_type_wrong ( )

Definition at line 42 of file ToggleButtonTest.php.

References Vendor\Package\$e, Vendor\Package\$f, and getFactory().

43  {
44  $f = $this->getFactory();
45  try {
46  $f->toggle("label", "action_on_string", 2);
47  $this->assertFalse("This should not happen");
48  } catch (\InvalidArgumentException $e) {
49  $this->assertTrue(true);
50  }
51  }
+ Here is the call graph for this function:

◆ test_construction_action_on_type_wrong()

ToggleButtonTest::test_construction_action_on_type_wrong ( )

Definition at line 31 of file ToggleButtonTest.php.

References Vendor\Package\$e, Vendor\Package\$f, and getFactory().

32  {
33  $f = $this->getFactory();
34  try {
35  $f->toggle("label", 1, "action_off_string");
36  $this->assertFalse("This should not happen");
37  } catch (\InvalidArgumentException $e) {
38  $this->assertTrue(true);
39  }
40  }
+ Here is the call graph for this function:

◆ test_implements_factory_interface()

ToggleButtonTest::test_implements_factory_interface ( )

Definition at line 21 of file ToggleButtonTest.php.

References Vendor\Package\$f, and getFactory().

22  {
23  $f = $this->getFactory();
24 
25  $this->assertInstanceOf(
26  "ILIAS\\UI\\Component\\Button\\Toggle",
27  $f->toggle("label", "action_on_string", "action_off_string")
28  );
29  }
+ Here is the call graph for this function:

◆ test_render_setOn_on_default()

ToggleButtonTest::test_render_setOn_on_default ( )

Definition at line 102 of file ToggleButtonTest.php.

References ILIAS_UI_TestBase\assertHTMLEquals(), ILIAS_UI_TestBase\getDefaultRenderer(), and getFactory().

103  {
104  $r = $this->getDefaultRenderer();
105  $button = $this->getFactory()->toggle("", "action_on_string", "action_off_string", true);
106 
107  $expected = ''
108  . '<button class="il-toggle-button on" id="id_1" aria-pressed="false">' //aria-pressed is set to "true" by JS
109  . ' <div class="il-toggle-switch"></div>'
110  . '</button>';
111 
112  $this->assertHTMLEquals($expected, $r->render($button));
113  return $button;
114  }
getDefaultRenderer(JavaScriptBinding $js_binding=null)
Definition: Base.php:268
assertHTMLEquals($expected_html_as_string, $html_as_string)
Definition: Base.php:326
+ Here is the call graph for this function:

◆ test_render_with_label()

ToggleButtonTest::test_render_with_label ( )

Definition at line 87 of file ToggleButtonTest.php.

References ILIAS_UI_TestBase\assertHTMLEquals(), ILIAS_UI_TestBase\getDefaultRenderer(), and getFactory().

88  {
89  $r = $this->getDefaultRenderer();
90  $button = $this->getFactory()->toggle("label", "action_on_string", "action_off_string");
91 
92  $expected = <<<EOT
93  <label>label</label>
94 <button class="il-toggle-button off" id="id_1" aria-pressed="false">
95  <div class="il-toggle-switch"></div>
96 </button>
97 EOT;
98 
99  $this->assertHTMLEquals("<div>" . $expected . "</div>", "<div>" . $r->render($button) . "</div>");
100  }
getDefaultRenderer(JavaScriptBinding $js_binding=null)
Definition: Base.php:268
assertHTMLEquals($expected_html_as_string, $html_as_string)
Definition: Base.php:326
+ Here is the call graph for this function:

◆ test_render_with_signals()

ToggleButtonTest::test_render_with_signals ( )

Definition at line 116 of file ToggleButtonTest.php.

References ILIAS_UI_TestBase\assertHTMLEquals(), ILIAS_UI_TestBase\getDefaultRenderer(), and getFactory().

117  {
118  $r = $this->getDefaultRenderer();
119  $signal_on = $this->createMock(Signal::class);
120  $signal_on->method("__toString")
121  ->willReturn("MOCK_SIGNAL");
122  $signal_off = $this->createMock(Signal::class);
123  $signal_off->method("__toString")
124  ->willReturn("MOCK_SIGNAL");
125  $button = $this->getFactory()->toggle("label", $signal_on, $signal_off);
126 
127  $expected = <<<EOT
128  <label>label</label>
129 <button class="il-toggle-button off" id="id_1" aria-pressed="false">
130  <div class="il-toggle-switch"></div>
131 </button>
132 EOT;
133 
134  $this->assertHTMLEquals("<div>" . $expected . "</div>", "<div>" . $r->render($button) . "</div>");
135  }
getDefaultRenderer(JavaScriptBinding $js_binding=null)
Definition: Base.php:268
assertHTMLEquals($expected_html_as_string, $html_as_string)
Definition: Base.php:326
+ Here is the call graph for this function:

◆ test_setOn_on_default()

ToggleButtonTest::test_setOn_on_default ( )

Definition at line 53 of file ToggleButtonTest.php.

References Vendor\Package\$f, and getFactory().

54  {
55  $f = $this->getFactory();
56  $button = $f->toggle("label", "action_on_string", "action_off_string", true);
57 
58  $this->assertTrue($button->isEngaged());
59  }
+ Here is the call graph for this function:

The documentation for this class was generated from the following file: