Merge "Simplify the logic to decide whether to show "variant" and "noconvertlink...
[lhc/web/wiklou.git] / tests / phpunit / includes / media / ExifTest.php
1 <?php
2 class ExifTest extends MediaWikiTestCase {
3
4 protected function setUp() {
5 parent::setUp();
6
7 $this->mediaPath = __DIR__ . '/../../data/media/';
8
9 if ( !wfDl( 'exif' ) ) {
10 $this->markTestSkipped( "This test needs the exif extension." );
11 }
12
13 $this->setMwGlobals( 'wgShowEXIF', true );
14 }
15
16 public function testGPSExtraction() {
17 $filename = $this->mediaPath . 'exif-gps.jpg';
18 $seg = JpegMetadataExtractor::segmentSplitter( $filename );
19 $exif = new Exif( $filename, $seg['byteOrder'] );
20 $data = $exif->getFilteredData();
21 $expected = array(
22 'GPSLatitude' => 88.5180555556,
23 'GPSLongitude' => -21.12357,
24 'GPSAltitude' => -3.141592653,
25 'GPSDOP' => '5/1',
26 'GPSVersionID' => '2.2.0.0',
27 );
28 $this->assertEquals( $expected, $data, '', 0.0000000001 );
29 }
30
31 public function testUnicodeUserComment() {
32 $filename = $this->mediaPath . 'exif-user-comment.jpg';
33 $seg = JpegMetadataExtractor::segmentSplitter( $filename );
34 $exif = new Exif( $filename, $seg['byteOrder'] );
35 $data = $exif->getFilteredData();
36
37 $expected = array(
38 'UserComment' => 'test⁔comment'
39 );
40 $this->assertEquals( $expected, $data );
41 }
42 }