wiki.techinc.nl/tests/phpunit/includes/media/GIFMetadataExtractorTest.php
Siebrand Mazeland de04f37ef1 Update formatting
5 of n.

Change-Id: I811ca957b6588085d67606ebc0cd4033a1e53839
2013-02-15 12:35:50 +00:00

106 lines
4.4 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
class GIFMetadataExtractorTest extends MediaWikiTestCase {
protected function setUp() {
parent::setUp();
$this->mediaPath = __DIR__ . '/../../data/media/';
}
/**
* Put in a file, and see if the metadata coming out is as expected.
* @param $filename String
* @param $expected Array The extracted metadata.
* @dataProvider provideGetMetadata
*/
public function testGetMetadata( $filename, $expected ) {
$actual = GIFMetadataExtractor::getMetadata( $this->mediaPath . $filename );
$this->assertEquals( $expected, $actual );
}
public static function provideGetMetadata() {
$xmpNugget = <<<EOF
<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 7.30'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
<rdf:Description rdf:about=''
xmlns:Iptc4xmpCore='http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/'>
<Iptc4xmpCore:Location>The interwebs</Iptc4xmpCore:Location>
</rdf:Description>
<rdf:Description rdf:about=''
xmlns:tiff='http://ns.adobe.com/tiff/1.0/'>
<tiff:Artist>Bawolff</tiff:Artist>
<tiff:ImageDescription>
<rdf:Alt>
<rdf:li xml:lang='x-default'>A file to test GIF</rdf:li>
</rdf:Alt>
</tiff:ImageDescription>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end='w'?>
EOF;
$xmpNugget = str_replace( "\r", '', $xmpNugget ); // Windows compat
return array(
array(
'nonanimated.gif',
array(
'comment' => array( 'GIF test file ⁕ Created with GIMP' ),
'duration' => 0.1,
'frameCount' => 1,
'looped' => false,
'xmp' => '',
)
),
array(
'animated.gif',
array(
'comment' => array( 'GIF test file . Created with GIMP' ),
'duration' => 2.4,
'frameCount' => 4,
'looped' => true,
'xmp' => '',
)
),
array(
'animated-xmp.gif',
array(
'xmp' => $xmpNugget,
'duration' => 2.4,
'frameCount' => 4,
'looped' => true,
'comment' => array( 'GIƒ·test·file' ),
)
),
);
}
}