From 9a2101f13f3cea212f8d8ddaeb259d0990dbe977 Mon Sep 17 00:00:00 2001 From: Rostislav Wolny Date: Thu, 16 May 2019 16:14:15 +0200 Subject: [PATCH] Add test for image renderer [MAILPOET-2086] --- lib/Newsletter/Renderer/Blocks/Image.php | 7 ++- .../Newsletter/Renderer/Blocks/ImageTest.php | 43 +++++++++++++++++++ 2 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 tests/unit/Newsletter/Renderer/Blocks/ImageTest.php diff --git a/lib/Newsletter/Renderer/Blocks/Image.php b/lib/Newsletter/Renderer/Blocks/Image.php index eaba75ea2d..135124f050 100644 --- a/lib/Newsletter/Renderer/Blocks/Image.php +++ b/lib/Newsletter/Renderer/Blocks/Image.php @@ -31,11 +31,10 @@ class Image { } $image_template = ' - ' . EHelper::escapeHtmlAttr($element['alt']) . ' + ' . EHelper::escapeHtmlAttr($element['alt']) . ' '; if (!empty($element['link'])) { - $image_template = '' . $image_template . ''; + $image_template = '' . trim($image_template) . ''; } $align = 'center'; if (!empty($element['styles']['block']['textAlign']) && in_array($element['styles']['block']['textAlign'], ['left', 'right'])) { @@ -45,7 +44,7 @@ class Image { $template = ' - ' . $image_template . ' + ' . trim($image_template) . ' '; return $template; diff --git a/tests/unit/Newsletter/Renderer/Blocks/ImageTest.php b/tests/unit/Newsletter/Renderer/Blocks/ImageTest.php new file mode 100644 index 0000000000..b43d3dce83 --- /dev/null +++ b/tests/unit/Newsletter/Renderer/Blocks/ImageTest.php @@ -0,0 +1,43 @@ + 'image', + 'link' => 'http://example.com', + 'src' => 'http://mailpoet.localhost/image.jpg', + 'alt' => 'Alt text', + 'fullWidth' => false, + 'width' => '310.015625px', + 'height' => '390px', + 'styles' => [ + 'block' => [ + 'textAlign' => 'center', + ], + ], + ]; + + function testItRendersCorrectly() { + $output = Image::render($this->block, 200); + $expected_result = ' + + + Alt text + + '; + expect($output)->equals($expected_result); + } + + function testItRendersWithoutLink() { + $this->block['link'] = null; + $output = Image::render($this->block, 200); + $expected_result = ' + + + Alt text + + '; + expect($output)->equals($expected_result); + } +}