]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Merge pull request #3684 from Simounet/fix/empty-image-download-error
authorJérémy Benoist <j0k3r@users.noreply.github.com>
Thu, 5 Jul 2018 12:15:50 +0000 (12:15 +0000)
committerGitHub <noreply@github.com>
Thu, 5 Jul 2018 12:15:50 +0000 (12:15 +0000)
Fix image downloading on null image path

src/Wallabag/CoreBundle/Helper/DownloadImages.php
tests/Wallabag/CoreBundle/Helper/DownloadImagesTest.php

index 9c9452ddf35deb4b567bfcc707c9639328ebf66a..f91cdf5ebe005f63ea523271212bc035afb8a20e 100644 (file)
@@ -85,6 +85,10 @@ class DownloadImages
      */
     public function processSingleImage($entryId, $imagePath, $url, $relativePath = null)
     {
+        if (null === $imagePath) {
+            return false;
+        }
+
         if (null === $relativePath) {
             $relativePath = $this->getRelativePath($entryId);
         }
index 51ab1bcdd4f103c1fad2e9bc342f87e8f008c5f3..faa803fa0b4c4ef5a81235518fb34c8413390322 100644 (file)
@@ -204,4 +204,27 @@ class DownloadImagesTest extends TestCase
 
         $this->assertNotContains('http://piketty.blog.lemonde.fr/', $res, 'Image srcset attribute were not replaced');
     }
+
+    public function testProcessImageWithNullPath()
+    {
+        $client = new Client();
+
+        $mock = new Mock([
+            new Response(200, ['content-type' => null], Stream::factory(file_get_contents(__DIR__ . '/../fixtures/image-no-content-type.jpg'))),
+        ]);
+
+        $client->getEmitter()->attach($mock);
+
+        $logHandler = new TestHandler();
+        $logger = new Logger('test', [$logHandler]);
+
+        $download = new DownloadImages($client, sys_get_temp_dir() . '/wallabag_test', 'http://wallabag.io/', $logger);
+
+        $res = $download->processSingleImage(
+            123,
+            null,
+            'https://framablog.org/2018/06/30/engagement-atypique/'
+        );
+        $this->assertFalse($res);
+    }
 }