From c6235442b4a8e00ba09396cf278862ae9ae5c225 Mon Sep 17 00:00:00 2001 From: Derk-Jan Hartman Date: Fri, 19 May 2017 13:36:04 +0200 Subject: [PATCH] MimeAnalyzer: Add testcases for mp3 detection This is a follow-up to change Ie1a63aa Bug: T115170 Change-Id: Iab5e19e1dd26b0d88c72ad7253cd11e865c5e008 --- .gitattributes | 1 + tests/phpunit/data/media/say-test-mpeg1.mp3 | Bin 0 -> 8776 bytes tests/phpunit/data/media/say-test-mpeg2.5.mp3 | Bin 0 -> 1224 bytes tests/phpunit/data/media/say-test-mpeg2.mp3 | Bin 0 -> 4389 bytes .../phpunit/data/media/say-test-with-id3.mp3 | Bin 0 -> 8795 bytes .../includes/libs/mime/MimeAnalyzerTest.php | 56 ++++++++++++++++++ 6 files changed, 57 insertions(+) create mode 100644 tests/phpunit/data/media/say-test-mpeg1.mp3 create mode 100644 tests/phpunit/data/media/say-test-mpeg2.5.mp3 create mode 100644 tests/phpunit/data/media/say-test-mpeg2.mp3 create mode 100644 tests/phpunit/data/media/say-test-with-id3.mp3 diff --git a/.gitattributes b/.gitattributes index 09f86a3280..f230c60f7e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,4 @@ *.sh eol=lf *.icc binary *.webp binary +*.mp3 binary \ No newline at end of file diff --git a/tests/phpunit/data/media/say-test-mpeg1.mp3 b/tests/phpunit/data/media/say-test-mpeg1.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..b3a63183e79d46c2b0e5cbefbe855962a9ebfd95 GIT binary patch literal 8776 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 D<^Nv# literal 0 HcmV?d00001 diff --git a/tests/phpunit/data/media/say-test-mpeg2.mp3 b/tests/phpunit/data/media/say-test-mpeg2.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..8b2aaa2cd62e0fa43ede51ff458a849cd8d79bc7 GIT binary patch literal 4389 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%0A^QyQVy(8|vePy_@^B z?(BuH20%8kn@Qh-9+;A4(&tuJJD7l}OMD7G^9#vlV8S=}N9USr14 z3{Zy?%%`ykloAdrW`Qn3OMNRkdbw5}Q!Y&9SR`3~(<~gmSXyBuTmS+G7y(Y$%2C7= zV{>k|dh&c5dv`vRDf0SHcHn+^ir(jn=VuqkspyFvHilz`Y`36a;tJJAmgxCJlWaRA z;`y(e1|zC&x;#yR1;RpSA}jbJEqT~@H!v@50TgHQUaR_#++W52F#cs3lPlY+OJn%O zPr3!Odo65{FF*9|yPZ@$lawHe+B}<0jFl4Jjp978t>yw?lq4JPK%9&KYHwv%Q zoA8$-Kc|+A?hZ}k)v=sQRxehefyvQh$A{rH|6eAM%g!d||`*ArIIdqOu55wPP zlNO&nW%P$E`!Z=H+|x0W$4tF8U#l=O%=n4FDCv> z;sB@!>E^b zE#!sAMBbmtOtoLVrqS0lGaxMv%gm&!=&1O%mU24sXQ5BcZmJ%--BKuPA#0Q^uf^*L zvOqBSp!>3iwE<{pSGsmnHG7!eeYJ(EanU1%X*f2*LtwXfiDUk=`-#$T81n80qW0<0 zp{Y?NMcwIVHDrCOQSULEa7iv*+{{lr*y$J;{LZ-ASeL9h5^0? L0RDIR|8f2wx-J}= literal 0 HcmV?d00001 diff --git a/tests/phpunit/data/media/say-test-with-id3.mp3 b/tests/phpunit/data/media/say-test-with-id3.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..04205d502a4fbc8d5f675238b43b26b6f70a7786 GIT binary patch literal 8795 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 DT~&_q literal 0 HcmV?d00001 diff --git a/tests/phpunit/includes/libs/mime/MimeAnalyzerTest.php b/tests/phpunit/includes/libs/mime/MimeAnalyzerTest.php index 787d9a8837..bf2a3f665c 100644 --- a/tests/phpunit/includes/libs/mime/MimeAnalyzerTest.php +++ b/tests/phpunit/includes/libs/mime/MimeAnalyzerTest.php @@ -1,4 +1,8 @@ mimeAnalyzer ) ); + $method = $class->getMethod( 'doGuessMimeType' ); + $method->setAccessible( true ); + return $method->invokeArgs( $this->mimeAnalyzer, $parameters ); + } + /** * @dataProvider providerImproveTypeFromExtension * @param string $ext File extension (no leading dot) @@ -69,4 +80,49 @@ class MimeMagicTest extends PHPUnit_Framework_TestCase { $actualType = $this->mimeAnalyzer->getMediaType( $oggFile, 'application/ogg' ); $this->assertEquals( $actualType, MEDIATYPE_AUDIO ); } + + /** + * Test to make sure that mp3 files are detected as audio type + */ + function testMP3AsAudio() { + $file = __DIR__ . '/../../../data/media/say-test-with-id3.mp3'; + $actualType = $this->mimeAnalyzer->getMediaType( $file ); + $this->assertEquals( MEDIATYPE_AUDIO, $actualType ); + } + + /** + * Test to make sure that MP3 with id3 tag is recognized + */ + function testMP3WithID3Recognize() { + $file = __DIR__ . '/../../../data/media/say-test-with-id3.mp3'; + $actualType = $this->doGuessMimeType( [ $file, 'mp3' ] ); + $this->assertEquals( 'audio/mpeg', $actualType ); + } + + /** + * Test to make sure that MP3 without id3 tag is recognized (MPEG-1 sample rates) + */ + function testMP3NoID3RecognizeMPEG1() { + $file = __DIR__ . '/../../../data/media/say-test-mpeg1.mp3'; + $actualType = $this->doGuessMimeType( [ $file, 'mp3' ] ); + $this->assertEquals( 'audio/mpeg', $actualType ); + } + + /** + * Test to make sure that MP3 without id3 tag is recognized (MPEG-2 sample rates) + */ + function testMP3NoID3RecognizeMPEG2() { + $file = __DIR__ . '/../../../data/media/say-test-mpeg2.mp3'; + $actualType = $this->doGuessMimeType( [ $file, 'mp3' ] ); + $this->assertEquals( 'audio/mpeg', $actualType ); + } + + /** + * Test to make sure that MP3 without id3 tag is recognized (MPEG-2.5 sample rates) + */ + function testMP3NoID3RecognizeMPEG2_5() { + $file = __DIR__ . '/../../../data/media/say-test-mpeg2.5.mp3'; + $actualType = $this->doGuessMimeType( [ $file, 'mp3' ] ); + $this->assertEquals( 'audio/mpeg', $actualType ); + } } -- 2.20.1