merged master
[lhc/web/wiklou.git] / tests / phpunit / includes / media / TiffTest.php
1 <?php
2 class TiffTest extends MediaWikiTestCase {
3
4 public function setUp() {
5 global $wgShowEXIF;
6 $this->showExif = $wgShowEXIF;
7 $wgShowEXIF = true;
8 $this->filePath = __DIR__ . '/../../data/media/';
9 $this->handler = new TiffHandler;
10 }
11
12 public function tearDown() {
13 global $wgShowEXIF;
14 $wgShowEXIF = $this->showExif;
15 }
16
17 public function testInvalidFile() {
18 if ( !wfDl( 'exif' ) ) {
19 $this->markTestIncomplete( "This test needs the exif extension." );
20 }
21 $res = $this->handler->getMetadata( null, $this->filePath . 'README' );
22 $this->assertEquals( ExifBitmapHandler::BROKEN_FILE, $res );
23 }
24
25 public function testTiffMetadataExtraction() {
26 if ( !wfDl( 'exif' ) ) {
27 $this->markTestIncomplete( "This test needs the exif extension." );
28 }
29 $res = $this->handler->getMetadata( null, $this->filePath . 'test.tiff' );
30 $expected = 'a:16:{s:10:"ImageWidth";i:20;s:11:"ImageLength";i:20;s:13:"BitsPerSample";a:3:{i:0;i:8;i:1;i:8;i:2;i:8;}s:11:"Compression";i:5;s:25:"PhotometricInterpretation";i:2;s:16:"ImageDescription";s:17:"Created with GIMP";s:12:"StripOffsets";i:8;s:11:"Orientation";i:1;s:15:"SamplesPerPixel";i:3;s:12:"RowsPerStrip";i:64;s:15:"StripByteCounts";i:238;s:11:"XResolution";s:19:"1207959552/16777216";s:11:"YResolution";s:19:"1207959552/16777216";s:19:"PlanarConfiguration";i:1;s:14:"ResolutionUnit";i:2;s:22:"MEDIAWIKI_EXIF_VERSION";i:2;}';
31 // Re-unserialize in case there are subtle differences between how versions
32 // of php serialize stuff.
33 $this->assertEquals( unserialize( $expected ), unserialize( $res ) );
34 }
35 }