From 19d0d43aa551b494ff4732fee50269f18791cf55 Mon Sep 17 00:00:00 2001 From: Brian Wolff Date: Mon, 24 Oct 2011 02:47:22 +0000 Subject: [PATCH] (follow-up r100575 / r99477) unit-tests for jpegMetadataExtractor dealing with padding bytes. --- tests/phpunit/data/media/README | 3 ++- .../phpunit/data/media/jpeg-padding-even.jpg | Bin 0 -> 450 bytes tests/phpunit/data/media/jpeg-padding-odd.jpg | Bin 0 -> 451 bytes .../media/JpegMetadataExtractorTest.php | 19 ++++++++++++++++-- 4 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 tests/phpunit/data/media/jpeg-padding-even.jpg create mode 100644 tests/phpunit/data/media/jpeg-padding-odd.jpg diff --git a/tests/phpunit/data/media/README b/tests/phpunit/data/media/README index 2e2c565d6b..fe3bc68299 100644 --- a/tests/phpunit/data/media/README +++ b/tests/phpunit/data/media/README @@ -25,7 +25,8 @@ test.tiff, test.jpg, jpeg-comment-multiple.jpg, jpeg-comment-utf.jpg, jpeg-comment-iso8859-1.jpg, jpeg-comment-binary.jpg, jpeg-xmp-psir.jpg, jpeg-xmp-alt.jpg, animated.gif, exif-user-comment.jpg, animated-xmp.gif, iptc-timetest-invalid.jpg, jpeg-iptc-bad-hash.jpg, iptc-timetest.jpg, -xmp.png, nonanimated.gif, exif-gps.jpg, jpeg-xmp-psir.xmp, jpeg-iptc-good-hash.jpg +xmp.png, nonanimated.gif, exif-gps.jpg, jpeg-xmp-psir.xmp, jpeg-iptc-good-hash.jpg, +jpeg-padding-even.jpg, jpeg-padding-odd.jpg Are all by Bawolff. I don't think they contain enough originality to claim copyright, but on the off chance they do, feel free to use them however you feel fit, without restriction. diff --git a/tests/phpunit/data/media/jpeg-padding-even.jpg b/tests/phpunit/data/media/jpeg-padding-even.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c83c66bd2cd689b38afd3139559a53ed6a880233 GIT binary patch literal 450 zcmex=&N6ubgl-4&ekb8}PkN)#S7Oi?(r z=l^X6X9hJXSw&e1HAQ(vZ4EVD%Xm9W6BEnQ;0V|FuF8r19hI%kGgjZ;HDl5FCC#n- z{vSO5=;hZRU#Dyb8vXA7?GInyfDB>O(AKszvMjK(D|j=vb?zII!T$pcf*cH73>wUg zN(@YbjLd?J|Bo<8FfcF!J%bDwSy-8YGRguBOiWCSEC^{vCT2kfAw?EpLr0~+iL6FI zMIvZ=f#!fj1yM}|iQZ!1VP*u{3pB!>;nKgR_m`&Zx_Keu>nBOIzb?f)6I?d6@Q5_8 z|NXJ1N`B|E5QAk5-TMknGQMxp&e6EBTSD;c-N}o4=efBFX_&6JH(<1@{C-R}<&y(n y-<#zA|D^=)Yi!n=yavPZi7`~n}q!Tn_K`c61oup literal 0 HcmV?d00001 diff --git a/tests/phpunit/data/media/jpeg-padding-odd.jpg b/tests/phpunit/data/media/jpeg-padding-odd.jpg new file mode 100644 index 0000000000000000000000000000000000000000..25b933089009acaedb7c2c4809981ff62952fcc3 GIT binary patch literal 451 zcmex=&N6ubgl-4&ekb8}PkN)#S7Oi?(r z=l^X6X9hJXSw&e1HAQ(vZ4EVD%Xm9W6BEnQ;0V|FuF8r19hI%kGgjZ;HDl5FCC#n- z{vSO5=;hZRU#Dyb8vgG8?GInyfDB>O(AKszvMjK(D|j=vb?zII!T$pcf*cH73>wUg zN(@YbjLd?J|Bo<8FfcF!eS-`bSy-8YGRguBOiWCSEC^{vCT2kfAw?EpLr0~+iL6FI zMIvZ=f#!fj1yM}|iQZ!1VP*u{3pB!>;nKgR_m`&Zx_Keu>nBOIzb?f)6I?d6@Q5_8 z|NXJ1N`B|E5QAk5-TMknGQMxp&e6EBTSD;c-N}o4=efBFX_&6JH(<1@{C-R}<&y(n y-<#zA|D^=)Yi!n=yavPZi7`~n}q!Tn_K|k>$?yD literal 0 HcmV?d00001 diff --git a/tests/phpunit/includes/media/JpegMetadataExtractorTest.php b/tests/phpunit/includes/media/JpegMetadataExtractorTest.php index 2cfffdbf02..5bf9bfe7c7 100644 --- a/tests/phpunit/includes/media/JpegMetadataExtractorTest.php +++ b/tests/phpunit/includes/media/JpegMetadataExtractorTest.php @@ -12,10 +12,25 @@ class JpegMetadataExtractorTest extends MediaWikiTestCase { $this->filePath = dirname( __FILE__ ) . '/../../data/media/'; } - public function testUtf8Comment() { - $res = JpegMetadataExtractor::segmentSplitter( $this->filePath . 'jpeg-comment-utf.jpg' ); + /** + * We also use this test to test padding bytes don't + * screw stuff up + * + * @param $file filename + * + * @dataProvider dataUtf8Comment + */ + public function testUtf8Comment( $file ) { + $res = JpegMetadataExtractor::segmentSplitter( $this->filePath . $file ); $this->assertEquals( array( 'UTF-8 JPEG Comment — ¼' ), $res['COM'] ); } + public function dataUtf8Comment() { + return array( + array( 'jpeg-comment-utf.jpg' ), + array( 'jpeg-padding-even.jpg' ), + array( 'jpeg-padding-odd.jpg' ), + ); + } /** The file is iso-8859-1, but it should get auto converted */ public function testIso88591Comment() { $res = JpegMetadataExtractor::segmentSplitter( $this->filePath . 'jpeg-comment-iso8859-1.jpg' ); -- 2.20.1