X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=tests%2Fphpunit%2FCRM%2FUtils%2FFileTest.php;h=692bbee80380ba4610019b0a5f48e0f54c2a2ae6;hb=a0741dc66a56012dca28350f8c1ddaad5ec03918;hp=8a6a4eb67416065411e2d4e1f30f62bd9804526d;hpb=f770b119b9f1d2cb60248e362eb37d888a40711f;p=civicrm-core.git diff --git a/tests/phpunit/CRM/Utils/FileTest.php b/tests/phpunit/CRM/Utils/FileTest.php index 8a6a4eb674..692bbee803 100644 --- a/tests/phpunit/CRM/Utils/FileTest.php +++ b/tests/phpunit/CRM/Utils/FileTest.php @@ -23,6 +23,7 @@ class CRM_Utils_FileTest extends CiviUnitTestCase { )); } } + public function testStripComment() { $strings = array( "\nab\n-- cd\nef" => "\nab\nef", @@ -94,4 +95,39 @@ class CRM_Utils_FileTest extends CiviUnitTestCase { $this->assertEquals($expectedResult, CRM_Utils_File::isValidFileName($fileName)); } + public function pathToFileExtension() { + $cases = []; + $cases[] = ['/evil.pdf', 'pdf']; + $cases[] = ['/helloworld.jpg', 'jpg']; + $cases[] = ['/smartwatch_1736683_1280_9af3657015e8660cc234eb1601da871.jpg', 'jpg']; + return $cases; + } + + /** + * Test returning appropriate file extension + * @dataProvider pathToFileExtension + * @param string $path + * @param string $expectedExtension + */ + public function testPathToExtension($path, $expectedExtension) { + $this->assertEquals($expectedExtension, CRM_Utils_File::getExtensionFromPath($path)); + } + + public function mimeTypeToExtension() { + $cases = []; + $cases[] = ['text/plain', ['txt', 'text', 'conf', 'def', 'list', 'log', 'in']]; + $cases[] = ['image/jpeg', ['jpeg', 'jpg', 'jpe']]; + $cases[] = ['image/png', ['png']]; + return $cases; + } + + /** + * @dataProvider mimeTypeToExtension + * @param stirng $mimeType + * @param array $expectedExtensions + */ + public function testMimeTypeToExtension($mimeType, $expectedExtensions) { + $this->assertEquals($expectedExtensions, CRM_Utils_File::getAcceptableExtensionsForMimeType($mimeType)); + } + }