Commit graph

1598 commits

Author SHA1 Message Date
Alexandre Emsenhuber
084b429175 Fix unit tests when $wgEmailAuthentication is set to false
Since d2a5cf3 (I0b906b23de), 'emailaddress' and 'emailauthentication'
fields don't have any more CSS classes when $wgEmailAuthentication is
set to false which is breaking the tests.

Force $wgEmailAuthentication to true, so that the tests work in all cases.

Change-Id: Idc156f88ff1bc8595009056166f13191cf5c5c25
2013-05-11 22:14:18 +02:00
Alexandre Emsenhuber
6a0e704c62 Fix --file parameter description in MediaWikiPHPUnitCommand.php
Change-Id: Ie134c06943be38cd65f8dae54332d38278ea0f96
2013-05-11 08:01:36 +02:00
Antoine Musso
dfaf583d83 tests: mock parser tests file access
I eventually got tired of our parser tests creating and deleting fixture
files over and over.  This patch mock the files in memory and just
expose the file metadata which is all we need for parser tests.

The mocked classes are under /tests/phpunit/mocks/ and respect the
hierarchy of /includes/.

The wiki.png and headbg.jpg files are still copied on each test :/

Change-Id: Iccdff67222e66d48d01dd1596d09df2ea24b8c2a
2013-05-10 10:16:55 -07:00
jenkins-bot
d5bd4f6e61 Merge "Change EXIF to Exif" 2013-05-10 12:55:45 +00:00
Siebrand Mazeland
59f6fd0199 Change EXIF to Exif
Per https://en.wikipedia.org/wiki/Exchangeable_image_file_format. Spotted
by Shirayuki and documented on
https://translatewiki.net/wiki/Thread:Support/About_MediaWiki:Sesp-property-exif-data/en

Change-Id: I92ba67ec60ccfe7a173d950593357b86792b8ed3
2013-05-10 13:51:06 +02:00
jenkins-bot
e8988c70c8 Merge "Fixed spacing" 2013-05-09 20:59:58 +00:00
umherirrender
cbc4fd7a5b print is not a function
Removed parenthesis after print

Change-Id: I1343872de7aa7c64952a3d86a63aaa091e46bda3
2013-05-09 20:06:03 +02:00
umherirrender
c6894adefc Fixed spacing
Added spaces around some parenthesis

Change-Id: If1e50e2a7b0046e91c0bbce8bf6641d8b2446a1d
2013-05-09 19:48:10 +02:00
Aaron Schulz
d1940caa1f [FileBackend] Added "adviseStat" option for the "listing followed by stat" case.
* Used this parameter to speed up copyFileBackend.php.
* Also added mtime checks to copyFileBackend.php and a few cleanups.
* Also fixed some incorrect getDirListPageInternal/getFileListPageInternal docs.

Change-Id: I424ef238f7adf4cf1f33b74e3a4e187dcb328a99
2013-05-09 16:19:40 +00:00
Timo Tijhof
50e7985d4d phpcs: Fix WhiteSpace.LanguageConstructSpacing warnings
Squiz.WhiteSpace.LanguageConstructSpacing:
   Language constructs must be followed by a single space;
   expected "require_once expression" but found
   "require_once(expression)"

It is a keyword (e.g. like `new`, `return` and `print`). As
such the parentheses don't make sense.

Per our code conventions, we use a space after keywords like
these. We appeared to have an unwritten exception for `require`
that doesn't make sense. About 60% of require/include usage
was missing the space and/or had superfluous parentheses.

It is as silly as print("foo") or return("foo"), it works
because keywords have no significance for whitespace between
it and the expression that follows, and since experessions can
be wrapped in parentheses for clarity (e.g. when doing string
concatenation or mathematical operations) the parenthesis
before and after basiclaly just ignored.

Change-Id: I2df2f80b8123714bea7e0771bf94b51ad5bb4b87
2013-05-09 05:56:26 +02:00
jenkins-bot
ec0cfb13c0 Merge "Exclude external_user table in DatabaseSqliteTest" 2013-05-08 20:24:50 +00:00
jenkins-bot
947bc5bba6 Merge "Fix bootstrap in unit tests" 2013-05-08 12:35:08 +00:00
Timo Tijhof
53ee1cefcf tests: Don't set wgStyleSheetPath in addition to wgStylePath
Because 1) `$wgStyleSheetPath = &$wgStylePath;` in default
settings, so setting one sets the other. No need to set both
and 2) in wmf-branches this variable is unset, thus this
caused an E_NOTICE internally when Test::setMwGlobals is
trying to access it to preserve the current value,
and 3) wgStyleSheetPath is deprecated.

Follows-up I1362932db223.

Change-Id: Ibd3f28e460fef995f68dfe1292d25fb75950dcf5
2013-05-08 00:04:38 +00:00
Alexandre Emsenhuber
4742232b0d Fix bootstrap in unit tests
- Remove check for version, that version is already enforced in phpunit.php,
  so there is not point showing a warning for it is useless
- Remove call to MessageCache::destroyInstance(), there is no need for it,
  since $wgMessageCacheType is set in phpunit.php before running Setup.php
- Remove includes of bootstrap.php in LanguageSrTest.php and LanguageUzTest.php

Change-Id: I4b2db6b3e6f001175e1a407c5add2972aade5e60
2013-05-03 21:45:06 +02:00
umherirrender
da0bf68e4c Exclude external_user table in DatabaseSqliteTest
Follow up I794338dbb75961ee033d41fa44bb7aa22e54f447

Change-Id: Ie83cb113be3911431ba36ef18286d6892364b0ca
2013-05-02 21:07:18 +02:00
Alexandre Emsenhuber
91a5ea4e5c Remove LocalisationCache::unloadAll() call from NewParserTest::addDBData()
- Localisation cache does not depend on the database, only on the
  localisation files themselves
- the backend is already set to LCStore_Null, so it will not interfere
  with other caches (CDB, database, etc.)

Unloading the whole cache before each test thus only adds overhead
without any benefit, and slows down the test suite (this changes allows
to win about 20 seconds on my local machine).

Change-Id: Ifa36a7135d9f8355e1a10dd49ece806d90f657a2
2013-04-30 23:58:21 +00:00
jenkins-bot
bc137a4884 Merge "Clean-up to global overrides in NewParserTest" 2013-04-29 12:31:17 +00:00
jenkins-bot
9cd8ce5034 Merge "Add input checks for Language::sprintfDate()" 2013-04-29 08:50:08 +00:00
Brent Garber
58c72e5aa6 Fix PHPUnit ORM Tests to work with Postgres
Change-Id: Ia4321727f6f1eab65c91d9876f87d51b545a72c2
2013-04-28 12:54:56 +00:00
jenkins-bot
28442903de Merge "Fix TimestampTest broken by 7e3386d4" 2013-04-26 15:05:20 +00:00
jenkins-bot
91d90c5b86 Merge "Added space after switch/Removed spaces after unset" 2013-04-26 15:01:41 +00:00
umherirrender
9f14ecf829 Added space after switch/Removed spaces after unset
While at it, added/removed some other spaces in the same files

Change-Id: I84d8001aa123a008807ad5eb76f396aed7c899a4
2013-04-26 16:42:31 +02:00
Alexandre Emsenhuber
a3e979a872 Clean-up to global overrides in NewParserTest
- Move definitions of constant values from NewParserTest::setupGlobals()
  to NewParserTest::setUp() so that the former only defines values
  depending on the test
- Remove duplicate definitions
- Use setMwGlobals() to override the globals in NewParserTest::setUp()
- Change the overriding of $wgNamespaceProtection to use the normal
  procedure instead of the "weirdglobal" thing
- Only define $wgUser, $wgOut and $wgRequest in NewParserTest::setupGlobals()

Change-Id: I1362932db2230455b23e469759ff3f9946da0392
2013-04-26 16:34:12 +02:00
Siebrand Mazeland
791d0b2a98 Update code formatting
Change-Id: I16a9b42651f1cfb1a70dffbb67b7b83dfeb90d03
2013-04-26 14:21:20 +00:00
Siebrand Mazeland
35f0a66f32 Add input checks for Language::sprintfDate()
Check if the timestamp has a length of 14 characters and if it is numeric.
Throw an exception otherwise. Includes tests.

Bug: 47629
Change-Id: I9a4fd0af88cf20c2a6bd72fd7048743466c1600f
2013-04-26 10:05:18 +02:00
Siebrand Mazeland
483e29277f Remove unused local variables in tests
Change-Id: I71318eb7d8c00bfc1ce6d2fc636b498f7a695f42
2013-04-26 09:48:46 +02:00
freakolowsky
66694155c1 Fixed dumpBlocks fcn
Change-Id: I5db9105a38ffd968cf6a6bac0d723db40ec1f518
2013-04-25 18:34:54 +00:00
Kevin Israel
47d1060398 Remove is_numeric check from Title::checkUserBlock
This should allow the usernames of administrators such as "7"
to show correctly on permissions error pages.

I extracted the working code from UserBlockedError::__construct
into a separate method Block::getPermissionsError, called from
both places with context provided as an argument.

Additional changes to get the test suite to pass are included.

Bug: 46768
Change-Id: I49d973992a99e03b4e8de112b47b737037a85338
2013-04-24 01:05:23 +00:00
Alexandre Emsenhuber
549e827efb Fix TimestampTest broken by 7e3386d4
- Call RequestContext::getMain()->setLanguage() since
  MWTimestamp::getHumanTimestamp() will call getLanguage() to get the
  Language object (and it not always English depending on the order the
  tests are called)
- While I'm at it, use MediaWikiLangTestCase to avoid duplicating things

Change-Id: I910287ccf093ef5681cd09445501dccc8d3f4d14
2013-04-23 15:27:41 +02:00
Tyler Anthony Romeo
7e3386d417 Refactor MWTimestamp::getHumanTimestamp and add hook.
Changed logic in MWTimestamp::getHumanTimestamp so that
all the message and formatting was offloaded into the
Language class, keeping only actual timestamp logic in
the MWTimestamp class.

Also added a hook so extensions can override the
human timestamp format.

Change-Id: Ie667088010e24eb6cb569f9e8e8e2553005223eb
2013-04-22 12:07:22 -07:00
MatmaRex
af125df519 Cleaned up Hooks code, comments, and documentation.
Essentially rewrote Hooks::run() to get rid of the ridiculous
four levels of indentation. Also made some slight adjustments
to fix rare edge cases (for example, moved set_error_handler
after wfProfileIn in case Profiler triggers an error).

Change-Id: Iafdd4ceedac067b49ac597359ac456f4617da9e8
2013-04-22 16:41:17 +02:00
Daniel Werner
7e4890405d Added more fine grained groups for parser tests
* Group "ParserTests" which allows to run all parser tests in PHPUnit without running other tests
  related to the MediaWiki parser from group "Parser"
* Dynamically generated groups to only run certain parser tests. All of those groups are the parser
  test file names ("." and "_" replaced) prefixed with "ParserTests_". This allows to easily run
  the parser tests of a certain extension separately without using "parserTests.txt".

Change-Id: I03b87820c2968cf16eba2ac39cd8444a0e4dc41a
2013-04-20 20:42:36 +00:00
Daniel Werner
93e7bc4c44 Improved readability of MediaWikiParserTest::suite code
Change-Id: Ic74048bcce71c2eeb8adfca872b978c3f0de094b
2013-04-20 22:40:56 +02:00
jenkins-bot
dfc977826c Merge "Add non DBMS depending SQL tests for DatabaseBase" 2013-04-18 08:42:02 +00:00
Aaron Schulz
e2f2e69724 Cleaned up test cleanup for FileBackend and avoid use of @.
Change-Id: Ie9f0090f626384a90b0139b9f8c2d94bf0bb8f23
2013-04-18 05:43:51 +00:00
jenkins-bot
fc55ba07ed Merge "Add missing braces to for in wfGetCallerTest" 2013-04-17 23:51:17 +00:00
Brian Wolff
2ca33d1ce7 Make concurrent runs of FileBackendTest independent
Make each run of the FileBackendTest be for a different "wiki"
so you could have multiple runs at the same time without them
interfering with each other.

There's been intermittent failures on jenkins for this test. I'm
not sure if its some race condition (which wouldn't really make
sense given each run should be independent I thought), but this
can't hurt.

Change-Id: I3b639f1c783efc140028c3acdce35ef3f58bf66f
2013-04-17 16:20:48 -03:00
umherirrender
e31e80dee1 Add missing braces to for in wfGetCallerTest
Change-Id: I14b7abb90e2574022c792a6874390eee87d48708
2013-04-17 20:11:34 +02:00
umherirrender
302f4b0ce1 Add non DBMS depending SQL tests for DatabaseBase
Created a DatabaseTestHelper class, which extends DatabaseBase and
implements STUBs for the interface methods and abstract methods

Change-Id: I9965b3604e78b2722077a35a7b4ce62a5bcb370e
2013-04-16 09:38:30 +02:00
jenkins-bot
a56052b07b Merge "Added spaces before and removed spaces after 'array'" 2013-04-14 22:01:51 +00:00
umherirrender
97234cc884 Added spaces before and removed spaces after 'array'
Fix some other spacing while at it

Change-Id: I13f81533eaf40e06c13cf377c0f08ef5cef01d00
2013-04-14 21:57:46 +02:00
csteipp
c38f71a3e7 Use a provider for Xff blocking tests
Move the block insertion to addDBData(), and use a provider to
itterate through the test strings.

This seems like the more correct way to run these tests, although it
still seems hacky, since the db isn't cleaned up after each test.

Change-Id: Ib22ce69797ec03a61b0cc330e8572865290ebd31
2013-04-14 17:08:01 +00:00
umherirrender
15abcf71ca Added/Removed spaces around string concatenation
And added/removed spaces around some other tokens,
like +, -, *, /, <, >, =, !

Fixed windows newline style

Change-Id: I0b9c8c408f3f6bfc0d685a074d7ec468fb848fc8
2013-04-13 13:36:24 +02:00
jenkins-bot
f8686daf4e Merge "Added a quick test for getAllQueuedJobs()." 2013-04-11 17:25:43 +00:00
JuneHyeon Bae
ca95efa952 make error message pretty
Change-Id: I45d04691aca8a1e2c7bb94537da8e04d2bbf0481
2013-04-10 08:48:08 +00:00
Brad Jorsch
e9e1b0a777 (bug 33454) Add timezone support to Language::sprintfDate
Add an optional timezone parameter to Language::sprintfDate, add format
characters eIOPTZ, and correct crU.

While we're at it, remove backwards-compatability code for 'N' and then
merge the existing switch cases for cr and wNzWtLoU that are basically
identical, since all those cases need to be changed anyway.

Bug: 33454
Change-Id: Iea1f78428bc0d32d6395818311dbe4b94d776c42
2013-04-09 22:49:04 +00:00
Aaron Schulz
720ba67b5f Added a quick test for getAllQueuedJobs().
Change-Id: Ia39461bc1e2356da1a694bf1898b8ca8e4200ff8
2013-04-09 14:32:20 -07:00
Brian Wolff
3d70637a42 Remove first letters that have an overlapping prefix.
First letters are supposed to be primary collation elements.
However, we do not want expansions to be considered
as firstletters (aka thorn "þ" -> "th" which isn't
the same as any other first letter (since "t" !== "th" )
however if þ was a first letter, the word "the" and
even worse the word "too" would be sorted under it, which
is wrong.

Looking for feedback if this all sounds sane. I have tested
it, it got rid of the contractions while at the same time
not removing any letter it wasn't supposed to.

Once this is merged, we could get rid of all the
-<langcode> entries. The other firstLetter array
entries for tailorings could be merged into
generateCollationData.php too, since incorrect
things would get pruned automatically, which
would probably make the logic in Collation.php
simpler.

Bug: 43740
Change-Id: I4bd3d39ec2938a53e2c6728adc48ee6cf9778d74
2013-04-08 22:52:40 +00:00
jenkins-bot
5026c1577c Merge changes Ic22a190c,Ia5b37f99
* changes:
  Removed duplicate class registration
  Removed pointless static declaration
2013-04-05 03:59:35 +00:00
Chad Horohoe
36cade5fe8 Remove ExternalUser authentication code
This was an experimental authentication system intoduced a couple
of years ago with a pretty narrow use-case. It's been pretty much
ignored since introduction, and makes login more complicated than
it needs to be.

I didn't drop the external_user table on the off-chance someone
out there actually has data in it, but they should use AuthPlugin
for their external authentication needs.

Change-Id: I794338dbb75961ee033d41fa44bb7aa22e54f447
2013-04-04 10:09:34 -04:00