diff options
author | Joas Schilling <coding@schilljs.com> | 2024-05-15 23:38:24 +0200 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2024-05-16 10:03:54 +0200 |
commit | 5b07cfa5dbbd5639b93c14985edb1c3f7b0c25bc (patch) | |
tree | 197e003a49425adc72d0b7028f26ca2d0c6a45cc /tests | |
parent | 10dfb76f283a360e704839e4eca647806db78411 (diff) | |
download | nextcloud-server-5b07cfa5dbbd5639b93c14985edb1c3f7b0c25bc.tar.gz nextcloud-server-5b07cfa5dbbd5639b93c14985edb1c3f7b0c25bc.zip |
fix: Extend SVG reference check
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lib/Preview/SVGTest.php | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/lib/Preview/SVGTest.php b/tests/lib/Preview/SVGTest.php index e48018a301b..07e96eec9ab 100644 --- a/tests/lib/Preview/SVGTest.php +++ b/tests/lib/Preview/SVGTest.php @@ -43,4 +43,33 @@ class SVGTest extends Provider { $this->markTestSkipped('No SVG provider present'); } } + + public function dataGetThumbnailSVGHref(): array { + return [ + ['href'], + [' href'], + ["\nhref"], + ['xlink:href'], + [' xlink:href'], + ["\nxlink:href"], + ]; + } + + /** + * @dataProvider dataGetThumbnailSVGHref + * @requires extension imagick + */ + public function testGetThumbnailSVGHref(string $content): void { + $handle = fopen('php://temp', 'w+'); + fwrite($handle, '<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> + <image x="0" y="0"' . $content . '="fxlogo.png" height="100" width="100" /> +</svg>'); + rewind($handle); + + $file = $this->createMock(\OCP\Files\File::class); + $file->method('fopen') + ->willReturn($handle); + + self::assertNull($this->provider->getThumbnail($file, 512, 512)); + } } |