wiki.techinc.nl/tests/phpunit
Bartosz Dziewoński 285c52039b Revamp classic edit toolbar not to hardcode paths in HTML
Also, try out a way to have per-module LESS variables defined in PHP.
This might come in handy in the future… Maybe for skin theme support?

(I recommend reviewing the file changes in the order below. :D)

includes/resourceloader/ResourceLoaderFileModule.php
  * Pass the context (ResourceLoaderContext) deeper down via
    readStyleFiles() and readStyleFile(). We need it to compile the
    .less files for the right language.
  * Extract LESS compiler creation to getLessCompiler().
  * Allow passing a LESS compiler instance to compileLessFile(), rather
    than getting one after the method is called.

  All of the changes are backwards-compatible.

includes/resourceloader/ResourceLoaderEditToolbarModule.php
  * New module to support getting the language data and passing it to
    LESS variables.

  It might be a good idea to factor out a reusable class for a LESS
  module with additional variables, but that would require more
  attention to design than I gave it.

resources/src/mediawiki.action/mediawiki.action.edit.toolbar/mediawiki.action.edit.toolbar.less
  * Glue code to use the language data defined by the module above and
    put it in final CSS.

includes/EditPage.php
  * Do not hardcode image URLs in output HTML, as they are provided in
    CSS now. This gets rid of some usage of globals.

  In fact, we should be able to finally move the inline JavaScript
  calls out of getEditToolbar(), but I'm already introducing too many
  changes for one patch. That can be done later.

languages/Language.php
  * Add getImageFiles() to complement existing getImageFile() method.
    Misleadingly named, it returns paths for images for the toolbar
    only (and no other ones at all).

skins/common/ → resources/src/mediawiki.action/mediawiki.action.edit.toolbar/
  * Moved all of the button images to new location.

  Also, boring cleanup that was harder before because we treated the
  paths as public API:
  * Placed default ones in en/ subdirectory.
  * Renamed cyrl/ to ru/.
  * Renamed ksh/button_S_italic.png → ksh/button_italic.png.

languages/messages/
  * Adjusting paths and filenames for the changes above.

resources/src/mediawiki.action/mediawiki.action.edit.css
resources/src/mediawiki.action/mediawiki.action.edit.js
  * Added styles and updated the script to make it possible to have
    non-<img> elements as toolbar buttons.
  * Consolidated styles that were already required, but defined
    somewhere else:
    * `cursor: pointer;` (from shared.css)
    * `vertical-align: middle;` (from commonElements.css)

Bug: 69277
Change-Id: I39d8ed4258c7da0fe4fe4c665cdb26c86420769c
2014-09-13 23:16:23 +02:00
..
data LocalisationCache: Process one fallback at a time 2014-09-04 16:56:31 +02:00
docs Clean up ExportDemoTest 2014-03-07 21:17:08 +00:00
includes Merge "resourceloader: Only store sources' load.php urls" 2014-09-07 23:10:33 +00:00
languages Change @return to start with type 2014-08-20 20:35:41 +02:00
maintenance Add missing @return and @param to doc blocks 2014-08-27 21:57:45 +02:00
mocks Add missing @param to function docs 2014-08-18 16:24:59 +00:00
skins Fixed some @params documentation (tests) 2014-04-17 20:43:42 +02:00
structure Add missing @return and @param to doc blocks 2014-08-27 21:57:45 +02:00
suites Add missing @return and @param to doc blocks 2014-08-27 21:57:45 +02:00
tests Throw exception when trying to stash unset globals 2014-03-09 14:52:40 +01:00
bootstrap.php Move profile In/OUT call out of MWPHPUnitCommand 2014-05-05 12:55:56 +00:00
install-phpunit.sh Fix PHPUnit version to 3.7.35 2014-05-10 11:20:06 +00:00
LessFileCompilationTest.php Revamp classic edit toolbar not to hardcode paths in HTML 2014-09-13 23:16:23 +02:00
Makefile (bug 43808) PHPUnit Makefile is now compatible with BSD make. 2013-01-10 07:29:54 +00:00
MediaWikiLangTestCase.php Pass phpcs-strict on some test files (1/x) 2014-04-24 17:05:32 +02:00
MediaWikiPHPUnitTestListener.php Move debug-tests out of MediaWikiPHPUnitCommand 2014-08-02 21:34:34 +00:00
MediaWikiTestCase.php Fixed spacing 2014-08-27 18:31:50 +02:00
phpunit.php Fixed spacing 2014-08-04 11:51:22 +02:00
README
ResourceLoaderTestCase.php Check page_len in ResourceLoaderWikiModule::isKnownEmpty() for 'user' modules 2014-08-30 00:24:37 +00:00
run-tests.bat
suite.xml Remove color opt setting from MediaWikiPHPUnitCommand 2014-05-05 13:09:56 +01:00
TODO format the tests/phpunit/TODO document for readability 2014-05-15 11:21:51 +00:00

== MediaWiki PHPUnit Tests ==

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


=== WARNING ===

Some of the unit 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 PHPUnit is not installed, follow the installation instructions in the
PHPUnit Manual at:

  http://www.phpunit.de/manual/current/en/installation.html

- or -

On Unix-like operating systems, run:

  make install


== 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 unit tests for MediaWiki can be found at:

	http://mediawiki.org/wiki/Unit_Testing