]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Fix image downloading on null image path 3684/head
authorSimounet <contact@simounet.net>
Sun, 3 Jun 2018 20:52:48 +0000 (22:52 +0200)
committerSimounet <contact@simounet.net>
Thu, 5 Jul 2018 09:40:51 +0000 (11:40 +0200)
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);
+    }
 }