3 declare(strict_types=1);
21 require_once(__DIR__ .
"/../../../../libs/composer/vendor/autoload.php");
22 require_once(__DIR__ .
"/../../Base.php");
34 return new IC\MessageBox\Factory();
38 return new IC\Button\Factory();
42 return new IC\Link\Factory();
47 return array( array(
C\MessageBox\MessageBox::FAILURE)
48 , array(
C\MessageBox\MessageBox::SUCCESS)
49 , array(
C\MessageBox\MessageBox::INFO)
50 , array(
C\MessageBox\MessageBox::CONFIRMATION)
55 ,
C\MessageBox\MessageBox::SUCCESS =>
"alert-success" 56 ,
C\MessageBox\MessageBox::INFO =>
"alert-info" 57 ,
C\MessageBox\MessageBox::CONFIRMATION =>
"alert-warning" 61 ,
C\MessageBox\MessageBox::SUCCESS =>
"status" 62 ,
C\MessageBox\MessageBox::INFO =>
"status" 63 ,
C\MessageBox\MessageBox::CONFIRMATION =>
"status" 69 public function listing(): IC\Listing\Factory
71 return new IC\Listing\Factory();
83 $this->assertInstanceOf(
"ILIAS\\UI\\Component\\MessageBox\\Factory",
$f);
84 $this->assertInstanceOf(
"ILIAS\\UI\\Component\\MessageBox\\MessageBox",
$f->$factory_method(
"Lorem ipsum dolor sit amet."));
93 $g =
$f->$factory_method(
"Lorem ipsum dolor sit amet.");
95 $this->assertNotNull($g);
96 $this->assertEquals($factory_method, $g->getType());
105 $g =
$f->$factory_method(
"Lorem ipsum dolor sit amet.");
107 $this->assertNotNull($g);
108 $this->assertEquals(
"Lorem ipsum dolor sit amet.", $g->getMessageText());
118 $g =
$f->$factory_method(
"Lorem ipsum dolor sit amet.");
120 $buttons = [$bf->standard(
"Confirm",
"#"), $bf->standard(
"Cancel",
"#")];
121 $g2 = $g->withButtons($buttons);
123 $this->assertEmpty($g->getButtons());
124 $this->assertNotEmpty($g2->getButtons());
134 $g =
$f->$factory_method(
"Lorem ipsum dolor sit amet.");
137 $lf->standard(
"Open Exercise Assignment",
"#"),
138 $lf->standard(
"Open other screen",
"#"),
140 $g2 = $g->withLinks($links);
142 $this->assertEmpty($g->getLinks());
143 $this->assertNotEmpty($g2->getLinks());
154 $g =
$f->$factory_method(
"Lorem ipsum dolor sit amet.");
156 $buttons = [$bf->standard(
"Confirm",
"#"), $bf->standard(
"Cancel",
"#")];
158 $lf->standard(
"Open Exercise Assignment",
"#"),
159 $lf->standard(
"Open other screen",
"#"),
161 $g2 = $g->withButtons($buttons)->withLinks($links);
163 $this->assertFalse(count($g->getButtons()) > 0 && count($g->getLinks()) > 0);
164 $this->assertTrue(count($g2->getButtons()) > 0 && count($g2->getLinks()) > 0);
174 $g =
$f->$factory_method(
"Lorem ipsum dolor sit amet.");
175 $css_classes = self::$canonical_css_classes[$factory_method];
176 $role_type = self::$canonical_role_types[$factory_method];
179 $expected =
"<div class=\"alert $css_classes\" role=\"$role_type\">" .
180 "<div class=\"ilAccHeadingHidden\"><a id=\"il_message_focus\" name=\"il_message_focus\">" .
181 $g->getType() .
"_message</a></div>Lorem ipsum dolor sit amet.</div>";
193 $css_classes = self::$canonical_css_classes[$factory_method];
194 $role_type = self::$canonical_role_types[$factory_method];
196 $buttons = [$bf->standard(
"Confirm",
"#"), $bf->standard(
"Cancel",
"#")];
198 $g =
$f->$factory_method(
"Lorem ipsum dolor sit amet.")->withButtons($buttons);
201 $expected =
"<div class=\"alert $css_classes\" role=\"$role_type\">" .
202 "<div class=\"ilAccHeadingHidden\"><a id=\"il_message_focus\" name=\"il_message_focus\">" .
203 $g->getType() .
"_message</a></div>Lorem ipsum dolor sit amet." .
204 "<div><button class=\"btn btn-default\" data-action=\"#\" id=\"id_1\">Confirm</button>" .
205 "<button class=\"btn btn-default\" data-action=\"#\" id=\"id_2\">Cancel</button></div></div>";
217 $css_classes = self::$canonical_css_classes[$factory_method];
218 $role_type = self::$canonical_role_types[$factory_method];
221 $lf->standard(
"Open Exercise Assignment",
"#"),
222 $lf->standard(
"Open other screen",
"#"),
225 $g =
$f->$factory_method(
"Lorem ipsum dolor sit amet.")->withLinks($links);
228 $expected =
"<div class=\"alert $css_classes\" role=\"$role_type\">" .
229 "<div class=\"ilAccHeadingHidden\"><a id=\"il_message_focus\" name=\"il_message_focus\">" .
230 $g->getType() .
"_message</a></div>Lorem ipsum dolor sit amet." .
231 "<ul><li><a href=\"#\" >Open Exercise Assignment</a></li>" .
232 "<li><a href=\"#\" >Open other screen</a></li></ul></div>";
245 $css_classes = self::$canonical_css_classes[$factory_method];
246 $role_type = self::$canonical_role_types[$factory_method];
248 $buttons = [$bf->standard(
"Confirm",
"#"), $bf->standard(
"Cancel",
"#")];
250 $lf->standard(
"Open Exercise Assignment",
"#"),
251 $lf->standard(
"Open other screen",
"#"),
254 $g =
$f->$factory_method(
"Lorem ipsum dolor sit amet.")->withButtons($buttons)->withLinks($links);
257 $expected =
"<div class=\"alert $css_classes\" role=\"$role_type\">" .
258 "<div class=\"ilAccHeadingHidden\"><a id=\"il_message_focus\" name=\"il_message_focus\">" .
259 $g->getType() .
"_message</a></div>Lorem ipsum dolor sit amet." .
260 "<div><button class=\"btn btn-default\" data-action=\"#\" id=\"id_1\">Confirm</button>" .
261 "<button class=\"btn btn-default\" data-action=\"#\" id=\"id_2\">Cancel</button></div>" .
262 "<ul><li><a href=\"#\" >Open Exercise Assignment</a></li>" .
263 "<li><a href=\"#\" >Open other screen</a></li></ul></div>";
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
test_render_with_buttons(string $factory_method)
messagebox_type_provider
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
test_render_with_buttons_and_links(string $factory_method)
messagebox_type_provider
test_render_simple(string $factory_method)
messagebox_type_provider
test_messagebox_types(string $factory_method)
messagebox_type_provider
test_implements_factory_interface(string $factory_method)
messagebox_type_provider
assertHTMLEquals(string $expected_html_as_string, string $html_as_string)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
test_messagebox_messagetext(string $factory_method)
messagebox_type_provider
Provides common functionality for UI tests.
messagebox_type_provider()
test_with_buttons_and_links(string $factory_method)
messagebox_type_provider
static array $canonical_role_types
test_with_buttons(string $factory_method)
messagebox_type_provider
test_render_with_links(string $factory_method)
messagebox_type_provider
static array $canonical_css_classes
test_with_links(string $factory_method)
messagebox_type_provider
normalizeHTML(string $html)