Commit graph

832 commits

Author SHA1 Message Date
Niklas Laxström
d8f5490ec0 Sane whitespace
Change-Id: I849e9e672e50f033a24b5b42db93659d6e5fe899
2012-10-02 08:39:30 +00:00
Daniel Friesen
55a52d5915 more public accessors for Title class
This patch adds new public accessor to the Title class. They are merely
returning the already existing conventions.

Added tests for the four new methods:
 - Title::getBaseText()
 - Title::getRootText()
 - Title::getRootTitle()
 - Title::getSubpageText()

The later does not test with $wgNamespacesWithSubpages variants.

Change-Id: I4f7230c1a5487b82d06c78a45c50436085df57be
2012-10-01 20:52:03 +02:00
Reedy
8204ec598f Wrap long lines
Also remove default setting of $p done in else statement at end

Change-Id: I5024c1fc1748ad1add145d0696b33a6d7ef3223b
2012-09-29 00:35:16 +01:00
Chad Horohoe
99556232ae Remove completely broken test
Change-Id: I6a9897a533b0d57dab9b65d6100e267a73c710ed
2012-09-26 17:04:36 +00:00
Daniel Friesen
3842f9a262 Preemptively add css3's image() to our css sanitizer.
- Adding this now even though no browser supports it so that when one does it doesn't become a way to bypass our url() filter.
- Including missing tests for all of our insecure input filters.
- Also make sure that vendor prefixed versions like -webkit-image() are caught because most browsers are probably going to go and implement a vendor prefixed version first.

Change-Id: If73aa98b8accdb7621b0e4ff0615b61d530fa547
2012-09-26 05:24:16 +00:00
Nikerabbit
f5536e680b Merge "Change case to use the canonical names." 2012-09-25 23:33:49 +00:00
Tim Starling
343cbf7463 Add an API log
During incident response, it was not possible to tell what API modules
were being requested and by whom, since the action parameter is often
posted. This change logs the API parameters whether they are posted or
sent in the query string.

I did try to get the API parameters from the module, but that turns out
to be difficult. Modules create submodules (generators, page sets) as
local variables, which are created in a procedural style and destroyed
before logging is done, so there is no easy way to query them for
parameter lists after execution completes.

In ApiOptionsTest, use a real ApiMain object like all the other API test
cases, rather than a mock object. Otherwise the test fails.

Change-Id: Idc786007fe61811d1874f29b5ce4762dd97b1847
2012-09-24 21:22:09 +00:00
daniel
a1fb3de7d2 Clear token cache when resetting session.
ApiTestCase resets global session data in setup, invalidating any existing cookies.
ApiQueryInfo caches all tokens, these need to be cleared out so tokens are re-generated
to match the fresh session.

Until now, individual tests have been doing that, but there's no not to do this per
default.

Change-Id: Icefa362190c2e7d87d09bda30079255741824f55
2012-09-24 15:07:36 +02:00
Alexandre Emsenhuber
3beaa0a027 Follow-up Ifd700826 (60d119c), address a fixme in a re-enabled test.
Make the "Date menu next month is 11 months ago" also work when the
current month is december.

Change-Id: Ie7b998bf962abbb3e2f789a3d8a9af8c52e7feaa
2012-09-23 10:15:20 +02:00
IAlex
aed6ce419a Merge "Fix broken tests for Xml." 2012-09-23 08:09:16 +00:00
Tim Landscheidt
4de96da5af Reenable testStoredFunctions() in DatabaseTest.php.
Change-Id: I85192a326f8e83d433f69b296431cae57628e78f
2012-09-22 18:14:22 +00:00
Tim Landscheidt
60d119c6e2 Fix broken tests for Xml.
Change-Id: Ifd7008269cc960004676ba79449911d63476615c
2012-09-22 02:17:33 +00:00
Siebrand
6518ffba8d Merge "Updated plural rules from CLDR 22" 2012-09-19 07:01:52 +00:00
Platonides
b8f1c3c69c Change case to use the canonical names.
Change-Id: Ib2640e608ac4d33871446b15fca3780eb7715f1d
2012-09-18 22:30:38 +02:00
Antoine Musso
218d50c0c3 (bug 40306) Only convert align to float for table.
Align should be converted to text-align for all the elements specified
in $presentationalAttribs mapping. Table however is an exception, it
applies to alignment of the block (instead of the content).

Follow up I108cbd10 / 27a4d74bd7.

Change-Id: Iee17d4ef1a6a9b46d88a330cfc9179bccfe93247
2012-09-18 14:44:50 +02:00
Niklas Laxström
a87bfdd2f1 Updated plural rules from CLDR 22
Change-Id: I0325635a8e0fa3d5defbcbc3a0f4746ed4ab14c1
2012-09-17 16:59:29 +00:00
Antoine Musso
1a7da4f625 test: full coverage of Html::dropDefaults()
This closely match Html::dropDefaults() logic and hopefully test out
all default dropping.

Introduce a test case that match a failure in f34547ab where attribute
default values passed in an array are not cleaned up.

Change-Id: If8d16b066015ed1bcaf38408511ac3713eaa6540
2012-09-14 21:26:56 -07:00
Daniel Friesen
81f1cace4c Fix broken value="" stripping for HTML5
The default value for value="" on <input> elements is not always an
empty string.

In particular the default value for type="radio" is "on" and by
stripping value="" out of the attributes a "" becomes "on" and our
cleanup code ends up breaking forms.

Change-Id: Ibe5a3be3f45a2f93ef95dbe42729b8f8c94a41cb
2012-09-14 21:26:56 -07:00
Antoine Musso
a45e20ff11 HTML5 new types for input element
HTML5 introduced new types for the input element. For some reasons we
never added them to Html::openElement which would thus strip them even
in HTML5 mode.

The issue is:
 $wgHtml5 = true;
 Html::element( 'input', array( 'type' => 'color' );
 # -> "<input />"

With this patch, we returns: <input type="color" />

Change-Id: I7de373635d0eb47f788d1d664c3a913c8801efd6
2012-09-14 21:26:55 -07:00
umherirrender
99159fd750 wfTimestamp should not die on bogus input [Regression]
Followup I68eb9f27

No caller of wfTimestamp can handle the exception, false is always used,
as the method comment says.

See bug 40037 for File related timestamps.
The api result is also not b/c:
<api servedby="mw70">
  <error code="internal_api_error_TimestampException" info="Exception
Caught: MWTimestamp::setTimestamp : Invalid timestamp - te"
xml:space="preserve" />
</api>

Change-Id: I1e8c785941d35678f3d12824bdde0ce245572592
2012-09-14 18:28:22 +02:00
Siebrand Mazeland
59ec5a325c Move api/ApiTestUser.php to TestUser.php and make available in MediaWikiTestCase class.
* Renamed class ApiTestUser to TestUser.

Change-Id: I1c3c659c3ba5c54a314d879132f760008983372d
2012-09-13 18:40:23 +00:00
Demon
2c6646c7f6 Merge "Make userWasLastToEdit reusable." 2012-09-12 20:02:54 +00:00
Liangent
c0fe9b4743 Followup da433140: add one more test and release note
Change-Id: I03f3fa9cb58b6e98a88a2828f19bae849acf5455
2012-09-04 23:14:20 +08:00
Hashar
89a055491c Merge "'lang' attrib in #mw-content-text should be set to variant code." 2012-09-04 15:04:52 +00:00
Liangent
da43314022 'lang' attrib in #mw-content-text should be set to variant code.
Change-Id: I15cd8c102991c5007b43e06939a0c1a7593d0933
2012-09-04 17:00:27 +02:00
daniel
c4ff922e64 Make userWasLastToEdit reusable.
Make userWasLastToEdit a static method in the Revision class, so it can be
reused by extensions, etc.

Change-Id: Ib44423c3544dabab3be7fe6eb675315f2480838e
2012-09-03 12:22:52 +02:00
Aaron Schulz
5adfb9a184 Merge "Allow array condition for HAVING in database interface" 2012-09-01 00:03:47 +00:00
umherirrender
59e0647457 Allow array condition for HAVING in database interface
Current no use in core.

Change-Id: I8ed86c8238146285dd1caed4d8586c877cbecf44
2012-08-31 20:12:19 +02:00
Liangent
70e8fe8891 test: unwanted search namespace should not be there
When Special:Search uses User preferences for search, make sure that no
unwanted namespaces have been used.

Change-Id: Ibcb23c812bf1e02a398ffbf3a276afc1b1f367cf
2012-08-31 17:56:11 +02:00
Tyler Anthony Romeo
e738203a8e Added PHP complement for mw.Time.
Figured since a JS Timestamp class was being implemented
it might be appropriate to create a complementary PHP
Timestamp class. Much of code is taken from wfTimestamp().

Note: Another change (I53dcf547) is attempting a related
issue. Not sure how much of scope overlap there is.

Change-Id: I68eb9f27eebe80df757187f634392e1bcba5551f
Signed-off-by: Tyler Romeo <tylerromeo@gmail.com>
2012-08-30 20:44:09 -04:00
Aaron Schulz
48c14af1e9 Merge "clear magicword cache before testing cleanSig" 2012-08-30 17:16:33 +00:00
Daniel Kinzler
9e8ee1d1f5 Merge "Added default implmentation of instanceProvider to GenericArrayObjectTest" 2012-08-30 10:37:41 +00:00
Antoine Musso
9fd8cf88f0 tests: Wraper to set/disable $wgHTML5 in HtmlTest
Would let us easily set $wgHtml5 in our tests.

Change-Id: Iacf38c2961cbbb9cc58cd45bba34f10ee5688605
2012-08-30 12:20:31 +02:00
jeroendedauw
4a2e4e569a Added default implmentation of instanceProvider to GenericArrayObjectTest
Change-Id: I8d77c03b90ddca226c4bff18e42c53980bf9a861
2012-08-29 19:52:13 +02:00
Siebrand
dafdb6ed47 Merge "Fixed fallback behaviour for plural rules" 2012-08-29 16:16:57 +00:00
Antoine Musso
a8ca2e0e3b raise filerepo tests timeout to 10sec
'@group medium' instructs PHPUnit to wait up to 10 seconds for the test
to complete. That would save us from false positive caused by high disk
I/O on the continuous integration server.

Change-Id: Id11c3ed1879705f806d262dc8090ef2fb432ed36
2012-08-29 17:01:02 +02:00
daniel
a1e971cd0e clear magicword cache before testing cleanSig
Without this, some other synonym for "SUBST" may be used by the parser,
because the MagicWord got cached while another content language was active
in some other test.

Change-Id: I89dc2173f6a27dcd16b0548b06070ac4244fd3cb
2012-08-29 12:31:24 +02:00
Tim Starling
d76e670c76 Fixed fallback behaviour for plural rules
Fallbacks didn't work at all for the new plural rule system. I fixed it
by moving the getPluralRules() and getCompiledPluralRules() calls near
to the readPHPFile() calls, before merging is done. Then I factored out
the resulting code to readSourceFilesAndRegisterDeps().

* Removed pluralRules from mergeableMapKeys, it isn't one
* Added compiledPluralRules to allKeys so that it will be merged
* When a language is not present in the CLDR XML files, return null from
  getPluralRules() and getCompiledPluralRules() so that the fallback
  rules won't be overridden with an empty array. Normalised it back to
  an empty array in the unlikely event that there is no plural data in
  the fallback sequence at all, even in English.
* Fixed private function, "protected" is the way to say private here.

Change-Id: I3a008ef7f6ed7aaa15ad25ad796f7a2b8f827fa2
2012-08-29 07:57:45 +00:00
Catrope
84a54a63c5 Merge "[FileBackend] Added preloadCache() so callers can trigger cache getMulti()." 2012-08-29 00:13:57 +00:00
Aaron Schulz
68808d7b9f [FileBackend] Added preloadCache() so callers can trigger cache getMulti().
Change-Id: I2a30b4bfc16b4303abcb1f71206234dd2e0403af
2012-08-28 17:10:20 -07:00
Alexandre Emsenhuber
5af2159512 Moved warning stuff into MWDebug class.
- Group common code in one instead of doing checks one
  time in GlobalFunctions.php and another time in Debug.php
- Remove the code catching the fact that a warning is due
  to a deprecation warning, no longer needed
- Pass the caller offset from wfDeprecated() to
  MWDebug::deprecated(); this was breaking deprecation
  notices for global objects.
- Changed PHP error level for deprecation notices (when
  $wgDevelopmentWarnings is set to true) from E_USER_NOTICE
  to E_USER_DEPRECATED since we now require PHP 5.3+
- Added E_USER_DEPRECATED to wfSuppressWarnings() and
  removed the check for the E_DEPRECATED constant being set
  now that we require PHP 5.3+
- Fixed MWDebugTest by calling wfSuppressWarnings() and
  wfRestoreWarnings() in setUp() and tearDown()

Change-Id: I6810b57c90d384de55a2cf177047767cdb734f79
2012-08-28 15:33:44 +02:00
Nikerabbit
d6b9b27492 Merge "Use the MWDebug class to display debug log back in the request." 2012-08-28 05:49:41 +00:00
Tim Starling
ad03f2f753 Revert Uri class due to bug 39710
Revert 94f623363b. Apparently all
ReverseChronologicalPager subclasses were broken by the unexplained
interface change in wfArrayToCgi(): changing the interpretation of
null array values from "omit this key" to "include this key with no
value". The function has always been called with the former
interpretation, that's why the special case was in there.

Also reverted dependent changes 4b517fa and part of 3d97704.

Change-Id: I41dadbde5d0e0e4c54cc76bfc13c263c15c73828
2012-08-28 10:53:09 +10:00
Aaron Schulz
d1a806b91b Merge "Allow array condition for Database::conditional" 2012-08-28 00:01:05 +00:00
Alexandre Emsenhuber
61dd1d037b Use the MWDebug class to display debug log back in the request.
- This removes the duplication of MWDebug::$debug and
  OutputPage::$mDebugtext, so there's no need to store two times
  the same text
- Removed OutputPage::debug() since it's no longer used
- Had to keep OutputPage::$mDebugtext because it's still
  referenced by SemanticPageMaker extension
- Moved Skin::formatDebugHTML() to MWDebug::GetHTMLDebugLog()
  and replaced the call in Skin::generateDebugHTML() to use it
- Also check $logonly before sending entries to the debug
  toolbar in wfDebug(), for consistency
- Changed MWDebug::getDebugHTML() to also return the debug log
  in an HTML comment if $wgDebugComments is set to true and
  changed the location of this call to BaseTemplate::printTrail()
  so that its result is the latest possible. This also includes
  the debug toolbar.
- Removed MockOutputPage and related test cases since they are
  no longer accurate

Change-Id: Ie0f389f8566457b1c938c627ed930040741ac9d9
2012-08-27 23:47:19 +02:00
jeroendedauw
38c7f444e1 Use __DIR__ instead of dirname( __FILE__ )
We can now do this since we finally switched to PHP 5.3 for MW 1.20 and get rid of the silly dirname(__FILE__) stuff :)

Change-Id: Id9b2c9cd2e678197aa81c78adced5d1d31ff57b1
2012-08-27 21:45:00 +02:00
Demon
3b8d6141d5 Merge "use InvalidArgumentException rather then Exception" 2012-08-27 14:27:11 +00:00
daniel
78b4f237ef very basic test for ApiEditPage
Based on the generic Api logging system in APITestCase.

Change-Id: I28c0bd41f585cca199fdef9a78e60ef66625d37f
2012-08-27 13:56:52 +02:00
jeroendedauw
11d290fe7b use InvalidArgumentException rather then Exception
Change-Id: Ie744c773b316278e4a92af28354a8fe4eb83b78f
2012-08-27 13:34:02 +02:00
umherirrender
7a5f4b431d Allow array condition for Database::conditional
Change the one use of that method to use the new syntax.
Add some tests.

Change-Id: I9ad4e5b5e97d1d13cfd858105167ca5d20ffaf83
2012-08-25 20:24:59 +02:00