2011-07-11 16:42:15 +00:00
< ? php
class JpegTest extends MediaWikiTestCase {
2011-08-17 23:28:31 +00:00
public function setUp () {
$this -> filePath = dirname ( __FILE__ ) . '/../../data/media/' ;
2011-09-18 01:53:09 +00:00
if ( ! wfDl ( 'exif' ) ) {
$this -> markTestSkipped ( " This test needs the exif extension. " );
}
global $wgShowEXIF ;
$this -> show = $wgShowEXIF ;
$wgShowEXIF = true ;
}
public function tearDown () {
global $wgShowEXIF ;
$wgShowEXIF = $this -> show ;
2011-08-17 23:28:31 +00:00
}
2011-07-11 16:42:15 +00:00
public function testInvalidFile () {
$jpeg = new JpegHandler ;
2011-08-17 23:28:31 +00:00
$res = $jpeg -> getMetadata ( null , $this -> filePath . 'README' );
2011-07-11 16:42:15 +00:00
$this -> assertEquals ( ExifBitmapHandler :: BROKEN_FILE , $res );
}
2011-08-18 03:53:53 +00:00
public function testJpegMetadataExtraction () {
2011-07-11 16:42:15 +00:00
$h = new JpegHandler ;
2011-08-17 23:28:31 +00:00
$res = $h -> getMetadata ( null , $this -> filePath . 'test.jpg' );
2011-07-11 16:42:15 +00:00
$expected = 'a:7:{s:16:"ImageDescription";s:9:"Test file";s:11:"XResolution";s:4:"72/1";s:11:"YResolution";s:4:"72/1";s:14:"ResolutionUnit";i:2;s:16:"YCbCrPositioning";i:1;s:15:"JPEGFileComment";a:1:{i:0;s:17:"Created with GIMP";}s:22:"MEDIAWIKI_EXIF_VERSION";i:2;}' ;
2011-08-17 21:53:45 +00:00
// Unserialize in case serialization format ever changes.
$this -> assertEquals ( unserialize ( $expected ), unserialize ( $res ) );
2011-07-11 16:42:15 +00:00
}
}