Commit graph

2685 commits

Author SHA1 Message Date
umherirrender
181d5f6fd6 Use mergeMwGlobalArrayValue in GenderCacheTest
Also move the global setting to addDBData to let the test work
correctly, because the global is used indirectly in User::saveSettings.

Change-Id: I986d3a28e4fcc82ed84886c2970571e9fa6128be
2014-11-13 17:56:22 +00:00
jenkins-bot
c008171213 Merge "Remove require_once from some tests by adding classes to TestsAutoLoader" 2014-11-13 13:03:55 +00:00
jenkins-bot
0e2a9baff3 Merge "Enable profiling via xhprof" 2014-11-12 22:00:30 +00:00
umherirrender
aa09312ac0 Remove require_once from some tests by adding classes to TestsAutoLoader
Change-Id: If6d0a72acb98e0971fcce2facb239b67cbe639a5
2014-11-12 20:24:08 +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
Kunal Mehta
e774a8a779 Add @covers tags to ObjectFactoryTest
Change-Id: I0130b133ef8261e43082d90b08cf2b9abf64ffc9
2014-11-12 17:17:36 +00:00
Kunal Mehta
0136b75d1a Move CdbTest into includes/libs/cdb as well
Change-Id: If0ad645129692129d5674fd0e6651032b03a13c0
2014-11-10 11:02:46 -08:00
jenkins-bot
204e2eea51 Merge "hhvm: Detect json-c parser" 2014-11-10 17:14:50 +00:00
jenkins-bot
c71c7f84e0 Merge "Deprecate MWFunction::newObj() in favor of ObjectFactory" 2014-11-10 16:53:16 +00:00
Bryan Davis
15018c2447 hhvm: Detect json-c parser
Add detection for a json-c powered json_decode() implementation. Default
loose parsing behavior was previously attributed to HHVM, but additional
investigation has found that this is actually a "feature" of json-c.
HHVM optionally links with json-c for distributions that wish to avoid
being encumbered by the "shall be used for Good, not Evil" clause of the
JSON.org parser's license. The test case implementation stays the same,
but a feature flag style check is added to determine if the parser being
used is lenient or not.

Bug: 72778
Change-Id: Ieb8dddd2e324c90f45f2fc27ac13ab5fff733302
2014-11-08 15:45:46 -07:00
MZMcBride
627ccbcd7b Minor code comment tweaks for spelling and consistency
Change-Id: I51391f45d0f81e4245ccc0e435a71ccd5b0e3ca3
2014-11-08 14:07:19 -05:00
Bryan Davis
46c47e11bc Enable profiling via xhprof
Add a helper class to assist in collecting profiling information using
XHProf <https://github.com/phacility/xhprof> and a Profiler
implementation to hook it into the existing MediaWiki profiling system.

The Profiler includes support for generating tabular reports similar to
the traditional output of ProfilerSimpleText and ProfilerSimpleTrace or
sending data to a udpprofile daemon as supported by ProfilerSimpleUDP.
It also produces data compatible with the debugging toolbar.

Bug: T759
Change-Id: I16a75cb7636cb5dcef3830d738b2dcd2047d0aaa
2014-11-08 11:47:25 -07:00
Jeff Janes
0f9255555d Fix phpunit test tags
The "@group Database" is only effective when it is in the
comment immediately before the class definition.

Merge the two comments into one.

Bug: 69612
Change-Id: Icfc7c9587534115154d90e20d510c854359fa8f0
2014-11-07 20:11:08 +00:00
Kunal Mehta
d5563db924 Deprecate MWFunction::newObj() in favor of ObjectFactory
Change-Id: Iaa803311409cf7b649f64f69bafe2935a418d31c
2014-11-06 13:41:18 -07:00
jenkins-bot
a91b0c8606 Merge "Clear DeferredUpdates state via setUp()" 2014-11-04 08:39:12 +00:00
Erik Bernhardson
49cfcf3715 Clear DeferredUpdates state via setUp()
Best practices for phpunit say 'more setUp, less tearDown' which typically means
that tests are not responsible for cleaning up after themselves, rather tests
are in charge of setting the world up exactly as they expect it.  Part of this
expectation is that mediawiki does not maintain state between tests.

This patch clears DeferredUpdates from MediaWikiTestCase::setUp() because it has
internal global state.  This prevents state from leaking between test cases.

Bug: 72922
Change-Id: I57e6e89aa51c78bbf9d7f5151122b9e267d1a03e
2014-11-03 13:43:53 -08:00
aude
e78625dbcd Add test cases to SpecialPageFactoryTest for registration via callback
Change-Id: I9785e64d8daf27abca063f2bc584297db275c2db
2014-11-01 02:06:24 +01:00
jenkins-bot
29defd7f7d Merge "hhvm: fix FormatJsonTest::testParseTryFixing for lenient json parser" 2014-10-31 17:54:01 +00:00
Bryan Davis
5e23faa0f4 hhvm: fix FormatJsonTest::testParseTryFixing for lenient json parser
Bug: 72778
Change-Id: I147e0c2107c4d74d2d50ede91d329d524b1f0798
2014-10-31 11:25:25 -06:00
daniel
da3c19fb17 Change position of <model> and <format> tags in XML dumps.
Bug: 72417
Change-Id: I1d11ce8147cf0bf0018e3931202f533afd4ea93e
2014-10-31 16:49:58 +00:00
jenkins-bot
9682e3b137 Merge "Remove double semicolon" 2014-10-31 11:30:00 +00:00
umherirrender
ccf2eefc7b Fix doc of WikiPageTest::newPage
Change-Id: Id60db0ede2f2ead8a1cd524f26bcb87cfbd0b604
2014-10-31 11:44:16 +01:00
jenkins-bot
80eeea984a Merge "Import.php: Use Config instead of globals" 2014-10-30 22:42:00 +00:00
jenkins-bot
cc3b1d1e2c Merge "Fixed spacing" 2014-10-30 20:09:54 +00:00
jenkins-bot
a75e07ccf5 Merge "Fully replace Title::moveTo() with MovePage" 2014-10-30 20:06:27 +00:00
umherirrender
f92ebf8aab Remove double semicolon
Change-Id: I96b6210d24ee110327feef01907d81630c9fb330
2014-10-30 17:58:21 +01:00
umherirrender
2a7c95acda Fixed spacing
- Changed spaces to tabs for indentation
- space after 'function'/'if'
- Added/Removed space after parenthesis/brackets/end of line
- Removed space after cast

Change-Id: I0e8e6a19b84b5e1308b632a0266cb78f688494ee
2014-10-30 17:50:19 +01:00
jenkins-bot
3e8c0191a3 Merge "Fix creating non-parameterized hashes in ParameterizedPassword" 2014-10-30 00:17:07 +00:00
jenkins-bot
d47c1e9230 Merge "resourceloader: Add support for delivering templates" 2014-10-29 20:58:57 +00:00
jdlrobson
ebeb297236 resourceloader: Add support for delivering templates
A base ResourceLoaderModule::getTemplates() exists for subclasses
to override. An implementation is provided for ResourceLoaderFileModule.

For file modules, templates can be specified in the following manner:

'example' => array(
	'templates' => array(
		'bar' => 'templates/foo.html',
	),
	'scripts' => 'example.js',
),

The delivery system is template language agnostic, and currently
only supports "compiling" plain HTML templates.

This also adds template support to the following modules as a POC:
* mediawiki.feedback
* mediawiki.action.view.postEdit
* mediawiki.special.upload

Works with $wgResourceLoaderStorageEnabled

Change-Id: Ia0c5c8ec960aa6dff12c9626cee41ae9a3286b76
2014-10-29 19:31:16 +00:00
Bryan Davis
28a7ce420b Use MWLogger logging for legacy logging methods
Send wfDebug, wfDebugLog, wfLogDBError and wfLogDBError log messages to
the new MWLogger PSR-3 logger subsystem. Compatibility with the historic
logging operations of wfLogDBError are provided by MWLoggerLegacyLogger
and the MWLoggerLegacySpi logger factory.

Requires the MWLogger system introduced in I5c82299 and the Composer
managed libraries from Ie667944.

Change-Id: I1e5596d590144fbfdfd5f18bc42cf1ef0dbcac12
2014-10-29 11:55:08 -07:00
Kunal Mehta
ac53e45035 Fully replace Title::moveTo() with MovePage
* AbortMove hook is removed in favor of two more specificly focused
  hooks: MovePageCheckPermissions and MovePageIsValidMove.
** MovePageIsValidMove is for extensions to specify whether a page
   cannot be moved for technical reasons, and should not be
   overridden.
** MovePageCheckPermissions is for checking whether the given user
   is allowed to make the move.

* Title::moveNoAuth() deprecated
* Title::moveTo() deprecated
* Title::isValidMoveOperation() broken down into
  MovePage::isValidMove() and MovePage::checkPermissions().

* Title::getTitleProtection() is now public, and returns
  unprefixed fields

Change-Id: Ic5026384b92a0d68d628397ffe1de6e5b6183f02
2014-10-28 12:52:36 -07:00
Santhosh Thottingal
8dc3631093 Update plural data to CLDR 26
* The updates include incompatible changes for plural forms in Russian,
  Prussian, Tagalog, Manx and several languages that fall back to Russian.
  In addition there are minor changes for other languages.
* Test cases were updated to reflect these changes.

Bug: 62861
Change-Id: I7cce477925330fe5bbf51a8470060dc1223981d0
2014-10-27 08:30:34 +00:00
jenkins-bot
08aaea93e3 Merge "FormatJson::stripComments" 2014-10-24 18:47:29 +00:00
jenkins-bot
49d2aee5c7 Merge "Remove useless sleep() in JobQueueTest" 2014-10-24 16:46:08 +00:00
Antoine Musso
7fff25afc1 Remove useless sleep() in JobQueueTest
I noticed JobQueueTest::testRootDeduplication takes ~ 6.5 seconds, which
is due to the test method using sleep(1) and being passed the provider
provider_queueLists which yields six items.

The reason is to have the array returned by Job::newRootJobParams() to
have an incread value for 'rootJobTimestamp'.  Instead, just copy the
previous array of parameters and increment the UNIX timestamp and
converting back to TS_MW format.

Change-Id: I75066df73f9f92e56b89eb6d928c41e949a2d6a9
2014-10-24 14:31:00 +02:00
umherirrender
ef46373d70 Refactor hook handling in ResourceLoaderTest
No need to set a global $wgHooks, just set it for the current test.

Change-Id: Ic3e82608efa617a5a7f7c31365d748222bc6d6da
2014-10-23 19:19:18 +00:00
jenkins-bot
f0254f6ec7 Merge "Avoid running of hooks when running MWTimestampTest" 2014-10-23 19:18:20 +00:00
jenkins-bot
78e94e4e33 Merge "Fix bypassing hooks in TextContentTest" 2014-10-23 18:05:02 +00:00
jenkins-bot
509d2fa1b2 Merge "Fix setting hooks in ApiQueryTest" 2014-10-23 17:56:57 +00:00
jenkins-bot
9b31f5324f Merge "Use mergeMwGlobalArrayValue in AutoLoaderTest::setUp" 2014-10-23 17:56:02 +00:00
jenkins-bot
f2712f5c58 Merge "Use mergeMwGlobalArrayValue in LocalisationCacheTest" 2014-10-23 17:55:59 +00:00
jenkins-bot
83aee8bafe Merge "Use mergeMwGlobalArrayValue in ApiOptionsTest" 2014-10-23 17:55:51 +00:00
jenkins-bot
566635008a Merge "Use setMwGlobals in UserTest::testPasswordExpire" 2014-10-23 17:55:20 +00:00
jenkins-bot
a6120e1baa Merge "Use setMwGlobals in TitleTest::testGetPageViewLanguage" 2014-10-23 17:53:00 +00:00
umherirrender
7701eec0cc Avoid running of hooks when running MWTimestampTest
Bug: 55886
Change-Id: I91e1dfeb1cddb158318ac178264e5acaf0a16215
2014-10-23 17:50:36 +00:00
umherirrender
cb82a1d798 Fix bypassing hooks in TextContentTest
Save the whole global $wgHooks with the default way instead of just a
hook in a own variable.

Change-Id: Ie796f7a53ee38e0dc07f5b026134bbdcb8c9fd53
2014-10-23 17:46:55 +00:00
umherirrender
a51674e204 Use mergeMwGlobalArrayValue in LocalisationCacheTest
Change-Id: I8cfe494d159101306c699169dd224c3bea65c753
2014-10-23 17:42:36 +00:00
umherirrender
1c0235513e Use mergeMwGlobalArrayValue in ApiOptionsTest
Change-Id: Ic0a9ceab9e8fad7c408e32ba110a3543ef28b59e
2014-10-23 17:42:34 +00:00
Kunal Mehta
4a2ecaa046 Import.php: Use Config instead of globals
Change-Id: I4d1a8c443cfa360c5d388364c580d48fa7124099
2014-10-22 10:35:29 -07:00
Kunal Mehta
fe5170d32b Move tests into separate ResourceLoaderFileModuleTest
Change-Id: I2504867850b7e6bda2afb8c4fedbe6b8819bc15b
2014-10-22 17:16:47 +00:00
jenkins-bot
0909973197 Merge "API: Warn when neither rawcontinue nor continue are given to action=query" 2014-10-22 16:16:25 +00:00
jenkins-bot
5309ad3df1 Merge "Allow for time-limited tokens" 2014-10-22 13:13:20 +00:00
Brad Jorsch
af11268d05 API: Warn when neither rawcontinue nor continue are given to action=query
The default behavior for continuation for action=query will be changing.
Warn clients that they will need to update.

Change-Id: I52d048040e898a0c9630e2aed071b339ec12de42
2014-10-21 19:16:05 +00:00
umherirrender
52f5634ba0 Migrate merge log to new log system
This allows use of gender on Special:Log
Old message is kept for use in irc,
a test is added to ensure a unchanged irc message.

Change-Id: I0557a0d2751540cf0d7967333ffd767b934011c6
2014-10-21 16:49:06 +00:00
Adam Roses Wight
cf4654399b Extensions may add tests by directory
The UnitTestsList hook can now be used to add entire directories of
tests, à la phpunit.xml's <directory> tag.  The test suite is built by
recursively scanning the directory for any files ending in "Test.php".

TODO:
* Update online hook documentation.
* Generate and autoload a classmap for scanned directories.

Bug: 70630
Change-Id: I3089372f9d7c645e16ff0984a959f982a3bc639f
2014-10-21 09:37:10 +00:00
jenkins-bot
913b868aa4 Merge "Remove deprecated GlobalVarConfig::set()" 2014-10-20 22:40:39 +00:00
jenkins-bot
cf93d76c03 Merge "Remove hitcounters and associated code" 2014-10-20 21:12:54 +00:00
Marius Hoch
dd52464497 Fix creating non-parameterized hashes in ParameterizedPassword
I noticed MWOldPassword is broken while working on
I7024b287a7. When generating new passwords for it,
a superfluous : is being added to the serialized hash
within the database (and that breaks parsing so that
people can't ever log in).

As this is not really relevant in the real world (as
nobody is hopefully using plain MD5 passwords anymore),
this doesn't need any backward compatibility handling
for the broken hashes.

Change-Id: I753c135a6de39008488bd7462c2bfcda2cbac116
2014-10-20 22:58:17 +02:00
Chad Horohoe
90d90dad6e Remove hitcounters and associated code
The hitcounter implementation in MediaWiki is flawed
and needs removal. For proper metrics, it is suggested to use
something like Piwik or Google Analytics.

RFC: https://www.mediawiki.org/wiki/Requests_for_comment/Removing_hit_counters_from_MediaWiki_core
Change-Id: I0e5006a7e8a09c800f8fa4effa9399e8afdd7a57
2014-10-20 13:01:55 -07:00
Kunal Mehta
ebefa2fc50 Remove deprecated GlobalVarConfig::set()
Was deprecated in 1.24.

Change-Id: Iead2c8ba14c0524cba9585b5d4c29f2f806cfc15
2014-10-20 16:43:08 +00:00
jenkins-bot
45e4e5e54c Merge "Add $tablesUsed for ApiTestCase" 2014-10-20 15:02:21 +00:00
umherirrender
ac79e19024 Make PrefixSearchTest use MediaWikiLangTestCase
It uses namespaces which depends on the content language

Change-Id: I0a1ef4adea1e1ddff32e37cbbd8cf51a3398905b
2014-10-20 14:17:41 +00:00
Matthias Mullie
0f07cb138e Add $tablesUsed for ApiTestCase
This test creates 2 TestUser objects on setUp. Due to recent
changes in TestUser, this isn't even possible anymore if
MediaWikiTestCase hasn't setupTestDB() properly.

Change-Id: Idadfb94bd48270ad085cfece2bf17024ed9d97cd
2014-10-20 13:57:13 +02:00
jenkins-bot
1540bd29a9 Merge "Skip tests in PrefixSearchTest if not wikitext main namespace" 2014-10-20 10:18:53 +00:00
Marius Hoch
ee9166a10e Make TestUser way faster
By only updating the user row in the database, if needed
and by making use of md5 for passwords instead of slower
hashing.
This cut down run time of some Wikibase API tests to 20%
of the original value for me!
Also it reduces the run time of MediaWiki's test suite
by about 45s on jenkins.

Change-Id: I7024b287a71fe9b327dbcdc5427cd8edb5047606
2014-10-20 02:03:08 +02:00
Marius Hoch
dca998080d Sanitize TestUser
This also, as a side effect, makes sure we no longer
use hash_ functions here, which will reduce the impact of
https://github.com/facebook/hhvm/issues/3740 on us.

Change-Id: I6e0c776ef9aafe490b24b6869037bb5cb05cd151
2014-10-18 16:51:16 +02:00
aude
cb576ef0b0 Skip tests in PrefixSearchTest if not wikitext main namespace
Otherwise, running core tests with non-wikitext in the main
namespace fail with fatal error.

Change-Id: I895e7ee61ba80c0c345b6c05f05d05c368e52d59
2014-10-18 14:56:19 +02:00
Brad Jorsch
b1e4006b44 Allow for time-limited tokens
Tokens returned from User::getEditToken will now include an encoded
timestamp (and therefore will be up to 16 bytes longer).

User::matchEditToken and User::matchEditTokenNoSuffix are gaining a
"maxage" parameter: when specified, only tokens with an encoded timestamp
within $maxage seconds will be accepted.

Change-Id: Ic4cf148cc1fa9d0561aac0bd2d68a09c7851896d
2014-10-17 17:07:38 -07:00
jenkins-bot
0128cea149 Merge "Revert "Add RL template module with HTML markup language"" 2014-10-17 23:26:40 +00:00
Legoktm
de24e3099e Revert "Add RL template module with HTML markup language"
Not ready for merging, and Roan says that the +2 was
most likely accidental and meant to be a -1.

This reverts commit d146934f94.

Change-Id: I3926c9ae9e3c8026fceb3aeedd3b1f1d9b91667b
2014-10-17 23:19:21 +00:00
jenkins-bot
a88d198cbe Merge "Add RL template module with HTML markup language" 2014-10-17 22:46:32 +00:00
Marius Hoch
23ec64745c Also provide assertNotTag in MediaWikiTestCase
And mark that and assertTag as deprecated to avoid
new usages.

Bug: 69505
Change-Id: Ibfe78fd1914adfb08b29f61c59c43899bd8840d2
2014-10-17 20:14:35 +02:00
jdlrobson
d146934f94 Add RL template module with HTML markup language
Preparation work for templating in core.
RL should allow us to ship HTML / template markup from server to client.
Use in Special:Upload and mediawiki.feedback as a proof of concept.
Separation of concerns etc...

See Also:
Ia63d6b6868f23a773e4a41daa0036d4bf2cd6724

Change-Id: I6ff38c12897e3164969a1090449e626001926c3b
2014-10-17 09:23:04 -07:00
umherirrender
0731f52e9e Use setMwGlobals in TitleTest::testGetPageViewLanguage
Change-Id: I42cb31bf7c1fa1b77f2e8465e7e1e316972fec09
2014-10-16 19:44:39 +02:00
umherirrender
bb910388c7 Use setMwGlobals in UserTest::testPasswordExpire
Change-Id: Ida1a43629853abf648867f29e3bf15bdfd4291a6
2014-10-16 19:38:31 +02:00
saper
b5d809f59b Let BlockTest.php respect database constraints
This is an attempt to make BlockTest not to fail
with database referential constraints enabled
(from I326bb4a189bf881299b9fb678033a927b916efac)

Bug: 58191
Change-Id: I45c2d466f77d4d0aa25e880b5bb7d1120c39a561
2014-10-15 18:09:49 +00:00
umherirrender
675cc960a8 Use mergeMwGlobalArrayValue in AutoLoaderTest::setUp
Change-Id: Ieb7835855a28d1602ac357b51197cb66d9200209
2014-10-15 18:16:48 +02:00
umherirrender
d52b393592 Fix setting hooks in ApiQueryTest
Also fix the comment

Change-Id: I4245a5f515980c743965996aecc67b42b616b50c
2014-10-15 17:50:36 +02:00
Timo Tijhof
155c8de216 RequestContextTest: Distinguish initial test from restored test
Follows-up f31a046. In failure it's hard to see whether it's the
first or third group of assertions as they were carying the same
name.

Change-Id: I5891754342400155759e797337f8509d4eca39ec
2014-10-15 12:42:45 +00:00
umherirrender
ce08326cda Break long lines
Change-Id: I8d4e883058c21023273df88439cd145888833115
2014-10-14 19:30:43 +00:00
jenkins-bot
5c115a7789 Merge "Deprecate ORMTable::getFieldPrefix" 2014-10-14 18:28:57 +00:00
Thiemo Mättig
9bd9c31c73 Deprecate ORMTable::getFieldPrefix
Internal calls to this method show up in my XDebug profiling as
the second most called method (after array_key_exists). Called
10000 times. Sure, it's very cheap and clearly not a bottleneck.
But just not necesarry to have a method for that. The benefit of
having a method is to have a dynamic prefix that can change
depending on other things in an object. But I think this is not
a good idea for a prefix.

Since this is protected it is part of the contract of this class.
I already cleaned known subclasses. Should be @deprecated for
some time and can be removed later.

Change-Id: I46a0d7e072d0a69e9aef5f77e92044b62e3d0ce7
2014-10-14 16:14:17 +02:00
Brad Jorsch
d25cb99202 API: Clean up and internationalize pretty-printed output
The syntax highlighting applied to the XML format is not all that great,
and applying it to other formats is just wrong. Instead of doing it
ourselves, let's just add a hook and let Extension:SyntaxHighlight_GeSHi
do it for us.

But for that to work, we have to add RL support to the pretty-printed
output, which means OutputPage. At the same time, lets internationalize
the header.

Bug: 65403
Change-Id: I04b1a3842abdf1fb360c54aa7164fc7cd2e50f4b
2014-10-13 16:17:37 -07:00
Brad Jorsch
af0121f9c8 API: Add "batchcomplete" to simplified continuation result
With the query-continue style of continuation, it's easy for the client
to know when a batch of pages from the generator is complete. The
simplified continuation should support this too, and without requiring
the client to parse the "continue" result property.

Change-Id: Ie407e2e27c017e8813143859cc58674553bc641b
2014-10-13 15:26:45 -07:00
jenkins-bot
2e65d68c73 Merge "API: HTMLize and internationalize the help, add Special:ApiHelp" 2014-10-13 22:19:47 +00:00
physikerwelt (Moritz Schubotz)
eab45e37b6 Fix strict warning in FakeDatabasUpdater::setAppliedUpdates
Follows-up ccd051bc44.

To be consistent with DatabaseUpdater::setAppliedUpdates
the second arg $updates is now optional.

Change-Id: Ida2adfe30099ea4c65f0c16fafc4eae6603fc93a
2014-10-13 13:36:09 +00:00
Bryan Davis
8fea9c619d FormatJson::stripComments
Add stripComments method that can be used to remove single line and
multiline comments from an otherwise valid JSON string. Inspired by the
comment removal code in redisJobRunnerService and discussions on irc
about the Extension registration RFC.

Change-Id: Ie743957bfbb7b1fca8cb78ad48c1efd953362fde
2014-10-12 12:34:22 -06:00
jenkins-bot
4be623a6b3 Merge "Revert "Make an empty "?action=" parameter default to "view""" 2014-10-11 17:23:21 +00:00
Brion VIBBER
4587cd5c71 Revert "Make an empty "?action=" parameter default to "view""
Breaks all non-view actions on dev wikis, something's not right with the patch.

This reverts commit a90b7ea969.

Change-Id: Ib9a5eb07ef48716df193fbb62a86c13e5c80dafd
2014-10-11 17:15:49 +00:00
jenkins-bot
c9aa597028 Merge "Add test for canUseWikiPage special case to ActionTest" 2014-10-11 00:36:58 +00:00
jenkins-bot
45f041ac8d Merge "Make an empty "?action=" parameter default to "view"" 2014-10-11 00:36:10 +00:00
Thiemo Mättig
e1a4fe4be5 Add test for canUseWikiPage special case to ActionTest
Change-Id: I6b037d4aa9101a3a416cdf3bd1e26f14b056b4f7
2014-10-11 00:30:21 +00:00
jenkins-bot
79ea0edce2 Merge "PrefixSearch: Enforce including the exact match as first result" 2014-10-10 21:34:23 +00:00
Thiemo Mättig
a90b7ea969 Make an empty "?action=" parameter default to "view"
When no action is given, e.g. in
https://en.wikipedia.org/wiki/URL
the action defaults to "view". Just like you called
https://en.wikipedia.org/wiki/URL?action=view

But when the action is empty, e.g.
https://en.wikipedia.org/wiki/URL?action=
you get an error message telling you that "the action specified"
can not be "recognized". Wait. I did not "specified" an action.
That's why I left the parameter empty. It doesn't make much sense
to have an empty action name that's different from the "view"
default, right? From the users point of view I expect the empty
string to behave like null/undefined.

Change-Id: I331924d9223e597293bc8285f0c330edf08e429b
2014-10-10 21:52:07 +02:00
Timo Tijhof
8dd95a13e3 PrefixSearch: Enforce including the exact match as first result
The default search backend implements proper prefix search and
does this naturally. But extensions providing search backends
like Lucene and CirrusSearch actually fail to implement proper
prefix searching and instead use their search engine ranking for
prefix search as well. Thus often the exact match is not on top
or is not even in the first 10 results at all.

On en.wikipedia.org:

> Example
1. "Example (musician)"
2. "Example"
3. "Example.com"

> John ive
1. "John Ives"
2. "John Ivey"
3. "John Ive"

> Foo
1. "Football (soccer)"
2. "Football League Cup"
3. "Foot (length)"

"Foo" exists but is NOT among the returned results.

Bug: 70958
Change-Id: I78d419424baf43d38beeb6dabfc347f430fa45f6
2014-10-10 19:32:09 +00:00
Brad Jorsch
df457f3809 API: HTMLize and internationalize the help, add Special:ApiHelp
The existing API help, formatted as basically a plain-text document
embedded in XML and with a little bolding and a few links
syntax-highlighted in after the fact, works ok for experienced programmers
but isn't at all newbie-friendly. Further, all the help is hard-coded in
English, which isn't very friendly to non-English speakers.

So let's rewrite it. The help text is now obtained from i18n messages
and output in HTML, with the default display consisting of help for a
single module with links to help for other modules. This, of course,
necessitates deprecating many of the existing help-related methods and
hooks and replacing them with new ones, but backwards compatibility is
maintained for almost everything.

At the same time, action=paraminfo also needs to support the
'description' and other help-related fields being output in wikitext or
HTML, and I11cb063d (to access all modules via the 'modules' parameter
instead of having 'modules', 'formatmodules', 'querymodules', and so on)
is folded in.

And we also add Special:ApiHelp. When directly accessed, it simply
redirects to api.php with appropriate parameters. But it's also
transcludable to allow up-to-date API help text to be included within
the on-wiki documentation.

Note this patch doesn't actually add i18n messages for any API modules
besides ApiMain and ApiHelp. That will come in a followup patch, but for
the moment the backwards-compatibility code handles them nicely.

While we're messing with the documentation, we may as well add the
"internal" flag requested in bug 62905 (although the 'includeinternal'
parameter it also requests doesn't make much sense anymore) and a
"deprecated" flag that's needed by several modules now.

Bug: 30936
Bug: 38126
Bug: 42343
Bug: 45641
Bug: 62905
Bug: 63211
Change-Id: Ib14c00df06d85c2f6364d83b2b10ce34c7f513cc
2014-10-10 10:46:39 -04:00
physikerwelt (Moritz Schubotz)
ccd051bc44 Add counter to DatabaseUpdater::setAppliedUpdates
The key was constructed depending on the current time only.
This method fails, if multiple updates are performed
within one second.

Bug: 71087
Change-Id: Id7e30298729b3abb1501a34fcc1ba4e45d2172f0
2014-10-09 06:13:54 +00:00
dan-nl
1f607e1e17 HttpTest: Update cURL constants array
The mediawiki-core-regression-hhvm-master test for I21747063 found
failures for some constants provided by the provideCurlConstants()
array.

https://integration.wikimedia.org/ci/job/mediawiki-core-regression-hhvm-master/2072/console

I have commented out the failures that occur in the current mw
HHVM 3.3.0 environment in order for the test to pass. none of the
commented out constants appear in the mw core code.

PHP 5.6.0 removed several cURL constants http://php.net/manual/en/curl.constants.php.
I have commented out those constants and verified that they do not
exist in the mw core code.

Bug: 71729
Change-Id: I30c5e78eacf19071aaf44834ca188172f082e161
2014-10-07 22:21:16 +00:00
jenkins-bot
4ffe4ca50b Merge "PrefixSearch: Add unit tests for StringPrefixSearch" 2014-10-07 12:41:08 +00:00