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