diff options
author | Jérémy Benoist <j0k3r@users.noreply.github.com> | 2018-07-05 12:15:50 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-05 12:15:50 +0000 |
commit | 18167b9a249b679e1226f04c0f05a7489b90d4f7 (patch) | |
tree | 7e7191a4ed794eb9043361499bdf9c704018c488 | |
parent | e586d65b64089fc1cc230a18c470aae3f45f91a6 (diff) | |
parent | 3fbbe0d9f1887d939fdb56733612f8ab0971deaf (diff) | |
download | wallabag-18167b9a249b679e1226f04c0f05a7489b90d4f7.tar.gz wallabag-18167b9a249b679e1226f04c0f05a7489b90d4f7.tar.zst wallabag-18167b9a249b679e1226f04c0f05a7489b90d4f7.zip |
Merge pull request #3684 from Simounet/fix/empty-image-download-error
Fix image downloading on null image path
-rw-r--r-- | src/Wallabag/CoreBundle/Helper/DownloadImages.php | 4 | ||||
-rw-r--r-- | tests/Wallabag/CoreBundle/Helper/DownloadImagesTest.php | 23 |
2 files changed, 27 insertions, 0 deletions
diff --git a/src/Wallabag/CoreBundle/Helper/DownloadImages.php b/src/Wallabag/CoreBundle/Helper/DownloadImages.php index 9c9452dd..f91cdf5e 100644 --- a/src/Wallabag/CoreBundle/Helper/DownloadImages.php +++ b/src/Wallabag/CoreBundle/Helper/DownloadImages.php | |||
@@ -85,6 +85,10 @@ class DownloadImages | |||
85 | */ | 85 | */ |
86 | public function processSingleImage($entryId, $imagePath, $url, $relativePath = null) | 86 | public function processSingleImage($entryId, $imagePath, $url, $relativePath = null) |
87 | { | 87 | { |
88 | if (null === $imagePath) { | ||
89 | return false; | ||
90 | } | ||
91 | |||
88 | if (null === $relativePath) { | 92 | if (null === $relativePath) { |
89 | $relativePath = $this->getRelativePath($entryId); | 93 | $relativePath = $this->getRelativePath($entryId); |
90 | } | 94 | } |
diff --git a/tests/Wallabag/CoreBundle/Helper/DownloadImagesTest.php b/tests/Wallabag/CoreBundle/Helper/DownloadImagesTest.php index 51ab1bcd..faa803fa 100644 --- a/tests/Wallabag/CoreBundle/Helper/DownloadImagesTest.php +++ b/tests/Wallabag/CoreBundle/Helper/DownloadImagesTest.php | |||
@@ -204,4 +204,27 @@ class DownloadImagesTest extends TestCase | |||
204 | 204 | ||
205 | $this->assertNotContains('http://piketty.blog.lemonde.fr/', $res, 'Image srcset attribute were not replaced'); | 205 | $this->assertNotContains('http://piketty.blog.lemonde.fr/', $res, 'Image srcset attribute were not replaced'); |
206 | } | 206 | } |
207 | |||
208 | public function testProcessImageWithNullPath() | ||
209 | { | ||
210 | $client = new Client(); | ||
211 | |||
212 | $mock = new Mock([ | ||
213 | new Response(200, ['content-type' => null], Stream::factory(file_get_contents(__DIR__ . '/../fixtures/image-no-content-type.jpg'))), | ||
214 | ]); | ||
215 | |||
216 | $client->getEmitter()->attach($mock); | ||
217 | |||
218 | $logHandler = new TestHandler(); | ||
219 | $logger = new Logger('test', [$logHandler]); | ||
220 | |||
221 | $download = new DownloadImages($client, sys_get_temp_dir() . '/wallabag_test', 'http://wallabag.io/', $logger); | ||
222 | |||
223 | $res = $download->processSingleImage( | ||
224 | 123, | ||
225 | null, | ||
226 | 'https://framablog.org/2018/06/30/engagement-atypique/' | ||
227 | ); | ||
228 | $this->assertFalse($res); | ||
229 | } | ||
207 | } | 230 | } |