X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/3406846c82bd2322687dae5b7d38045746219edd..refs/pull/5676/head:/tests/Uploads/ImageTest.php diff --git a/tests/Uploads/ImageTest.php b/tests/Uploads/ImageTest.php index db500f606..a2f03df34 100644 --- a/tests/Uploads/ImageTest.php +++ b/tests/Uploads/ImageTest.php @@ -68,7 +68,20 @@ class ImageTest extends TestCase $this->files->deleteAtRelativePath($imgDetails['path']); $this->assertStringContainsString('thumbs-', $imgDetails['response']->thumbs->gallery); - $this->assertStringNotContainsString('thumbs-', $imgDetails['response']->thumbs->display); + $this->assertStringNotContainsString('scaled-', $imgDetails['response']->thumbs->display); + } + + public function test_image_display_thumbnail_generation_for_animated_avif_images_uses_original_file() + { + $page = $this->entities->page(); + $admin = $this->users->admin(); + $this->actingAs($admin); + + $imgDetails = $this->files->uploadGalleryImageToPage($this, $page, 'animated.avif'); + $this->files->deleteAtRelativePath($imgDetails['path']); + + $this->assertStringContainsString('thumbs-', $imgDetails['response']->thumbs->gallery); + $this->assertStringNotContainsString('scaled-', $imgDetails['response']->thumbs->display); } public function test_image_edit() @@ -119,6 +132,33 @@ class ImageTest extends TestCase $this->files->deleteAtRelativePath($relPath); } + public function test_image_file_update_allows_case_differences() + { + $page = $this->entities->page(); + $this->asEditor(); + + $imgDetails = $this->files->uploadGalleryImageToPage($this, $page); + $relPath = $imgDetails['path']; + + $newUpload = $this->files->uploadedImage('updated-image.PNG', 'compressed.png'); + $this->assertFileEquals($this->files->testFilePath('test-image.png'), public_path($relPath)); + + $imageId = $imgDetails['response']->id; + $image = Image::findOrFail($imageId); + $image->updated_at = now()->subMonth(); + $image->save(); + + $this->call('PUT', "/images/{$imageId}/file", [], [], ['file' => $newUpload]) + ->assertOk(); + + $this->assertFileEquals($this->files->testFilePath('compressed.png'), public_path($relPath)); + + $image->refresh(); + $this->assertTrue($image->updated_at->gt(now()->subMinute())); + + $this->files->deleteAtRelativePath($relPath); + } + public function test_image_file_update_does_not_allow_change_in_image_extension() { $page = $this->entities->page();