aboutsummaryrefslogtreecommitdiffstats
path: root/tests/mimetype
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2013-11-11 21:18:23 +0100
committerMarc Alexander <admin@m-a-styles.de>2013-11-11 21:18:23 +0100
commitbef6a5a6401314da7e5688907f4ebfc06ef83f2b (patch)
tree70605732b1549dea255cf4b2f95ca5b3d2fc2f7c /tests/mimetype
parentb1719db47df4f3089f90bbfac2ca0bec24dcf027 (diff)
downloadforums-bef6a5a6401314da7e5688907f4ebfc06ef83f2b.tar
forums-bef6a5a6401314da7e5688907f4ebfc06ef83f2b.tar.gz
forums-bef6a5a6401314da7e5688907f4ebfc06ef83f2b.tar.bz2
forums-bef6a5a6401314da7e5688907f4ebfc06ef83f2b.tar.xz
forums-bef6a5a6401314da7e5688907f4ebfc06ef83f2b.zip
[ticket/11912] Introduce guesser priority to mimetype guessers
The mimetype guesser priority can now be set through the service definition. Mimetypes will be guessed from the guesser with the highest priority to the one with the lowest priority. Standard priority types have been added to the service definition file. Any integer value can be used though. Standard mimetype guessers that do not have the methods get_priority and set_priority implemented, like the standard MimeTypeGuessers of symfony, will have the default priority with the value of 0. Lower priority guessers have values lower than 0 while high priority ones can be added with values higher than 0. PHPBB3-11912
Diffstat (limited to 'tests/mimetype')
-rw-r--r--tests/mimetype/guesser_test.php15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/mimetype/guesser_test.php b/tests/mimetype/guesser_test.php
index 8d076abae5..a489e68b40 100644
--- a/tests/mimetype/guesser_test.php
+++ b/tests/mimetype/guesser_test.php
@@ -135,4 +135,19 @@ class guesser_test extends \phpbb_test_case
$this->assertEquals($expected[1], $guesser->guess($this->jpg_file . '.jpg'));
@unlink($this->jpg_file . '.jpg');
}
+
+ public function test_sort_priority()
+ {
+ $guessers = array(
+ 'FileinfoMimeTypeGuesser' => new \Symfony\Component\HttpFoundation\File\MimeType\FileinfoMimeTypeGuesser,
+ 'extension_guesser' => new \phpbb\mimetype\extension_guesser,
+ 'FileBinaryMimeTypeGuesser' => new \Symfony\Component\HttpFoundation\File\MimeType\FileBinaryMimeTypeGuesser,
+ 'content_guesser' => new \phpbb\mimetype\content_guesser,
+ );
+ $guessers['content_guesser']->set_priority(5);
+ $guessers['extension_guesser']->set_priority(-5);
+ usort($guessers, array($this->guesser, 'sort_priority'));
+ $this->assertInstanceOf('\phpbb\mimetype\content_guesser', $guessers[0]);
+ $this->assertInstanceOf('\phpbb\mimetype\extension_guesser', $guessers[3]);
+ }
}