diff options
author | Joas Schilling <coding@schilljs.com> | 2019-12-04 22:32:54 +0100 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2019-12-10 09:11:44 +0100 |
commit | 6ad7e75708d646915e34b9ebe00d3a541f2d507e (patch) | |
tree | 29e26b272a904b8c59380784164d9578d68169da /tests | |
parent | 4a151c545a6f255f8d8e293cbd673fadc518391e (diff) | |
download | nextcloud-server-6ad7e75708d646915e34b9ebe00d3a541f2d507e.tar.gz nextcloud-server-6ad7e75708d646915e34b9ebe00d3a541f2d507e.zip |
Update the unit test to dataProviders
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lib/Files/Type/DetectionTest.php | 119 |
1 files changed, 77 insertions, 42 deletions
diff --git a/tests/lib/Files/Type/DetectionTest.php b/tests/lib/Files/Type/DetectionTest.php index ade4820057a..81cd0694f92 100644 --- a/tests/lib/Files/Type/DetectionTest.php +++ b/tests/lib/Files/Type/DetectionTest.php @@ -39,61 +39,96 @@ class DetectionTest extends \Test\TestCase { ); } - public function testDetect() { - $dir = \OC::$SERVERROOT.'/tests/data'; + public function dataDetectPath(): array { + return [ + ['foo.txt', 'text/plain'], + ['foo.png', 'image/png'], + ['foo.bar.png', 'image/png'], + ['.hidden.png', 'image/png'], + ['.hidden.foo.png', 'image/png'], + ['.hidden/foo.png', 'image/png'], + ['.hidden/.hidden.png', 'image/png'], + ['test.jpg/foo.png', 'image/png'], + ['.png', 'application/octet-stream'], + ['..hidden', 'application/octet-stream'], + ['foo', 'application/octet-stream'], + ['', 'application/octet-stream'], + ['foo.png.ocTransferId123456789.part', 'image/png'], + ['foo.png.v1234567890', 'image/png'], + ]; + } - $result = $this->detection->detect($dir."/"); - $expected = 'httpd/unix-directory'; - $this->assertEquals($expected, $result); + /** + * @dataProvider dataDetectPath + * + * @param string $path + * @param string $expected + */ + public function testDetectPath(string $path, string $expected): void { + $this->assertEquals($expected, $this->detection->detectPath($path)); + } - $result = $this->detection->detect($dir."/data.tar.gz"); - $expected = 'application/x-gzip'; - $this->assertEquals($expected, $result); + public function dataDetectContent(): array { + return [ + ['/', 'httpd/unix-directory'], + ['/data.tar.gz', 'application/x-gzip'], + ['/data.zip', 'application/zip'], + ['/testimage.mp3', 'audio/mpeg'], + ['/testimage.png', 'image/png'], + ]; + } - $result = $this->detection->detect($dir."/data.zip"); - $expected = 'application/zip'; - $this->assertEquals($expected, $result); + /** + * @dataProvider dataDetectContent + * + * @param string $path + * @param string $expected + */ + public function testDetectContent(string $path, string $expected): void { + $this->assertEquals($expected, $this->detection->detectContent(\OC::$SERVERROOT . '/tests/data' . $path)); + } - $result = $this->detection->detect($dir."/testimagelarge.svg"); - $expected = 'image/svg+xml'; - $this->assertEquals($expected, $result); + public function dataDetect(): array { + return [ + ['/', 'httpd/unix-directory'], + ['/data.tar.gz', 'application/x-gzip'], + ['/data.zip', 'application/zip'], + ['/testimagelarge.svg', 'image/svg+xml'], + ['/testimage.png', 'image/png'], + ]; + } - $result = $this->detection->detect($dir."/testimage.png"); - $expected = 'image/png'; - $this->assertEquals($expected, $result); + /** + * @dataProvider dataDetect + * + * @param string $path + * @param string $expected + */ + public function testDetect(string $path, string $expected): void { + $this->assertEquals($expected, $this->detection->detect(\OC::$SERVERROOT . '/tests/data' . $path)); } - public function testGetSecureMimeType() { - $result = $this->detection->getSecureMimeType('image/svg+xml'); + public function testDetectString(): void { + $result = $this->detection->detectString('/data/data.tar.gz'); $expected = 'text/plain'; $this->assertEquals($expected, $result); - - $result = $this->detection->getSecureMimeType('image/png'); - $expected = 'image/png'; - $this->assertEquals($expected, $result); } - public function testDetectPath() { - $this->assertEquals('text/plain', $this->detection->detectPath('foo.txt')); - $this->assertEquals('image/png', $this->detection->detectPath('foo.png')); - $this->assertEquals('image/png', $this->detection->detectPath('foo.bar.png')); - $this->assertEquals('image/png', $this->detection->detectPath('.hidden.png')); - $this->assertEquals('image/png', $this->detection->detectPath('.hidden.foo.png')); - $this->assertEquals('image/png', $this->detection->detectPath('.hidden/foo.png')); - $this->assertEquals('image/png', $this->detection->detectPath('.hidden/.hidden.png')); - $this->assertEquals('image/png', $this->detection->detectPath('test.jpg/foo.png')); - $this->assertEquals('application/octet-stream', $this->detection->detectPath('.png')); - $this->assertEquals('application/octet-stream', $this->detection->detectPath('..hidden')); - $this->assertEquals('application/octet-stream', $this->detection->detectPath('foo')); - $this->assertEquals('application/octet-stream', $this->detection->detectPath('')); - $this->assertEquals('image/png', $this->detection->detectPath('foo.png.ocTransferId123456789.part')); - $this->assertEquals('image/png', $this->detection->detectPath('foo.png.v1234567890')); + public function dataGetSecureMimeType(): array { + return [ + ['image/svg+xml', 'text/plain'], + ['image/png', 'image/png'], + ]; } - public function testDetectString() { - $result = $this->detection->detectString("/data/data.tar.gz"); - $expected = 'text/plain'; - $this->assertEquals($expected, $result); + /** + * @dataProvider dataGetSecureMimeType + * + * @param string $mimeType + * @param string $expected + */ + public function testGetSecureMimeType(string $mimeType, string $expected): void { + $this->assertEquals($expected, $this->detection->getSecureMimeType($mimeType)); } public function testMimeTypeIcon() { |