queryFormats('SVG')) === 1) {
parent::setUp();
$fileName = 'testimagelarge.svg';
$this->imgPath = $this->prepareTestFile($fileName, \OC::$SERVERROOT . '/tests/data/' . $fileName);
$this->width = 3000;
$this->height = 2000;
$this->provider = new SVG;
} else {
$this->markTestSkipped('No SVG provider present');
}
}
public static function dataGetThumbnailSVGHref(): array {
return [
['href'],
[' href'],
["\nhref"],
['xlink:href'],
[' xlink:href'],
["\nxlink:href"],
];
}
#[\PHPUnit\Framework\Attributes\DataProvider('dataGetThumbnailSVGHref')]
#[\PHPUnit\Framework\Attributes\RequiresPhpExtension('imagick')]
public function testGetThumbnailSVGHref(string $content): void {
$handle = fopen('php://temp', 'w+');
fwrite($handle, '');
rewind($handle);
$file = $this->createMock(File::class);
$file->method('fopen')
->willReturn($handle);
self::assertNull($this->provider->getThumbnail($file, 512, 512));
}
#[\PHPUnit\Framework\Attributes\DataProvider('dataGetThumbnailSVGHrefNamespace')]
#[\PHPUnit\Framework\Attributes\RequiresPhpExtension('imagick')]
public function testGetThumbnailSvgHrefNamespace(string $namespace): void {
$handle = fopen('php://temp', 'w+');
fwrite($handle, '');
rewind($handle);
$file = $this->createMock(File::class);
$file->method('fopen')
->willReturn($handle);
self::assertNull($this->provider->getThumbnail($file, 512, 512));
}
public static function dataGetThumbnailSVGHrefNamespace(): array {
return [
['xlink'],
['foo'],
['_foo'],
['fo_12'],
['foo-bar'],
['Fo_B1-ar'],
];
}
#[\PHPUnit\Framework\Attributes\DataProvider('dataGetThumbnailSvgEncoded')]
#[\PHPUnit\Framework\Attributes\RequiresPhpExtension('imagick')]
public function testGetThumbnailSvgEncoded(string $content): void {
$handle = fopen('php://temp', 'w+');
fwrite($handle, $content);
rewind($handle);
$file = $this->createMock(File::class);
$file->method('fopen')
->willReturn($handle);
self::assertNull($this->provider->getThumbnail($file, 512, 512));
}
public static function dataGetThumbnailSvgEncoded(): array {
return [
'iso-2022-jp' => ["\n"],
];
}
}