Commit graph

135 commits

Author SHA1 Message Date
Reedy
0750c764a0 media: Fix casing of IPTC::parse() in tests
Change-Id: Id7271fe635c92f2c82c6e45c64a8b23b69bc3c03
2016-02-29 23:16:56 +00:00
Timo Tijhof
4193700b19 Add missing namespace to @covers comments
PHP_CodeCoverage_Exception:
> Trying to @cover not existing method "SwiftFileBackend::sanitzeHdrs".
> Trying to @cover not existing method "LineFormatter::normalizeException".
> Trying to @cover not existing method "MonologSpi::mergeConfig".
> Trying to @cover not existing method "ProcessCacheLRU::het".
> Trying to @cover not existing method "BitmapHandler::swapICCProfile".
> Trying to @cover not existing class or interface "checkParseSafety".
> Trying to @cover not existing method "Article::__call". (was removed).
> Trying to @cover not existing method "ExtensionProcessor::extracttExtensionMessagesFiles".
> Trying to @cover not existing method "FileContentsHasher::getFileContentHash".

Makes code coverage run fail at the moment. These used to be warnings
in PHPUnit 3.x, but are now hard exceptions in PHPUnit 4.x when requesting
a coverage report.

Change-Id: If7f45ca57fd7d480d35b1414a889398837c0c472
2016-02-23 03:56:49 +00:00
Kunal Mehta
6e9b4f0e9c Convert all array() syntax to []
Per wikitech-l consensus:
 https://lists.wikimedia.org/pipermail/wikitech-l/2016-February/084821.html

Notes:
* Disabled CallTimePassByReference due to false positives (T127163)

Change-Id: I2c8ce713ce6600a0bb7bf67537c87044c7a45c4b
2016-02-17 01:33:00 -08:00
Reedy
63b343d8af Disable testIPTCParseForcedUTFButInvalid on PHP > 5.6.0 but < 5.6.10
Bug: T124574
Change-Id: I6893f7f549bb4145296c97ba2fc12583cd22e18e
2016-02-10 21:22:11 +00:00
jenkins-bot
43e4b9e7c7 Merge "Add support for image interlacing of Bitmap type images" 2016-01-28 08:11:08 +00:00
Kunal Mehta
fa0627c424 Skip IPTCTest::testIPTCParseForcedUTFButInvalid() on pre-PHP5.5.26
Bug: T124574
Change-Id: If546c84a9449579cdea5af5b2a6b4b1e7203109e
2016-01-26 10:12:17 -08:00
Andrew H
695a93dd33 Add support for image interlacing of Bitmap type images
Add 'interlace' parameter and $wgMaxInterlacingSizes global.

Bug: T120032
Change-Id: I40dee74060026513f1c2be8c22dfe41a0b4a18df
2016-01-16 05:48:27 +00:00
umherirrender
54c1e18eec Remove various double empty newlines
The double empty newline is not needed between functions, variable or at
end of file

Change-Id: Ib866a95084c4601ac150a2b402cfa184ebc18afa
2015-12-27 18:55:12 +00:00
Amir E. Aharoni
c50cbe48ab Fix remaining Generic.Files.LineLength failures
Except the ones for which there is no clear way to fix
because of T114213.

Bug: T102614
Change-Id: I94a1fc7c890c82a36f0b51e42d311585c275775c
2015-10-03 17:23:07 +00:00
Amir E. Aharoni
bfdd3369c2 Fix Generic.Files.LineLength phpcs check in files under phpunit/includes
Bug: T102614
Change-Id: Iee3df5f064f595ecebe8210cc936bc3d20a122c9
2015-10-03 17:13:29 +00:00
Amir E. Aharoni
dc71f6cf02 Make lines short to pass phpcs in media tests PHP files
Some lines that weren't too long are also broken up
for consistency and readability.

Bug: T102614
Change-Id: I36e3225e135b58bc22705afbb888b06f93b5a9a8
2015-10-01 19:40:31 +00:00
Vivek Ghaisas
c54766586a Fix issues identified by SpaceBeforeSingleLineComment sniff
Change-Id: I048ccb1fa260e4b7152ca5f09b053defdd72d8f9
2015-09-26 23:06:52 +00:00
Reedy
8e8368ca65 Re-enable MediaWiki.WhiteSpace.SpaceyParenthesis.SingleSpaceBeforeCloseParenthesis
Change-Id: I8482f5dd9d79e4946e862b0ac03bd027d62e8646
2015-09-26 17:38:35 +01:00
Brian Wolff
20f9005103 Make $file->getLength() return duration of GIF and APNG files.
Its not just ogg files that have a duration, animated GIFs
and APNGs do too.

After If172a1cba is merged, this will show up in the api.

Change-Id: Ie7cf00df34950ae404fcf655dd16397a273e5523
2015-09-24 00:46:17 +00:00
btongminh
9c8f333eb8 Basic support for WebP
Adds basic image size detection for WebP and support in the
MediaHandler. Currently renders WebP files as PNGs, because that
handles transparency.

Bug: T50519
Change-Id: I3c00653a8a034efc3f6b60fe62b7ac2e5391f921
2015-06-26 19:38:38 +00:00
Gilles Dubuc
584a239318 TinyRGB support for JPG thumbnails
TinyRGB is an ICC profile released by Facebook under CC0.
It is designed to be fully compatible with sRGB.
It offers the vast advantages of being much smaller than sRGB,
as well as being free as in freedom (the sRGB profile found in the
majority of JPGs is copyrighted).

This change aims to provide the ability to swap sRGB for TinyRGB at
the time thumbnails are generated.

JPGs that use another ICC profile than sRGB or no profile at all are
unaffected.

Bug: T100976
Change-Id: I2ae35ddad4e8a82db8b9541974367dc76c884e7a
2015-06-22 16:17:54 +00:00
Kunal Mehta
54a912c5e9 XMP: Use structured logging instead of wfDebugLog
Co-Authored-By: Brian Wolff <bawolff+wn@gmail.com>
Change-Id: I486192a718576a4d1e585ffb390e297b14dde087
2015-05-23 22:49:09 +00:00
Thiemo Mättig
e90513c5cd Drop unused FormatMetadata::flattenArray method
This is a pure helper method, not closely related to this class, and
currently unused.

Change-Id: I278058677ad407aae8cd2ba8fe34c12b1e86033f
2015-04-20 15:41:28 +02:00
csteipp
15ce698afc SECURITY: Don't allow entities in XMP with HHVM
Test for, and refuse to parse, XMP chunks with a doctype declaration
when parsing XMP under HHVM.

Bug: T85848
Change-Id: Iea4feb077ee85a35509a920153daaa9321ee69f3
2015-04-01 09:56:43 -07:00
m4tx
c88254e8aa Make data provider in MediaHandlerTest static
Also, improve function names.

Follows-up Ie1cf501a6a0c8e688aca1a5577a293f526398dd3
Change-Id: I5eef5f193192041d7b0514eaa8b779c03e6647c7
2015-01-20 22:45:30 +01:00
m4tx
3b266326f0 Add data provider to split MediaHandlerTest::testFitBoxWidth
Change-Id: Ie1cf501a6a0c8e688aca1a5577a293f526398dd3
2015-01-10 14:55:25 +00:00
umherirrender
cf5f6414ce Add better error message for files which exceeds $wgMaxImageArea
Added a TransformTooBigImageAreaError to allow setting an extra message.
Added also size-*pixel messages to show the value of $wgMaxImageArea
with some formatting.

This error is still throwing for all files, to fix bug T34387 this needs
a follow up with a proper check. I am not sure, if a File::isLocal() is
okay, because files from a DBForeignRepo maybe transformed on the same
server, so the check needs to be done also for this. For APIForeignRepo
the check is done on the foreign server.

Change-Id: Ieba12e424c8bddb1961a30d3f9ea5c8ff241abb5
2014-12-15 08:25:04 +00:00
umherirrender
489d793882 Fixed spacing
- Added/removed spaces around parenthesis
- Added newline in empty blocks
- Added space after switch/foreach/function
- Use tabs at begin of line
- Add newline at end of file

Change-Id: I244cdb2c333489e1020931bf4ac5266a87439f0d
2014-12-05 22:28:07 +01:00
Gergő Tisza
b8d2ca8020 FormatMetadata::fetchExtendedMetadata: Ignore multiple EXIF/XMP values
Ignore all but the first value of multivalued metadata fields. Before
this, the function returned an array of values for such fields,
causing various errors.

Bug: 72652
Change-Id: I0fd22b78e4938eecc506d870e352b3b196ee3ace
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/973
2014-11-12 19:10:05 +00:00
umherirrender
a64e869377 Remove explict autoload from phpunit tests
The phpunit tests are loading all classes, so there is no need for an
explicit load.

Change-Id: Ifb26a5082e3366c44f6a1e65baf64c6ff9bf8449
2014-09-27 10:38:58 +02:00
Timo Tijhof
96771e3a65 test: Clean up data providers that should be static
Follows-up b36d883.

By far most data providers are static (and PHPUnit expects them
to be static and calls them that way).

Most of these classes already had their data providers static
but additional commits sloppily introduced non-static ones.

* ResourceLoaderWikiModuleTest, 8968d8787f.
* TitleTest, 545f1d3a73.
  Odd unused method 'dataTestIsValidMoveOperation' was introduced
  in 550b878e63.
* GlobalVarConfigTest, a3e18c3670.

Change-Id: I5da99f7cd3da68c550ae507ffe1f725d31e7666f
2014-09-18 12:52:44 -07:00
Brian Wolff
757a70ae0a Split BitmapHandler into two classes.
BitmapHandler has a lot of generic-ish functionality that could
be re-usable by extension classes (Such as how it organizes
$scalerParams array, or various image magick escaping methods).
However it's combined with a lot of very format specific things,
such as the shell-out call to image magick.

Try to separate out the more generic stuff into
TransformationalImageHandler. In order to do this, I also made
canRotate, autoRotateEnabled, and getScalerType non-static. No
extensions in our repo appeared to be using these methods, and they
don't really make sense to be static (imo).

In particular, I think code duplication can be reduced in
PagedTiffHandler by extending this new class. See comments
on I1b9a77a4a56eeb65.

Change-Id: Id3a8b25a598942572cb5791a95e86054d7784961
2014-09-14 22:10:37 +00:00
umherirrender
cd80906d4a Change @return to start with type
MediaWiki default is "@return type Description", so set a type after
return and start the description with a capital letter. Also use the
more common spelling of boolean.

See http://phpdoc.org/docs/latest/references/phpdoc/tags/return.html for
more about @return

Change-Id: I4e5198822fe92836f9cef9918a9fc1a1a1e0a043
2014-08-20 20:35:41 +02:00
umherirrender
21e0c1c533 Correct variable names in @param to match method declarations
Some @param have a typo in the variable name,
some @param's were in wrong order.

Change-Id: Ie25806831027112b398f6f4a909c59147ac3a5fa
2014-08-13 21:48:28 +02:00
umherirrender
26837cd280 Cleanup some docs (tests)
- Swap "$variable type" to "type $variable"
- Fixed spacing inside docs
- Makes beginning of @param/@var/@throws in capital
- Changed some types to match the more common spelling

Change-Id: Ia041964250d8b7c0349d79dc9b131c5b8696e795
2014-08-11 20:06:52 +02:00
umherirrender
4ee680a8b3 Fixed spacing
- Removed spaces after not operator (!)
- Removed spaces inside array index
- use tab as indent instead of spaces
- Add newline at end of file
- Removed spaces after casts

Change-Id: I9ba17c4385fcb43d38998d45f89cf42952bc791b
2014-07-24 11:53:04 +02:00
umherirrender
2b021dc48a Fixed spacing
- Added/removed spaces around parenthesis
- Added space after switch/if/foreach
- changed else if to elseif

Change-Id: I99cda543e0e077320091addd75c188cb6e3a42c2
2014-07-19 23:12:10 +02:00
Max Semenik
f718e7710a Small tweaks to media handler tests
* Whack @group Media everywhere
* If testing access to a nonexistent file, make it obvious from its name
* Grammar

Change-Id: I845b484b78b3eb1e5a97f339777d3b7c9ee17712
2014-07-15 10:31:07 -07:00
jenkins-bot
ec56b68a23 Merge "Make SVG files show "In other resolutions" at all sizes" 2014-07-03 11:40:22 +00:00
Brian Wolff
3de0b70abe Make SVG files show "In other resolutions" at all sizes
Previously it only showed the sizes smaller than the nominal
size of the svg, which is silly for an infinitely scalabe
vector image.

This splits up the function a bit, in order to be able to
do unit testing.

This also changes the link below SVGs to always be
"Show original file" (show-big-image), which I think makes
more sense anyhow.

Bug: 6834
Bug: 36911
Change-Id: Ic18e555f16940c658842148c155771ef31ac5db9
2014-07-02 15:01:00 -03:00
jenkins-bot
5141b5753b Merge "Workaround image magick issue with greyscale xcf files" 2014-07-02 13:58:28 +00:00
Brian Wolff
24dcc22614 Workaround image magick issue with greyscale xcf files
IM doesn't seem to properly interpret greyscale xcf files
as being greyscale. Tell it to just take the red channel
in such a case.

Bug: 66323
Change-Id: I46302d43e1029d815be99f481f3942481becd74f
2014-06-19 21:06:23 -03:00
Brian Wolff
3a4bfb597e Fix misnamed SVGHandler::canAnimateThumb()
Caused the animation warning to not be present on
image description pages

Also add unit tests. Since I'm adding an animated svg file for
this unit test, also add a metadata extraction test for animated
svgs, since we're missing one.

Change-Id: Id03e1a0e1c151d3c575a695a42c54b709187d10a
follow-up: 876128f8c9
2014-06-10 21:15:53 -03:00
Brian Wolff
6beee2535f Restructure Media related tests to avoid duplicated code
Change-Id: I4428d38e0199b12255f3746e79f8093259a03da1
2014-05-27 11:01:12 +02:00
Brian Wolff
4a3ee339e4 Make sure DjVu files do not attempt metadata extraction repeatedly
If a file is broken, we don't want to spend time trying to find
its metadata over and over again.

Bug: 41090
Change-Id: Iad63b8942af99e1ec44530599a43ec1d6b2b8a62
2014-05-22 21:07:59 -03:00
Tpt
17117f74f5 Addition of a parser test for page= parameter of image inclusion
Support for DjVu is detected and parser tests that rely on it are disabled if needed.

Introduce DjVuSupport to easily detect DjVu support in unit tests

Change-Id: I53fd7b54e765d5f349abe74481bbc6f62f2b349e
2014-04-29 19:55:44 +02:00
Siebrand Mazeland
5a16395d8e Pass phpcs-strict on some test files (9/11)
Change-Id: I69f17bf2af45f03274fdb38853184880e46c3514
2014-04-24 13:50:47 -07:00
Siebrand Mazeland
e1d58d9071 Pass phpcs-strict on some test files (8/11)
Change-Id: I138c1f9bf2c3c7e9218d5fa29365e78b309fb459
2014-04-24 13:49:48 -07:00
umherirrender
092cd8ee31 Fixed some @params documentation (tests)
Swapped some "$var type" to "type $var" or added missing types
before the $var. Changed some other types to match the more common
spelling. Makes beginning of some text in captial.
Also added some missing @param.

Change-Id: Ic8aaf0a93796b97d0fa4617c1f86ff59f4b36131
2014-04-17 20:43:42 +02:00
Tpt
a465fdfc03 Use /usr/bin/ as default folder for DjVu tools in unit tests
It's the path in most GNU/Linux distributions

Allows also tests to run in Travis

Change-Id: I2fead84184dca94e1407104287f42ebf6112d712
2014-03-25 09:18:32 +01:00
Platonides
d197824c54 Replace a bunch of extension_loaded() checks with checkPHPExtension()
Change-Id: I7bd9bc3a753975f45e63532d4f07aeff853b9970
2014-01-23 23:09:53 +00:00
umherirrender
2e871f7087 Fixed spacing
- Removed double spaces in arrays
- Added space after for
- Added spaces around string concat

Change-Id: Ifbcaf35f9bfef1f97226a38b5bd74c237f61c99e
2013-12-15 20:56:09 +01:00
jenkins-bot
00caf71094 Merge "tests: beginning of tests for DjVu files" 2013-12-10 22:26:49 +00:00
Tpt
71b6a5729d tests: beginning of tests for DjVu files
Change-Id: I453b2b1a1c4999150a570e22170a9c630c2ef265
2013-12-10 14:14:13 -08:00
jenkins-bot
76dc198651 Merge "filebackend: cleaned up the FileBackend constructor" 2013-12-10 22:09:21 +00:00