MediaWiki  REL1_24
ExifTest.php
Go to the documentation of this file.
00001 <?php
00002 
00007 class ExifTest extends MediaWikiTestCase {
00008 
00010     protected $mediaPath;
00011 
00012     protected function setUp() {
00013         parent::setUp();
00014         $this->checkPHPExtension( 'exif' );
00015 
00016         $this->mediaPath = __DIR__ . '/../../data/media/';
00017 
00018         $this->setMwGlobals( 'wgShowEXIF', true );
00019     }
00020 
00021     public function testGPSExtraction() {
00022         $filename = $this->mediaPath . 'exif-gps.jpg';
00023         $seg = JpegMetadataExtractor::segmentSplitter( $filename );
00024         $exif = new Exif( $filename, $seg['byteOrder'] );
00025         $data = $exif->getFilteredData();
00026         $expected = array(
00027             'GPSLatitude' => 88.5180555556,
00028             'GPSLongitude' => -21.12357,
00029             'GPSAltitude' => -3.141592653,
00030             'GPSDOP' => '5/1',
00031             'GPSVersionID' => '2.2.0.0',
00032         );
00033         $this->assertEquals( $expected, $data, '', 0.0000000001 );
00034     }
00035 
00036     public function testUnicodeUserComment() {
00037         $filename = $this->mediaPath . 'exif-user-comment.jpg';
00038         $seg = JpegMetadataExtractor::segmentSplitter( $filename );
00039         $exif = new Exif( $filename, $seg['byteOrder'] );
00040         $data = $exif->getFilteredData();
00041 
00042         $expected = array(
00043             'UserComment' => 'test⁔comment'
00044         );
00045         $this->assertEquals( $expected, $data );
00046     }
00047 }