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