From 6f80dcb1de79bbf9a7aa96a1778f2bb37f48b004 Mon Sep 17 00:00:00 2001 From: Amine Ben hammou Date: Tue, 17 Oct 2017 13:09:37 +0000 Subject: [PATCH] adding unit tests --- lib/Newsletter/Renderer/Blocks/Image.php | 2 +- tests/unit/Newsletter/RendererTest.php | 27 +++++++++++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/lib/Newsletter/Renderer/Blocks/Image.php b/lib/Newsletter/Renderer/Blocks/Image.php index 0cab2e67ce..3f534f24d2 100644 --- a/lib/Newsletter/Renderer/Blocks/Image.php +++ b/lib/Newsletter/Renderer/Blocks/Image.php @@ -10,7 +10,7 @@ class Image { if(empty($element['src'])) { return ''; } - if(substr($element['src'], 0, 1) == '/') { + if(substr($element['src'], 0, 1) == '/' && substr($element['src'], 1, 1) != '/') { $element['src'] = get_option('siteurl') . $element['src']; } diff --git a/tests/unit/Newsletter/RendererTest.php b/tests/unit/Newsletter/RendererTest.php index 3b0bc1f293..e07dd6d100 100644 --- a/tests/unit/Newsletter/RendererTest.php +++ b/tests/unit/Newsletter/RendererTest.php @@ -168,6 +168,31 @@ class RendererTest extends \MailPoetTest { expect($rendered_image)->equals(''); } + function testItForcesAbsoluteSrcForImages() { + $image = array( + 'src' => '/relative-path', + 'width' => '100', + 'height' => '200', + 'link' => '', + 'fullWidth' => false, + 'alt' => 'some test alt text' + ); + $rendered_image = Image::render($image, $columnCount = 1); + $site_url = get_option('siteurl'); + expect($rendered_image)->contains('src="'.$site_url.'/relative-path"'); + + $image = array( + 'src' => '//path-without-protocol', + 'width' => '100', + 'height' => '200', + 'link' => '', + 'fullWidth' => false, + 'alt' => 'some test alt text' + ); + $rendered_image = Image::render($image, $columnCount = 1); + expect($rendered_image)->contains('src="//path-without-protocol"'); + } + function testItRendersImageWithLink() { $newsletter = $this->newsletter['body']; $template = $newsletter['content']['blocks'][0]['blocks'][0]['blocks'][1]; @@ -426,4 +451,4 @@ class RendererTest extends \MailPoetTest { expect(preg_match('/mailpoet_template.*?important/s', $template['html'])) ->equals(0); } -} \ No newline at end of file +}