wiki.techinc.nl/tests/phpunit
Derick Alangi caf0591902 skins: Correctly index the copyright icon, caused failure in MF
On mobile and possibly desktop via (`$wgFooterIcons`), trying to acccess
the copyright icon returns an array instead of a string. An exception is thrown
since the indexing is done on a string.

Throwing an error: TypeError: Return value of BaseTemplate::getCopyrightIconHTML()
must be of the type string, array returned.

The returned array looks like this (when I test):

["copyright"]=> array(1) {
    ["copyright"]=> array(3) {
        ["url"]=> string(47) "https://creativecommons.org/licenses/by-sa/4.0/"
        ["src"]=> string(44) "/core/resources/assets/licenses/cc-by-sa.png"
        ["alt"]=> string(39) "Creative Commons Attribution-ShareAlike"
    }
}

So getting the icon, we need to index src, hence the patch. Let me know
if I'm wrong here. Also, have a look [[Manual:$wgFooterIcons]], you'll see that
default value is an empty array instead of a string:

$wgFooterIcons = [
	"copyright" => [
		"copyright" => [],
	],
]

This made MF to not be able to load locally and the patch fixes it.

In addition, we can just pass `$config` as we have above rather than request
the for it again and again.

Bug: T291325
Change-Id: Icb42342e83f2bc61922ab991bcec66aa5e7b5646
2021-09-20 23:19:23 +01:00
..
data resourceloader: Append newline to JavaScript only if missing 2021-08-28 12:25:11 +00:00
docs
includes Merge "Avoid using ContentHandler::getContentText()" 2021-09-20 19:14:10 +00:00
integration/includes tests: Avoid non-namespaced aliases for Wikimedia\Rdbms namespace 2021-09-18 20:24:08 +02:00
languages Cleanup mixed space/tab line indent 2021-09-04 00:52:31 +02:00
maintenance
mocks Make UserDefTest a unit test 2021-09-13 23:55:51 -04:00
structure Merge "Structure test for all content models" 2021-09-13 16:12:50 +00:00
suites
tests MockHttpTrait: support multiple MultiHttpClients 2021-08-12 11:30:14 -07:00
unit skins: Correctly index the copyright icon, caused failure in MF 2021-09-20 23:19:23 +01:00
bootstrap.maintenance.php
bootstrap.php
HamcrestPHPUnitIntegration.php
LessFileCompilationTest.php
Makefile
MediaWikiCliOptions.php
MediaWikiCoversValidator.php
MediaWikiGroupValidator.php
MediaWikiIntegrationTestCase.php Merge "MediaWikiIntegrationTestCase::getExistingTestPage: Don't assume NS0 is wikitext" 2021-09-16 20:34:55 +00:00
MediaWikiLangTestCase.php
MediaWikiLoggerPHPUnitExtension.php
MediaWikiPHPUnitCommand.php
MediaWikiPHPUnitResultPrinter.php
MediaWikiTestCaseTrait.php phpunit: Fix phpErrorFilter check in TestCaseTrait to avoid PHP bug 2021-09-17 17:35:50 +00:00
MediaWikiUnitTestCase.php
phpunit.php
README
ResourceLoaderTestCase.php resourceloader: Fix debug mode for RL-to-RL cross-wiki module loads 2021-08-25 20:05:38 +00:00
run-tests.bat
suite.xml Remove PHPUnit hooks 2021-08-30 00:28:32 +02:00

== MediaWiki PHPUnit Tests ==

The unit and integration tests for MediaWiki are implemented using the PHPUnit testing
framework and require PHPUnit to run.


=== WARNING ===

Some of the integration tests are DESTRUCTIVE and WILL ALTER YOUR WIKI'S CONTENTS.

DO NOT RUN THESE TESTS ON A PRODUCTION SYSTEM OR ON ANY SYSTEM WHERE YOU NEED
TO RETAIN YOUR DATA.


== Installation ==

If you used composer to install MediaWiki's dependencies PHPUnit will already be available, unless
you explicitly specified the --no-dev flag during the install. In this case just run "composer update".

Otherwise follow the installation instructions in the
PHPUnit Manual at:

  https://phpunit.de/manual/current/en/installation.html


== Running tests ==

The tests are run from your operating system's command line.

Ensure that you are in the tests/phpunit directory of your MediaWiki
installation.


On Unix-like operating systems, the tests runs are controlled with a makefile.
Run command:

  make help

for a full list of options for running tests.


On Windows-family operating systems, run the 'run-tests.bat' batch file.


=== Writing tests ===

A guide to writing PHP unit tests for MediaWiki can be found at:

	https://www.mediawiki.org/wiki/Manual:PHP_unit_testing