ILIAS  trunk Revision v11.0_alpha-1713-gd8962da2f67
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
BulkyButtonTest Class Reference

Test on button implementation. More...

+ Inheritance diagram for BulkyButtonTest:
+ Collaboration diagram for BulkyButtonTest:

Public Member Functions

 setUp ()
 
 testImplementsFactoryInterface ()
 
 testGlyphOrIconForGlyph ()
 
 testGlyphOrIconForIcon ()
 
 testEngaged ()
 
 testEngageableDisengaged ()
 
 testWithAriaRole ()
 
 testWithAriaRoleIncorrect ()
 
 testRenderWithGlyphInContext ()
 
 testRenderWithGlyphInContextAndEngaged ()
 
 testRenderWithGlyphInContextAndDisengaged ()
 
 testRenderWithIcon ()
 
 testRenderButtonWithAriaRoleMenuitemNotEngageable ()
 
 testRenderButtonWithAriaRoleMenuitemIsEngageable ()
 
 testRenderWithLabelAndAltImageSame ()
 
 testRenderWithHelpTopics ()
 

Protected Member Functions

 getHtmlWithGlyph (bool $engeagable=false, bool $engeaged=false)
 

Private Attributes

I Component Button Factory $button_factory
 
I Component Symbol Glyph Glyph $glyph
 
I Component Symbol Icon Standard $icon
 

Detailed Description

Test on button implementation.

Definition at line 30 of file BulkyButtonTest.php.

Member Function Documentation

◆ getHtmlWithGlyph()

BulkyButtonTest::getHtmlWithGlyph ( bool  $engeagable = false,
bool  $engeaged = false 
)
protected

Definition at line 165 of file BulkyButtonTest.php.

Referenced by testRenderWithGlyphInContext(), testRenderWithGlyphInContextAndDisengaged(), and testRenderWithGlyphInContextAndEngaged().

165  : string
166  {
167  $aria_pressed = "";
168  $engaged_class = "";
169  if ($engeagable) {
170  if ($engeagable) {
171  $aria_pressed = " aria-pressed='true'";
172  $engaged_class = " engaged";
173  } else {
174  $aria_pressed = " aria-pressed='false'";
175  $engaged_class = " disengaged";
176  }
177  }
178  return ''
179  . '<button class="btn btn-bulky' . $engaged_class . '" data-action="http://www.ilias.de" id="id_1" ' . $aria_pressed . '>'
180  . ' <span class="glyph" role="img">'
181  . ' <span class="glyphicon glyphicon-briefcase" aria-hidden="true"></span>'
182  . ' </span>'
183  . ' <span class="bulky-label">label</span>'
184  . '</button>';
185  }
+ Here is the caller graph for this function:

◆ setUp()

BulkyButtonTest::setUp ( )

Definition at line 36 of file BulkyButtonTest.php.

36  : void
37  {
38  $this->button_factory = new I\Component\Button\Factory();
39  $this->glyph = new I\Component\Symbol\Glyph\Glyph("briefcase", "briefcase");
40  $this->icon = new I\Component\Symbol\Icon\Standard("someExample", "Example", "small", false);
41  }

◆ testEngageableDisengaged()

BulkyButtonTest::testEngageableDisengaged ( )

Definition at line 94 of file BulkyButtonTest.php.

References Vendor\Package\$b.

94  : void
95  {
96  $b = $this->button_factory->bulky($this->glyph, "label", "http://www.ilias.de");
97  $this->assertFalse($b->isEngaged());
98  $this->assertFalse($b->isEngageable());
99 
100  $b = $b->withEngagedState(false);
101  $this->assertInstanceOf(
102  "ILIAS\\UI\\Component\\Button\\Bulky",
103  $b
104  );
105  $this->assertFalse($b->isEngaged());
106  $this->assertTrue($b->isEngageable());
107  }

◆ testEngaged()

BulkyButtonTest::testEngaged ( )

Definition at line 79 of file BulkyButtonTest.php.

References Vendor\Package\$b.

79  : void
80  {
81  $b = $this->button_factory->bulky($this->glyph, "label", "http://www.ilias.de");
82  $this->assertFalse($b->isEngaged());
83  $this->assertFalse($b->isEngageable());
84 
85  $b = $b->withEngagedState(true);
86  $this->assertInstanceOf(
87  "ILIAS\\UI\\Component\\Button\\Bulky",
88  $b
89  );
90  $this->assertTrue($b->isEngaged());
91  $this->assertTrue($b->isEngageable());
92  }

◆ testGlyphOrIconForGlyph()

BulkyButtonTest::testGlyphOrIconForGlyph ( )

Definition at line 61 of file BulkyButtonTest.php.

References Vendor\Package\$b.

61  : void
62  {
63  $b = $this->button_factory->bulky($this->glyph, "label", "http://www.ilias.de");
64  $this->assertEquals(
65  $this->glyph,
66  $b->getSymbol()
67  );
68  }

◆ testGlyphOrIconForIcon()

BulkyButtonTest::testGlyphOrIconForIcon ( )

Definition at line 70 of file BulkyButtonTest.php.

References Vendor\Package\$b.

70  : void
71  {
72  $b = $this->button_factory->bulky($this->icon, "label", "http://www.ilias.de");
73  $this->assertEquals(
74  $this->icon,
75  $b->getSymbol()
76  );
77  }

◆ testImplementsFactoryInterface()

BulkyButtonTest::testImplementsFactoryInterface ( )

Definition at line 43 of file BulkyButtonTest.php.

References $button_factory, $c, and Vendor\Package\$f.

43  : void
44  {
45  $this->assertInstanceOf(
46  "ILIAS\\UI\\Component\\Button\\Bulky",
47  $this->button_factory->bulky($this->glyph, "label", "http://www.ilias.de")
48  );
49  }

◆ testRenderButtonWithAriaRoleMenuitemIsEngageable()

BulkyButtonTest::testRenderButtonWithAriaRoleMenuitemIsEngageable ( )

Definition at line 222 of file BulkyButtonTest.php.

References Vendor\Package\$b, and $r.

222  : void
223  {
224  $r = $this->getDefaultRenderer();
225  $b = $this->button_factory->bulky($this->icon, "label", "http://www.ilias.de")
226  ->withEngagedState(false)
227  ->withAriaRole(I\Component\Button\Bulky::MENUITEM);
228 
229  $expected = ''
230  . '<button class="btn btn-bulky" data-action="http://www.ilias.de" id="id_1" role="menuitem" aria-haspopup="true">'
231  . ' <img class="icon someExample small" src="./assets/images/standard/icon_default.svg" alt=""/>'
232  . ' <span class="bulky-label">label</span>'
233  . '</button>';
234 
235  $this->assertHTMLEquals(
236  $expected,
237  $r->render($b)
238  );
239  }
$r

◆ testRenderButtonWithAriaRoleMenuitemNotEngageable()

BulkyButtonTest::testRenderButtonWithAriaRoleMenuitemNotEngageable ( )

Definition at line 204 of file BulkyButtonTest.php.

References Vendor\Package\$b, and $r.

204  : void
205  {
206  $r = $this->getDefaultRenderer();
207  $b = $this->button_factory->bulky($this->icon, "label", "http://www.ilias.de")
208  ->withAriaRole(I\Component\Button\Bulky::MENUITEM);
209 
210  $expected = ''
211  . '<button class="btn btn-bulky" data-action="http://www.ilias.de" id="id_1" role="menuitem">'
212  . ' <img class="icon someExample small" src="./assets/images/standard/icon_default.svg" alt=""/>'
213  . ' <span class="bulky-label">label</span>'
214  . '</button>';
215 
216  $this->assertHTMLEquals(
217  $expected,
218  $r->render($b)
219  );
220  }
$r

◆ testRenderWithGlyphInContext()

BulkyButtonTest::testRenderWithGlyphInContext ( )

Definition at line 131 of file BulkyButtonTest.php.

References Vendor\Package\$b, $r, and getHtmlWithGlyph().

131  : void
132  {
133  $r = $this->getDefaultRenderer();
134  $b = $this->button_factory->bulky($this->glyph, "label", "http://www.ilias.de");
135 
136  $this->assertHTMLEquals(
137  $this->getHtmlWithGlyph(),
138  $r->render($b)
139  );
140  }
getHtmlWithGlyph(bool $engeagable=false, bool $engeaged=false)
$r
+ Here is the call graph for this function:

◆ testRenderWithGlyphInContextAndDisengaged()

BulkyButtonTest::testRenderWithGlyphInContextAndDisengaged ( )

Definition at line 154 of file BulkyButtonTest.php.

References Vendor\Package\$b, $r, and getHtmlWithGlyph().

154  : void
155  {
156  $r = $this->getDefaultRenderer();
157  $b = $this->button_factory->bulky($this->glyph, "label", "http://www.ilias.de")
158  ->withEngagedState(true);
159  $this->assertHTMLEquals(
160  $this->getHtmlWithGlyph(true),
161  $r->render($b)
162  );
163  }
getHtmlWithGlyph(bool $engeagable=false, bool $engeaged=false)
$r
+ Here is the call graph for this function:

◆ testRenderWithGlyphInContextAndEngaged()

BulkyButtonTest::testRenderWithGlyphInContextAndEngaged ( )

Definition at line 142 of file BulkyButtonTest.php.

References Vendor\Package\$b, $r, and getHtmlWithGlyph().

142  : void
143  {
144  $r = $this->getDefaultRenderer();
145  $b = $this->button_factory->bulky($this->glyph, "label", "http://www.ilias.de")
146  ->withEngagedState(true);
147 
148  $this->assertHTMLEquals(
149  $this->getHtmlWithGlyph(true, true),
150  $r->render($b)
151  );
152  }
getHtmlWithGlyph(bool $engeagable=false, bool $engeaged=false)
$r
+ Here is the call graph for this function:

◆ testRenderWithHelpTopics()

BulkyButtonTest::testRenderWithHelpTopics ( )

Definition at line 259 of file BulkyButtonTest.php.

References Vendor\Package\$b, $r, and ILIAS\Repository\button().

259  : void
260  {
261  $r = $this->getDefaultRenderer();
262  $b = $this->button_factory->bulky($this->icon, "Example", "http://www.ilias.de")
263  ->withAriaRole(I\Component\Button\Bulky::MENUITEM)
264  ->withHelpTopics(new \ILIAS\UI\Help\Topic("a"));
265  ;
266 
267  $expected = <<<EXP
268 <div class="c-tooltip__container">
269 <button class="btn btn-bulky" data-action="http://www.ilias.de" id="id_1" role="menuitem" aria-describedby="id_2">
270  <img class="icon someExample small" src="./assets/images/standard/icon_default.svg" alt="" /><span class="bulky-label">Example</span>
271  </button>
272 <div id="id_2" role="tooltip" class="c-tooltip c-tooltip--hidden"><p>tooltip: a</p></div>
273 </div>
274 EXP;
275 
276  $this->assertHTMLEquals(
277  $expected,
278  $r->render($b)
279  );
280  }
button(string $caption, string $cmd)
Interface Observer Contains several chained tasks and infos about them.
$r
+ Here is the call graph for this function:

◆ testRenderWithIcon()

BulkyButtonTest::testRenderWithIcon ( )

Definition at line 187 of file BulkyButtonTest.php.

References Vendor\Package\$b, and $r.

187  : void
188  {
189  $r = $this->getDefaultRenderer();
190  $b = $this->button_factory->bulky($this->icon, "label", "http://www.ilias.de");
191 
192  $expected = ''
193  . '<button class="btn btn-bulky" data-action="http://www.ilias.de" id="id_1">'
194  . ' <img class="icon someExample small" src="./assets/images/standard/icon_default.svg" alt=""/>'
195  . ' <span class="bulky-label">label</span>'
196  . '</button>';
197 
198  $this->assertHTMLEquals(
199  $expected,
200  $r->render($b)
201  );
202  }
$r

◆ testRenderWithLabelAndAltImageSame()

BulkyButtonTest::testRenderWithLabelAndAltImageSame ( )

Definition at line 241 of file BulkyButtonTest.php.

References Vendor\Package\$b, and $r.

241  : void
242  {
243  $r = $this->getDefaultRenderer();
244  $b = $this->button_factory->bulky($this->icon, "Example", "http://www.ilias.de")
245  ->withEngagedState(false)
246  ->withAriaRole(I\Component\Button\Bulky::MENUITEM);
247 
248  $expected = ''
249  . '<button class="btn btn-bulky" data-action="http://www.ilias.de" id="id_1" role="menuitem" aria-haspopup="true">'
250  . ' <img class="icon someExample small" src="./assets/images/standard/icon_default.svg" alt=""/>'
251  . ' <span class="bulky-label">Example</span>'
252  . '</button>';
253 
254  $this->assertHTMLEquals(
255  $expected,
256  $r->render($b)
257  );
258  }
$r

◆ testWithAriaRole()

BulkyButtonTest::testWithAriaRole ( )

Definition at line 109 of file BulkyButtonTest.php.

References Vendor\Package\$b, and Vendor\Package\$e.

109  : void
110  {
111  try {
112  $b = $this->button_factory->bulky($this->glyph, "label", "http://www.ilias.de")
113  ->withAriaRole(I\Component\Button\Bulky::MENUITEM);
114  $this->assertEquals("menuitem", $b->getAriaRole());
115  } catch (InvalidArgumentException $e) {
116  $this->assertFalse("This should not happen");
117  }
118  }

◆ testWithAriaRoleIncorrect()

BulkyButtonTest::testWithAriaRoleIncorrect ( )

Definition at line 120 of file BulkyButtonTest.php.

References Vendor\Package\$e.

120  : void
121  {
122  try {
123  $this->button_factory->bulky($this->glyph, "label", "http://www.ilias.de")
124  ->withAriaRole("loremipsum");
125  $this->assertFalse("This should not happen");
126  } catch (InvalidArgumentException $e) {
127  $this->assertTrue(true);
128  }
129  }

Field Documentation

◆ $button_factory

I Component Button Factory BulkyButtonTest::$button_factory
private

Definition at line 32 of file BulkyButtonTest.php.

Referenced by testImplementsFactoryInterface().

◆ $glyph

I Component Symbol Glyph Glyph BulkyButtonTest::$glyph
private

Definition at line 33 of file BulkyButtonTest.php.

◆ $icon

I Component Symbol Icon Standard BulkyButtonTest::$icon
private

Definition at line 34 of file BulkyButtonTest.php.


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