MimeLibTest.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. App::uses('MimeLib', 'Tools.Lib');
  3. App::uses('MyCakeTestCase', 'Tools.TestSuite');
  4. class MimeLibTest extends MyCakeTestCase {
  5. public $Mime;
  6. public function setUp() {
  7. parent::setUp();
  8. $this->Mime = new MimeLib();
  9. }
  10. public function testObject() {
  11. $this->assertTrue(is_object($this->Mime));
  12. $this->assertInstanceOf('MimeLib', $this->Mime);
  13. }
  14. public function testAll() {
  15. $res = $this->Mime->getMimeTypes();
  16. $this->assertTrue(is_array($res) && count($res) > 100);
  17. }
  18. public function testSingle() {
  19. $res = $this->Mime->getMimeType('csv');
  20. $this->assertTrue(is_array($res) && count($res) > 2);
  21. $res = $this->Mime->getMimeType('ods', true);
  22. $this->assertFalse($res);
  23. $res = $this->Mime->getMimeType('ods');
  24. $this->assertEquals('application/vnd.oasis.opendocument.spreadsheet', $res);
  25. }
  26. public function testSingleReverse() {
  27. $res = $this->Mime->getMimeType('csv');
  28. $this->assertTrue(is_array($res) && count($res) > 2);
  29. }
  30. /**
  31. * test fake files
  32. * 2010-10-22 ms
  33. */
  34. public function testCorrectFileExtension() {
  35. file_put_contents(TMP.'sometest.txt', 'xyz');
  36. $is = $this->Mime->extractMimeType(TMP.'sometest.txt');
  37. pr($is);
  38. $this->assertEquals($is, 'text/plain');
  39. }
  40. /**
  41. * test fake files
  42. * 2010-10-22 ms
  43. */
  44. public function testWrongFileExtension() {
  45. file_put_contents(TMP.'sometest.zip', 'xyz');
  46. $is = $this->Mime->extractMimeType(TMP.'sometest.zip');
  47. pr($is);
  48. $this->assertEquals($is, 'text/plain');
  49. //Test failes? finfo_open not availaible??
  50. }
  51. /**
  52. * test fake files
  53. * 2010-10-22 ms
  54. */
  55. public function testEncoding() {
  56. file_put_contents(TMP.'sometest.txt', 'xyz');
  57. $is = $this->Mime->getEncoding(TMP.'sometest.txt');
  58. pr($is);
  59. $this->assertEquals($is, 'us-ascii');
  60. file_put_contents(TMP.'sometest.zip', utf8_encode('xäääyz'));
  61. $is = $this->Mime->getEncoding(TMP.'sometest.zip');
  62. pr($is);
  63. $this->assertEquals($is, 'utf-8');
  64. file_put_contents(TMP.'sometest.zip', utf8_encode('xyz'));
  65. $is = $this->Mime->getEncoding(TMP.'sometest.zip');
  66. pr($is);
  67. $this->assertEquals($is, 'us-ascii');
  68. //Tests fail? finfo_open not availaible??
  69. }
  70. }