summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2024-05-15 23:38:24 +0200
committerJoas Schilling <coding@schilljs.com>2024-05-16 10:03:54 +0200
commit5b07cfa5dbbd5639b93c14985edb1c3f7b0c25bc (patch)
tree197e003a49425adc72d0b7028f26ca2d0c6a45cc /tests
parent10dfb76f283a360e704839e4eca647806db78411 (diff)
downloadnextcloud-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.php29
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));
+ }
}