Commit graph

110 commits

Author SHA1 Message Date
C. Scott Ananian
09498e1d7f Add parser test for "extra interlanguage links".
This support was added in https://gerrit.wikimedia.org/r/111390
but no parser tests were added at that time.

Bug: 32189
Change-Id: I299ce844919b3f20b3ce116adf64b37dd95325d0
2014-06-26 22:46:13 +00:00
Jackmcbarn
2d1c6e2634 Add support for testing transparent tags
Allow transparent tag hooks to be loaded during parser tests the way that
regular and function tag hooks can be.

Change-Id: I28ac9cc239628c248f72898d247fa1f6e2c308bd
2014-06-20 11:36:08 -04:00
C. Scott Ananian
dece73dff9 ParserTests: fix bits column in uploaded images for test cases.
When running parser tests on a sqlite3 database, the insertion of the
djvu image before running the test suite will fail because `NULL` is not
a valid value for the `bits` column of the `image` table.  This will
cause the test suite to eventually fail, since {{NUMBEROFFILES}} differs.

Test uploads show that `bits` is usually set to 0 for both SVG and
DJVU uploads, so fix this (in both the standalone test runner and the
phpunit test runner).

Change-Id: I8689a547d34035534723e87c4c2680c4e67245f2
2014-06-03 21:49:40 +00:00
Bartosz Dziewoński
fd718959b6 Copy various random files used by tests to tests/phpunit/data
The tests currently depend on them never being renamed, which is bad.
(Actual file data in git is de-duplicated automatically AFAIK.)

Change-Id: Id2440326981218f9e7d51541a168db59183fdadf
2014-06-03 22:52:51 +02:00
Tim Starling
4ba7a9c102 Revert "Use square bounding boxes for default-sized thumbnails"
Reverting for further discussion, due to community complaints at https://en.wikipedia.org/w/index.php?title=Wikipedia:Village_pump_%28technical%29&oldid=611154541#Infobox_Image

This reverts commit 7db5534179.

Change-Id: Ieea6224b2a295b5d65bbd486e30cf0573376c7e9
2014-06-02 11:24:09 +10:00
C. Scott Ananian
7db5534179 Use square bounding boxes for default-sized thumbnails
Thumbnails for portrait-orientation images have always been "too big",
especially when displayed in a gallery.  The 'upright' option did not
completely fix the issue.  Using a square bounding box for thumbnails
(and 'framed' images) without an explicit size specifiction provides
a better default appearance.

This also provides a clean syntax for content authored using
Parsoid/Visual Editor, which prefers square bounding boxes.

See:
https://www.mediawiki.org/wiki/Requests_for_comment/Square_bounding_boxes

Bug: 63903
Change-Id: I665d8945843d3b5437a74e376b63c44965590116
2014-05-21 14:30:06 -07:00
Ori Livneh
72c0ce43a8 Add $wgServerName
This partially reverts r73950 which removed $wgServerName on the ground that it
was only used for {{SERVERNAME}}. When it was pointed out that $wgServerName was
also used by several extensions, the response was not to restore the variable, but
to proceed to remove it from extensions as well.

It is a useful variable to have, as the discussion on Id819246a9 makes clear
(see Tim's comment on PS12 and Timo's reply). So let's reintroduce it, and expose
it in mw.config and ApiQuerySiteInfo as well.

Change-Id: I40a6fd427d38c64c628f70a2f407b145443ea204
2014-05-09 11:53:56 +02: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
bf4512da78 Pass phpcs-strict on tests/parser/
Change-Id: I8d9780e75c9310d625a0968f85638d69acfa6a64
2014-04-24 11:15:42 +02: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
C. Scott Ananian
0f799ce2b2 Update set of files cleaned up after parserTests
The parser tests now include more generated thumbnails, so we need to
update the list of thumbnail files we clean up after a run.

Change-Id: Ibabab27ecb895a61f57fff265c8d6d3147666e0d
2014-03-25 14:41:23 -04:00
umherirrender
2000672ac3 Fixed spacing
- Added spaces after if/foreach/catch
- Added new line before end of file
- Added or removed spaces before/after parenthesis, comma
- Added spaces around string concat

Change-Id: I0590070f1b3542108e242730e8d9a3ba9831e94f
2014-03-20 20:37:30 +00:00
jenkins-bot
e944f8bdf5 Merge "Allow setting default thumb size in parser tests" 2014-03-20 17:58:56 +00:00
C. Scott Ananian
e784f96a56 Allow setting default thumb size in parser tests
The mediawiki default thumb size is 180px.  The Parsoid default thumb
size is 220px, to match the default thumb size for most WMF wikipedias
(see https://bugzilla.wikimedia.org/show_bug.cgi?id=43336).

This discrepancy leads to inconsistent image-related test output.
Allow a test to set an explicit default thumb size with the
'thumbsize' option so that it is possible to write consistent tests.

Change-Id: Ib764d1f1660a50caaf8f0ff245822d1d1a1d264e
2014-03-20 13:40:16 -04:00
Ladsgroup
16a5102765 Change URLs to mediawiki.org in comments to HTTPS
These are only documentation fixes
http://www.mediawiki.org --> https://www.mediawiki.org

Change-Id: I62ad42be1a3aac410cc53e98ce79389ceddd8988
2014-03-20 16:59:46 +00:00
C. Scott Ananian
eca4351d1f Parser tests: Make Foobar.svg consistent.
The parserTest.inc file created metadata saying that Foobar.svg was
240x180px, but created an empty SVG file; the DEFAULT_WIDTH and
DEFAULT_HEIGHT in includes/media/SVGMetadataExtractor.php would have
caused this to be treated as a 512x512px image.

In NewParserTest.php, a 200x200px image was created for Foobar.svg.

That caused inconsistent and confusing results for SVG-related parser
tests, depending on which of the testing frameworks you used.

Fixed both of these to use a consistent 240x180px image, since
non-square images are better for checking correct scaling.
(Parsoid has always used a 240x180px size for Foobar.svg).
The non-square image has caused three parser test results to
slightly change.

Change-Id: Ib60a7412d9be808a0995e94d3aa373f2c5ca9bad
2014-03-18 13:27:55 -04:00
Arlo Breault
23aadb06dc Allow more-descriptive section names for parserTests
This patch allows `!!wikitext` (for `!!input`) and `!!html` (for
`!!result`). This is more in line with what those sections actually
contain and closer to the semantics of how they are used.

The old names are accepted as aliases to accomodate parser tests to
provide a migration path for extensions and other users of the
parser tests framework.

In addition to `!!html`, this patch also accepts `!!html/*` and the
more-specific `!!html/php`.  This allows tests to include a number
of different "outputs" for a given wikitext input, for example
`!!html/parsoid` and `!!html/php`.

Co-authored-by: C. Scott Ananian <cscott@cscott.net>
Co-authored-by: Arlo Breault <abreault@wikimedia.org>
Change-Id: Ie4e68960ca7c352af495ebb59ba83488935a44c4
2014-03-12 12:07:56 -04:00
C. Scott Ananian
312b0ca106 Support >2 and JSON-formatted options in parser tests.
The parserTests options handling had a regex capture bug which caused
it to discard all but the first and last option values.  Fix this (by
separating value splitting from key/value capture).

Add support for JSON-valued options, which parsoid would like to begin
using.  Add support for backslash escapes in quoted strings.

Change-Id: I69323bb44b7a481bad6f490d0773a984239c0b9c
2014-02-19 07:50:47 -10:00
Aaron Schulz
2aa84651ca filebackend: cleaned up the FileBackend constructor
* Added some b/c code with deprecation warnings

Change-Id: Ifceffbc0a37a223bcd7cd3dc60181fc85765bc46
2013-12-03 13:57:01 -08:00
Aaron Schulz
2f29c7551b Revert "filebackend: cleaned up the FileBackend constructor"
Actually this messes with the implicit backend made for things like Math (when unconfigured), which uses the "new" operator.

This reverts commit 1f129a22cb.

Change-Id: I4c72c4f7c8b82e38df5496cf2b90fc9e19c40334
2013-12-03 20:40:24 +00:00
Aaron Schulz
1f129a22cb filebackend: cleaned up the FileBackend constructor
* Moved some of the graph construction work to FileBackendGroup.
  This helps the code in not depending on the rest of MW so much.
* Updated tests and FileBackendMultiwrite, which are the only things
  directly constructing FileBackend objects.

Change-Id: I188a053c70ce088ce34613d5db40e6708e3ea9b7
2013-11-23 20:21:53 -08:00
jenkins-bot
8cabb5f777 Merge "Make TOC hideable" 2013-10-24 19:22:32 +00:00
addshore
17c1e91238 General cleanup of Parser tests
- Fixes scope
 - Adds covers tags

Change-Id: I6024f2f7cc7a1812a417c6c389b0a15addde0b5e
2013-10-23 12:26:15 +00:00
Max Semenik
21c1c7d025 Make TOC hideable
Currently, if an extension doesn't want a TOC, it has to remove it manually.
This change wraps the TOC in markers that make it easy to remove it in ParserOutput
on demand without fragmenting the parser cache with stuff like "use/not use TOC".

Change-Id: I2889bcb9eb999c9049601e92440132118e1a8a41
2013-10-18 17:47:47 +04:00
C. Scott Ananian
0d2c4c4d61 ParserTests: allow test of precedence between interwiki links and namespaces
Bug: 51680
Change-Id: I8ad82c596139824fb97d513a62513edf2941b958
2013-10-02 16:11:33 -04:00
jenkins-bot
7e06997959 Merge "Clean up parser test's InterwikiLoadPrefix hook" 2013-08-26 16:10:50 +00:00
umherirrender
24bfde2710 Fix spacing and break some lines
Change-Id: Ia57685d8858e02e399ad5c75ce64d12609d340ac
2013-08-24 17:06:25 +02:00
Brad Jorsch
7b08f602dc Clean up parser test's InterwikiLoadPrefix hook
Change I36865e38 adjusted the parser test class to hook
InterwikiLoadPrefix, and prevent any other uses of that hook. Which is
ok, except it doesn't clean up after itself so it winds up breaking any
other parser tests that use the same hook.

Change-Id: I351a56ac39a44721d427e9c980eaf5fff246fb57
2013-08-22 14:42:45 -04:00
umherirrender
361fd4e336 Add more parser tests for magic words.
Change-Id: I79023a1585f92be6c0cea13a462ae091a60838d3
2013-08-08 10:09:06 +02:00
jenkins-bot
4034bb4c6b Merge "Code style cleanups to parserTest.inc and NewParserTest.php." 2013-08-03 00:07:11 +00:00
umherirrender
890e54c194 Fix parserTests.php for non-english test wikis
Running parserTests.php gives two failed test under a non-english wiki.

Both tests have corresponding article parts, which creates system
messages for the test.
While the messages gets added to the database, the language is not set
to en, so the created message gets under the wrong language into the
language cache.
When running the test, the language is set to en, but the message cannot
be found in the language cache. The message is not found.

Running test Bug 31098 Template which includes system messages which
includes the template... FAILED!
Running test Bug 32057: Title needed when expanding <h> nodes....
FAILED!

Change-Id: I18fb139e2227343018cdef737bda5aadb5c9fb35
2013-07-30 15:12:12 +02:00
C. Scott Ananian
414e7ecae3 Code style cleanups to parserTest.inc and NewParserTest.php.
Break some long lines which were causing WARNINGs and ERRORs from the
PHP code style checker.

Change-Id: Id52e18119277030041786d0130e693289b3c519e
2013-07-16 15:01:05 -04:00
C. Scott Ananian
64800d7092 Add wgAllowExternalImages option to parser tests.
This allows us to test whether the parser properly respects the
$wgAllowExternalImages option.

I also renamed the 'rawhtml' option to wgRawHtml so that parser test
options which set wiki configuration variables have consistent names.

Bug: 51092
Change-Id: I6c453b3e366cf775d8eef2dcbde09fcfa7027125
2013-07-10 18:13:20 -04:00
Antoine Musso
35f802edd9 test: rework interwiki lookup in parser tests
Some of our parser tests lookup interwikis.  This was originally done
(parser/parserTest.inc) by inserting a set of interwikis in the database
and was later lamely copy pasted in the PHPUnit wrapped test suite
(phpunit/includes/parser/NewParserTest.php).

Since that time, we had duplicate code and had the test hitting the
database to fetch interwiki.  Nowadays, we can trick the Interwiki
lookup class by using the InterwikiLoadPrefix hook, that let us skip
database lookup entirely (by having the hook returning false) and get
rid of the duplicate code.

The good old parserTests.php still pass the tests :-]

Change-Id: I36865e3890e08a05b8a6aaafa309a87556e235b9
2013-06-17 20:58:42 +00:00
jarry1250
3f5d41d413 The language used to render SVGs should be definable
See bug for context.

The implementation is slightly untidy because I've written it so
as to avoid invalidating the existing SVG thumbs -- there will be
no immediate difference (visual/performance/other) as a result of
this.

Tested by me in both...
* [[File:Example.svg|thumb|lang=fr]] AND
* http://example.org/w/index.php?title=File:Example.svg&lang=fr
...modes. Example file on
https://commons.wikimedia.org/wiki/File:Gerrit_patchset_25838_test.svg

Added parser tests.

Bug: 32987
Change-Id: I4cadf96ecd5e169a88ad468a0478d355db980103
2013-06-05 19:28:03 +00:00
Timo Tijhof
53ee1cefcf tests: Don't set wgStyleSheetPath in addition to wgStylePath
Because 1) `$wgStyleSheetPath = &$wgStylePath;` in default
settings, so setting one sets the other. No need to set both
and 2) in wmf-branches this variable is unset, thus this
caused an E_NOTICE internally when Test::setMwGlobals is
trying to access it to preserve the current value,
and 3) wgStyleSheetPath is deprecated.

Follows-up I1362932db223.

Change-Id: Ibd3f28e460fef995f68dfe1292d25fb75950dcf5
2013-05-08 00:04:38 +00:00
umherirrender
a316459dd6 Use wfShellExec in parserTest.inc
This avoids shell execution with backticks

Change-Id: Ib0db0c2ac36ae615f280ed9db82d2ca6aad744b5
2013-04-27 08:12:21 +00:00
jenkins-bot
4fe59cd7c2 Merge "test: abstract parser test result" 2013-04-22 19:09:20 +00:00
Antoine Musso
9a90062eca test: abstract parser test result
This patch introduce the new ParserTestResult class which is meant to
represent the result of a parser test.  I have refactored some methods
to take advantage of this new class.

It just hold the test description and the actual/expected parser output.
A short isSuccess() method is provided for convenience, we can later
improve the class to carry more methods.

Change-Id: Ifb86e09451875dc119633b52d3f7e4f47c67cc60
2013-04-08 11:15:28 +02:00
C. Scott Ananian
11adcad08b Fix link target and retina thumbnails for manual thumbnails. (Bug 45405.)
The output for [[Image:Bad.jpg|thumb=Foobar.jpg|Title]] used to be:

<div class="thumb tright"><div class="thumbinner" style="width:1943px;"><a
href="/wiki/File:Foobar.jpg" class="image"><img alt=""
src="http://example.com/images/3/3a/Foobar.jpg" width="1941" height="220"
class="thumbimage" srcset="http://example.com/images/0/09/Bad.jpg 1.5x,
http://example.com/images/0/09/Bad.jpg 2x" /></a>  <div
class="thumbcaption"><div class="magnify"><a href="/wiki/File:Bad.jpg"
class="internal" title="Enlarge"><img
src="/skins/common/images/magnify-clip.png" width="15" height="11" alt=""
/></a></div>Title</div></div></div>

Note that the target of the <a> is the thumb, not the original image,
and that the srcset is loading the full resolution version of Bad.jpg.

The attached patches fix the link target and srcset issues
(suppressing the srcset when a manual thumb is used).  It also adds a
new "Thumb.png" pseudo-file to the parserTests so that we can write
new tests documenting how manual thumbnails are expected to work,
and adds the 'php' option to the thumbnail tests (since the Parsoid
parser generates different output).

Change-Id: I5be80bfce855b85f9debf3ef1776b877d1f84b9f
2013-03-29 12:12:02 -04:00
umherirrender
7d8a184bac Tests: Fix case of some methods
Change-Id: Iab247f805410f2e9157d325edd80880538a3e54c
2013-03-22 17:44:34 +01:00
C. Scott Ananian
2c56e3b087 Add 'parsoid' option to parserTests.txt.
Rather than overload the 'disabled' option, explicitly mark Parsoid-only
parser tests with "parsoid" in the options field.  These are disabled
by default when the PHP parser tests are run (but you could explicitly
enable them with --run-parsoid if you wished, in the same way that you
can enable other disabled tests with --run-disabled).

Document the 'php' option, which the PHP parser tests will ignore, but
will (in the future) be used to mark php-only tests which should be
ignored by the Parsoid parser.

Tweaked 'disabled' option to 'parsoid' for those tests which explicitly
call themselves parsoid-only.  I was conservative in this patch; if
the title of the test didn't explicitly mention Parsoid, I left the
test disabled rather than switch it to parsoid.

Change-Id: Id6c396f7966fcb21c1e54e222ab0c9f4e3a34dcc
2013-02-28 18:42:37 -06:00
Mark Holmquist
db6214985a (bug 45396) Use IETF example domains, not Britney
I don't know why Britney-Spears was in core parser tests as the example domain
name, but....well, suffice it to say she's not any more. We're using
example.org now, like sane people.

Change-Id: I47b53b94b4d7e8ad4a992de5e112685df48156c2
2013-02-26 00:25:38 +00:00
jenkins-bot
1a6a9dd4b1 Merge "phpcs: Normalize methods declarations to "[final abstract] [visibility]"." 2013-02-19 17:16:16 +00:00
Antoine Musso
6c35b02aa7 phpcs: Normalize methods declarations to "[final abstract] [visibility]".
CodeSniffer sniff is:
  [abstract final] [<visibility>] [static] function
As declared by:
  PSR2.Methods.MethodDeclaration.StaticBeforeVisibility
in:
  https://github.com/wikimedia/mediawiki-tools-codesniffer/blob/master/MediaWiki/ruleset.xml


Change-Id: Ifabd289e8668019ed752bdd711b3b43a9c346336
2013-02-19 16:56:35 +00:00
Siebrand Mazeland
ac63001d8e Update formatting
1 of n.

Change-Id: I852729f08bbb0c5e39c2db44362ccdc7f59dcc08
2013-02-14 12:22:13 +01:00
Matthew Flaschen
8cbd679aac Add null lock manager to parser tests to support code that uses it by default.
Change-Id: I938bd1b64a1b1ff241555f157c0ba737d72ee48d
2013-02-08 13:23:36 -05:00
Aaron Schulz
5b67e492ff [LockManager] Refactoring to allow proper cross-wiki support.
Change-Id: I331d011a6fa4edd434f0fb547d325ad60901119d
2013-01-28 11:03:33 -08:00
Timo Tijhof
5f41c8ba87 (bug 40632) Remove CleanupPresentationalAttributes feature
Removed $wgCleanupPresentationalAttributes, the associated
code it toggles and references to those in src and tests.

Also fixes bug 40329.

This was originally introduced in r94465 (released in REL1_19) but
disabled by default. Then enabled in r98053, after which several
bugs were filed and eventually the decision was made to remove
this feature.

Removed obsolete release-note entry, as this is to be backported
to REL1_20.

Change-Id: I4e86305520a3b22ef88381caab55d24abac932e3
2012-11-19 22:09:17 +01:00
Tim Landscheidt
625f28d098 Delete more thumbnails after parser tests.
Change-Id: I0a0e757a359fbfa1274e3e0177f1c22f292394e7
2012-10-13 23:53:13 +00:00