From bdb1c6d2b416d1031cf21ef9d14b4cc8c1c02ee1 Mon Sep 17 00:00:00 2001 From: Alexander Schranz Date: Mon, 24 Jan 2022 21:31:50 +0100 Subject: [PATCH] Replace loading auto with img loading attribute (#41) --- src/ImageExtension.php | 2 ++ tests/Unit/ImageExtensionTest.php | 32 +++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/src/ImageExtension.php b/src/ImageExtension.php index 1ff486d..07f20cd 100644 --- a/src/ImageExtension.php +++ b/src/ImageExtension.php @@ -378,6 +378,8 @@ private function createTag(string $tag, array $attributes, array $thumbnails, ?a // Replace thumbnail format in srcset. $value = $this->srcsetThumbnailReplace($value, $thumbnails); + } elseif ('loading' === $key && 'auto' === $value) { + continue; } $output .= sprintf(' %s="%s"', $key, htmlentities($value)); diff --git a/tests/Unit/ImageExtensionTest.php b/tests/Unit/ImageExtensionTest.php index 669d9b8..cfba564 100644 --- a/tests/Unit/ImageExtensionTest.php +++ b/tests/Unit/ImageExtensionTest.php @@ -382,6 +382,38 @@ public function testDefaultAttributes(): void ); } + public function testRemoveDefaultAttributes(): void + { + $imageExtension = new ImageExtension(null, ['loading' => 'lazy']); + + $this->assertSame( + 'Title', + $imageExtension->getImage( + $this->image, + [ + 'src' => 'sulu-100x100', + 'loading' => null, + ] + ) + ); + } + + public function testReplaceLoadingAuto(): void + { + $imageExtension = new ImageExtension(null, ['loading' => 'lazy']); + + $this->assertSame( + 'Title', + $imageExtension->getImage( + $this->image, + [ + 'src' => 'sulu-100x100', + 'loading' => 'auto', + ] + ) + ); + } + public function testDefaultAttributesUnset(): void { $imageExtension = new ImageExtension(null, ['loading' => 'lazy']);