19 declare(strict_types=1);
21 require_once(__DIR__ .
'/ModalBase.php');
37 $this->assertEquals([$page], $lightbox->getPages());
44 $this->assertEquals($pages, $lightbox->getPages());
47 #[\PHPUnit\Framework\Attributes\DataProvider('getPageProvider')] 52 $actual = $this->
normalizeHTML($this->getDefaultRenderer()->render($lightbox));
53 $this->assertEquals($expected, $actual);
58 $image =
new I\Component\Image\Image(
"responsive",
'src/fake/image.jpg',
'description');
59 $card =
new I\Component\Card\Card(
'foo');
62 'Render image page' => [
'lightboxImagePage', [$image,
'title'], self::getExpectedImagePageHTML()],
63 'Render text page' => [
'lightboxTextPage', [
'HelloWorld',
'title'], self::getExpectedTextPageHTML()],
64 'Render card page' => [
'lightboxCardPage', [$card], self::getExpectedCardPageHTML()],
70 $image1 =
new I\Component\Image\Image(
"responsive",
'src/fake/image.jpg',
'description');
79 $actual = $this->
normalizeHTML($this->getDefaultRenderer()->render($lightbox));
80 $this->assertEquals($expected, $actual);
91 <dialog
class=
"c-modal c-modal--lightbox il-modal-lightbox il-modal-lightbox-bright" tabindex=
"-1" id=
"id_1">
92 <div
class=
"modal-dialog modal-lg" role=
"document">
93 <div
class=
"modal-content il-modal-lightbox-page">
94 <div
class=
"modal-header">
95 <
form><
button formmethod=
"dialog" class=
"close" aria-label=
"close"><span aria-hidden=
"true"></span></
button></
form>
96 <h1
class=
"modal-title">title</h1>
98 <div
class=
"modal-body">
99 <div
id=
"id_1_carousel" class=
"carousel slide" data-ride=
"carousel" data-interval=
"false">
101 <div
class=
"carousel-inner" role=
"listbox">
102 <div
class=
"item active text-only" data-title=
"title">
103 <div
class=
"item-content ">
120 <dialog
class=
"c-modal c-modal--lightbox il-modal-lightbox il-modal-lightbox-dark" tabindex=
"-1" id=
"id_1">
121 <div
class=
"modal-dialog modal-lg" role=
"document">
122 <div
class=
"modal-content il-modal-lightbox-page">
123 <div
class=
"modal-header">
124 <
form><
button formmethod=
"dialog" class=
"close" aria-label=
"close"><span aria-hidden=
"true"></span></
button></
form>
125 <h1
class=
"modal-title">title</h1>
127 <div
class=
"modal-body">
128 <div
id=
"id_1_carousel" class=
"carousel slide" data-ride=
"carousel" data-interval=
"false">
130 <div
class=
"carousel-inner" role=
"listbox">
132 <div
class=
"item active" data-title=
"title">
133 <div
class=
"item-content ">
134 <img src=
"src/fake/image.jpg" class=
"img-responsive" alt=
"description" />
136 <div
class=
"carousel-caption">
154 <dialog
class=
"c-modal c-modal--lightbox il-modal-lightbox il-modal-lightbox-dark" tabindex=
"-1" id=
"id_1">
155 <div
class=
"modal-dialog modal-lg" role=
"document">
156 <div
class=
"modal-content il-modal-lightbox-page">
157 <div
class=
"modal-header">
158 <
form><
button formmethod=
"dialog" class=
"close" aria-label=
"close"><span aria-hidden=
"true"></span></
button></
form>
159 <h1
class=
"modal-title">title</h1>
161 <div
class=
"modal-body">
162 <div
id=
"id_1_carousel" class=
"carousel slide" data-ride=
"carousel" data-interval=
"false">
164 <ol
class=
"carousel-indicators">
165 <li data-target=
"#id_1_carousel" data-slide-
to=
"0" class=
"active"></li>
166 <li data-target=
"#id_1_carousel" data-slide-to=
"1" class=
""></li>
169 <div
class=
"carousel-inner" role=
"listbox">
170 <div
class=
"item active text-only" data-title=
"title">
171 <div
class=
"item-content ">
176 <div
class=
"item " data-title=
"title">
177 <div
class=
"item-content ">
178 <img src=
"src/fake/image.jpg" class=
"img-responsive" alt=
"description" />
180 <div
class=
"carousel-caption">
186 <
button class=
"left carousel-control btn-link" href=
"#id_1_carousel" role=
"button" data-slide=
"prev">
187 <span
class=
"glyphicon glyphicon-chevron-left" aria-hidden=
"true"></span>
188 <span
class=
"sr-only">Previous</span>
190 <button
class=
"right carousel-control btn-link" href=
"#id_1_carousel" role=
"button" data-slide=
"next">
191 <span
class=
"glyphicon glyphicon-chevron-right" aria-hidden=
"true"></span>
192 <span
class=
"sr-only">Next</span>
206 <dialog
class=
"c-modal c-modal--lightbox il-modal-lightbox il-modal-lightbox-bright" tabindex=
"-1" id=
"id_1">
207 <div
class=
"modal-dialog modal-lg" role=
"document">
208 <div
class=
"modal-content il-modal-lightbox-page">
209 <div
class=
"modal-header">
210 <
form><
button formmethod=
"dialog" class=
"close" aria-label=
"close"><span aria-hidden=
"true"></span></
button></
form>
211 <h1
class=
"modal-title">
foo</h1>
213 <div
class=
"modal-body">
214 <div
id=
"id_1_carousel" class=
"carousel slide" data-ride=
"carousel" data-interval=
"false">
215 <div
class=
"carousel-inner" role=
"listbox">
216 <div
class=
"item active" data-title=
"foo">
217 <div
class=
"item-content item-vertical"></div>
236 public function getComponent(): C\Component
button(string $caption, string $cmd)
static getExpectedImagePageHTML()
testSimplePageRendering(string $method, array $args, string $expected_html)
static getExpectedMixedPagesHTML()
static getExpectedTextPageHTML()
static getExpectedCardPageHTML()
Base class for modal tests.
normalizeHTML(string $html)
Tests on implementation for the lightbox modal.
testDifferentPageTypeRendering()
form( $class_path, string $cmd, string $submit_caption="")
Some very basic component implementation.
to(\GdImage $image, ?int $quality=null)
Currently this is the only way to make a FileStream from a GD image resource.