Commit graph

239 commits

Author SHA1 Message Date
Kunal Mehta
26ded3a545 Add @covers tags to ApiModuleManagerTest
Change-Id: Iaac773576a663d2f426632ad95f94b3556ef15b2
2014-09-08 10:52:10 +00:00
Kunal Mehta
ad9bb085a6 Add ApiModuleManager::getClassName()
In cases where an extension has multiple API modules that
have the same exact factory requirements, it would let them
use the same factory function and check with the module manager
what the class name to construct should be. This is already possible
using getNamesWithClasses, but this makes it much more
straightforward.

Change-Id: I889e3e6f15907896a8df376913125d903debe984
2014-09-08 02:06:33 -07:00
Kunal Mehta
a1a78972a0 Add a test for ApiFormatNone
Because lolz.

Change-Id: I9c472131746a722737300b7d2d2291c70f80bb2e
2014-08-22 23:27:51 -07:00
jenkins-bot
6353df13f7 Merge "Change @return to start with type" 2014-08-22 23:20:36 +00:00
Kunal Mehta
6f7e29a773 Make ApiModuleManagerTest::testAddModules un-risky
Change-Id: Idbea51cf45fc95676759e5ac9abb342701e5b551
2014-08-21 22:47:24 -07: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
6b4c44c2db Add missing @param to function docs
Change-Id: Ib26407bc55dff7969d8a3b1e2ae51751b202d8fb
2014-08-18 16:24:59 +00:00
addshore
dcaa81c743 Fix phpcs errors in tests dir
Change-Id: I79fa3b8f92e958f4a0dc4fe892703f37d711ca95
2014-08-17 22:57:09 +01:00
addshore
dfd4c8c2a2 Use public instead of var in classes
Change-Id: I16d1714ba37667d8c9c7c79a765c7199ea0023e4
2014-08-17 21:07:37 +01:00
umherirrender
ab20f80116 Fixed spacing
- Added newline at end of files
- Added/Removed spaces around comma, parentheses and negation
- Added space after function word

Change-Id: I2dd338153aeb5f07702ba015945e95c7d0ae673b
2014-08-13 20:14:56 +00: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
Bartosz Dziewoński
b43624d3e0 ApiTestCase: Avoid notices about undefined indices
We're going to throw an exception right away here, but this is still
problematic because of PHPUnit:

"By default, PHPUnit converts PHP errors, warnings, and notices that
are triggered during the execution of a test to an exception."
http://phpunit.de/manual/4.2/en/writing-tests-for-phpunit.html#writing-tests-for-phpunit.errors

Also change the exception message to something saner.

Change-Id: I766c36076d34428035be78bbb3cf36cc572b565b
2014-08-13 19:47:57 +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
rillke
c31fbf073e Unify the spelling of MIME in documentation
Writing MIME as written in Wikipedia and some documentation clean up.

Change-Id: I9dfc36d2bf55d72d9374c4075bd6d45eef0415a4
2014-08-07 23:38:45 +02:00
daniel
baa11f7430 Allow factory functions for creating API modules.
This enables factory functions to be registered for API modules,
in addition to the module class itself. This allows modules to
use proper dependency injection via the modules constructor.

Example:

  $wgAPIModules['foo'] = array(
    'class' => 'ApiFoo',
    'factory' => function( $main, $action ) { ... }
  )

Change-Id: Ieb85493a7765f466317f5fa74b0b0e262220deab
2014-08-06 22:58:14 +02:00
Kunal Mehta
a83669c745 Tests for API action=revisiondelete
Change-Id: Ida8acb8a58fe3e871ac30727d90e22fff04f488d
2014-08-04 16:00:16 +00:00
csteipp
fe32899523 SECURITY: Prepend jsonp callback with comment
Mitigate CVE-2014-4671 for unpatched flash players

Bug: 68187
Change-Id: I2f46e623c1f541dbbafb6e8333e0929055098b15
2014-07-30 20:26:39 +02:00
jenkins-bot
825f0701d8 Merge "Remove text output while running tests" 2014-07-27 12:21:13 +00:00
Niklas Laxström
d670850aab Remove text output while running tests
Change-Id: I65d9ee70adfe53267b7c0acd59fce43d4683777b
2014-07-27 12:10:31 +02:00
Étienne Beaulé
c3fcaba02f Enable the creation of empty pages
This change enables the direct creation of empty pages without needing
to use a work-around (such as "{{subst:ns:0}}"). A warning is added as
the message "blankarticle" to request confirmation that the empty page
was meant to be blank. A automatic edit summary has been added when
creating a blank page. The message is: "autosumm-newblank."

The API has been updated to permit the creation of empty pages, when
"text" is null, but not non-existant.

Unit tests have also been added to test these features.

Bug: 57238
Bug: 65206
Change-Id: I3457c36a909d1dbfaeed04a1f0568c69e0ef3386
2014-07-25 23:26:18 -04: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
Chad Horohoe
f129b1baf9 Limit test leakage, $wgCapitalLinks expected to be true
Change-Id: I0f837d29595abefaebeb67d6cc62ea48838d626a
2014-07-07 16:54:35 -07:00
Timo Tijhof
820bb47490 ApiOptionsTest: Simplify hook restoration
Change-Id: I2afc35b45caf9ddfd34fb0bba0839987b7fb2ed4
2014-07-01 18:32:05 +02:00
jenkins-bot
166191535f Merge "Add tests for API's assert={user|bot}" 2014-06-16 01:33:24 +00:00
Adam Roses Wight
5971b2c39a API: Enforce section=new constraint when using 'redirect' mode
Finish implementation of the 'redirect' edit API parameter.  This flag
should only be used as a convenience when adding a new section, appending,
or prepending.  Any other usage must be done using the long-cut (fetch page,
determine if it is a redirect, follow redirects and edit the target page's
content).

This patch takes apart the "EditConflict_redirect" test, because it no
longer makes sense--unless you dear reader can figure out how to force an
edit conflict when only adding a section?

Bug: 24330
Change-Id: Ie3f7273c18e156da1e50e1a36aac2e5341710982
2014-05-22 16:08:22 -04:00
Thiemo Mättig
23632a4ecd Use precise ApiMain/ApiQuery type hints in all API modules
Which type is used depends on the ApiModuleManager responsible for
the API module. There are two managers, one in ApiMain and one in
ApiQuery. Both contain a list of API modules they instantiate.
Both use $this as the first parameter in the constructors of the
individual modules. There is no other regular way to instantiate the
modules, so we know the type must either be ApiMain or ApiQuery.

The lists don't intersect.

I would have prefered the naming scheme $mainModule for ApiMain
modules and $queryModule for ApiQuery modules but since this
doesn't add much I left the shorter variable names untouched.

Change-Id: Ie6bf19150f1c9b619655a06a8e051412665e54db
2014-05-16 11:07:23 -04:00
Siebrand Mazeland
e1d58d9071 Pass phpcs-strict on some test files (8/11)
Change-Id: I138c1f9bf2c3c7e9218d5fa29365e78b309fb459
2014-04-24 13:49:48 -07:00
Siebrand Mazeland
80a8a8e85c Pass phpcs-strict on some test files (5/x)
Change-Id: I690645cd8a9b1165dcc8271b201c695ea9391226
2014-04-24 18:51:45 +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
umherirrender
725d9d125d Removed unneeded spaces and colons in @param and friends
Also 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.

Change-Id: Ic36c8c7820a6c2d603f1138130670c6bf6a1ca59
2014-04-08 16:02:49 +00:00
Niklas Laxström
da73cf89d7 Fix order of expected, actual in some tests
Change-Id: Iabd431517586c06d411a0894e5d3621a4c4ddf05
2014-04-01 11:59:46 +00:00
addshore
9e85aabe52 Cleanup a bunch of tests and add todos
Change-Id: Iae44427edee3ed2a62abdb5a8f5d9f1ed2e7d660
2014-03-09 15:12:45 +01:00
jenkins-bot
47e233e8fa Merge "Use setMwGlobals in ApiEditPageTest" 2014-03-08 05:33:30 +00:00
addshore
f86db05d8d Remove unused stuff from tests
Change-Id: Iddabfbc80378b02fa4a2c58f80d50241be8105d3
2014-03-07 21:16:32 +00:00
addshore
430270d221 Use setMwGlobals in ApiEditPageTest
Change-Id: If2b23d82816c87e454bfc2348e316bdb92d2809f
2014-03-05 18:56:55 +00:00
YuviPanda
efcf0a3f61 Make ApiCreateAccount return camelcase statuses
Bug: 61663
Change-Id: I214d8eb7c9d49f55f49c5228c92806601c5499f6
2014-02-20 20:49:45 +05:30
jenkins-bot
11cb289cfc Merge "API: Handle "special" options in action=options" 2014-02-04 18:43:40 +00:00
Reedy
911fa591f0 Fix testValidyntax to testValidSyntax
Change-Id: I6157fec56a5455888200752d757602ddb640fd1e
2014-01-24 06:29:11 +00:00
Kunal Mehta
c454bb9046 Add tests for API's assert={user|bot}
Change-Id: I5bff0adf11bccef137d59c05edae45d774596994
2014-01-19 15:14:09 -08:00
Brad Jorsch
a8c157a0a2 Fix mediawiki-core-regression-master
The Interwiki class caches lookups, so ApiQueryTest.php's use of "en:"
was failing for mediawiki-core-regression-master because something else
had already made a call for that prefix. The easy fix is to use a
different prefix that is very unlikely to ever be used in a different
test.

Change-Id: I43ca554d5b5465d760eae03d1f76b8c3bf589210
2013-12-23 13:48:21 -05:00
btongminh
1f47c9b9ae Fix capitalization in ApiQueryBase::titlePartToKey()
ApiQueryBase::titlePartToKey now allows an extra parameter that
indicates the namespace in order to properly capitalize the title part.

This allows list=allcategories, list=allimages, list=alllinks,
list=allpages, list=deletedrevs and list=filearchive to
handle case-sensitivity properly for all parameters.

Bug: 25702
Change-Id: Iaa5a71ec536f3716f54bc84b39f645545dfd8660
2013-12-23 12:53:43 -05:00
umherirrender
661c5c3f01 Fixed spacing
- Added space after foreach
- Added/Removed spaces inside arrays

Change-Id: Ia8775824fa33976b1a4dab43e07f1bff0c57479c
2013-12-08 20:31:47 +01:00
Bartosz Dziewoński
10c9af4ed4 Set 'watchcreations' and 'watchdefault' options to true
Also modify unit tests to be more resilient to various
other tests automatically having their pages being
watched.

Co-authored-by: Bartosz Dziewoński <matma.rex@gmail.com>
Co-authored-by: Brian Wolff <bawolff+wn@gmail.com>
Bug: 45020
Change-Id: I458783f02813ff023b2d142b57b44e5ec3ba30b9
2013-12-07 23:02:21 +00:00
saper
b69d9220b6 Remove mergeExpected and assertResultRecursive
These ApiQueryBasicTest methods are no longer used
and we have a better alternatives in the parent ApiQueryTestBase.

Change-Id: I7a81ad3dd6e880be151c1901037bab4018493bcf
2013-12-06 00:12:40 +01:00
Brad Jorsch
946c575fe6 Improve ApiQueryTestBase::assertResult
It really shouldn't be printing output in the middle of the phpunit
progress indicator; this output should be included in the final output
instead.

This rewrites the function to make use of PHPUnit's data structure
diffing support.

Bug: 57974
Change-Id: Ia4b66182922005da8e2bc173794d712492ad13fa
2013-12-04 12:00:12 -05:00
umherirrender
5ca5672aac Fixed spacing
- Place commas correct
- Moved comments
- Add space after if/foreach/catch
- Reformat some conditions
- Removed trailing spaces/tabs

Change-Id: I40ccda72c418c4a33fcd675773cb08d971510cdb
2013-12-01 20:58:51 +01:00
jenkins-bot
4bee65ffa9 Merge "Make setUp and tearDown protected in tests" 2013-11-27 18:29:08 +00:00
addshore
cad7b8368d General Cleanup of some Tests
Style Fixes, Comment fixes

Change-Id: I675d3f098e81709d5dfd928af6ca54589d3d5fad
2013-11-25 14:17:35 +00:00
aude
71cf107f99 Make setUp and tearDown protected in tests
These are protected in the parent MediaWikiTestCase and
PHPUnit_Framework_TestCase. No good reason to make them public.

Change-Id: I45ecc0e4209f0c3b27e63a550112e4e0ddf6e530
2013-11-24 01:48:09 +01:00
aude
2f87f4f311 Add @group medium to ApiUploadTest
api tests require either @group medium or @group large

Change-Id: Iea65c4856579690de234a2a8c01669b282a265f3
2013-11-23 22:53:23 +01:00