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