Commit graph

789 commits

Author SHA1 Message Date
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
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
jeroendedauw
1bc7295296 Fix type of exception no longer matching after someone changed it without running the tests...
Change-Id: I5b1c3556f40d869f0f5d4a617f01f981d607d11f
2012-08-24 21:10:45 +02:00
Catrope
52c61302a0 Merge "Split up doOperations() test to be more robust when tests fail." 2012-08-23 21:16:15 +00:00
Aaron
4e63cbf52b Split up doOperations() test to be more robust when tests fail.
Change-Id: If7c0f1476e694feeb791754608ea964899be0c38
2012-08-23 14:13:20 -07:00
Catrope
f02ad7b103 Merge "Make the width/height in the SVG metadata box be in the SVG's units" 2012-08-23 20:39:52 +00:00
Brian Wolff
3c286bde96 Make the width/height in the SVG metadata box be in the SVG's units
This was suggested by a user at commons. The width/height in px is really
a MediaWiki thingy needed for rendering the image, from a metadata prespective
its the original units (aka the image should be 10cm, etc) that is
the information associated with the file.

The dimensions in pixels is still specified in the long description
of the image (the subtitle directly under the image).

Note: After gerrit change Ic58efbf2 is merged, this will cause no width or height
to be displayed for svg images with cached metadata, until they
get purged. I think that's perfectly ok as the width is
available elsewhere on the page.

p.s. I added one semi-unrelated code comment in SVGMetadataExtractor.

patchset 2,3: Fix test (hopefully, how come getting an up to date
version of PHPUnit is so difficult)
patchset 4: rebase
patchset 5: fix my accidental remove of a comment

Change-Id: I312fbd1c935a0095644c3b63c4929632c6f6e387
2012-08-23 16:19:28 -03:00
Brian Wolff
d1f0c5a7d8 (sort of bug 32410) Fix EXIF GPSAltitude calculation when below sea level.
In EXIF, GPSAltitude is stored as a fraction string like "1/2".
For values below sea level we were negating this value, in order
to represent the sign and the magnitude in the same value. However,
I forgot to convert that to an integer before negating it. PHP was nice
enough to do a best effort conversion of the string to an integer.
This resulted in altitudes below sea level being taken as just the
numerator of the altitude, which gives results that can be significantly
off.

Also add unit tests for the GPS related image metadata stuff. Change the
existing GPS test to use a fractional altitude (Since this issue isn't
appearent if the denominator is 1). Add tests for XMP as well, since
XMP had same issue, and has to do same processing as EXIF stuff does.

In some future time, may want to consider just converting all exif rational values
to real numbers during the extraction process for generally better sanity.

Patchset 2: rebase

Change-Id: I49032b52a4c840b28e667a6a2b8ae23c508df247
2012-08-23 11:53:14 -07:00
Alexandre Emsenhuber
092449ee68 Hide deprecated warning for Revision::revText().
Otherwise the test fails when $wgDevelopmentWarnings
is set to true because it emits a E_NOTICE.

Change-Id: I0c407f04cae4285cc61f73ec0ecb7b6ada8cbe0b
2012-08-21 21:18:13 +02:00
Siebrand Mazeland
4e1ccf0267 Replace deprecated wfMsg* calls with Message class calls.
Doing this in steps of roughly 100 changes per commit, so that it remains reviewable.

Change-Id: I4950fdf8be669b52446290768ece0b8df8399d5d
2012-08-20 22:52:17 +02:00
Siebrand Mazeland
3d97704f91 Replace some deprecated method calls.
Change-Id: Id4beca7b6821139fcc319c5694917e68668835ee
2012-08-19 23:27:43 +02:00
Alexandre Emsenhuber
7f9f359edf MessageCache::destroyInstance() is static.
So there is no point calling it using
MessageCache::singleton()->destroyInstance()

Change-Id: Ie4e10284b4b911fff018c52a2a680452601f8288
2012-08-16 10:00:45 +02:00
Demon
40e93447fc Merge "Add UserTest::testAllRightsWithMessage" 2012-08-16 01:54:18 +00:00
umherirrender
aff21af9ae Allow aliased field names with separated syntax
This introduce the syntax from aliased table names for aliased field
names into the abstract database layer:

array( 'alias' => 'field' ) gives 'field AS alias'

This patch also includes changes to query pages, api and some more
places to show, how the new syntax looks in "production".

This allow us to remove the "AS" for Non-PostgreSQL databases, if we
want that.

Change-Id: I5f0de1c2f29092c173aec3de93ffdef436799e8d
2012-08-15 15:16:09 +02:00
Demon
4be016ee5c Merge "New hook 'ParserTestGlobals'" 2012-08-14 17:53:58 +00:00
Demon
72e00dfb19 Merge "(bug 38406) Properly quote table names in DatabaseBase::tableName()" 2012-08-14 17:42:20 +00:00
Aaron Schulz
233633426a Merge "Added GenericArrayObject class and associated test base" 2012-08-14 03:22:01 +00:00
jeroendedauw
afe46f1403 Added GenericArrayObject class and associated test base
Change-Id: Id7e9b59c7ed4a9338744db58935307ecb4bc441f
2012-08-13 20:18:48 -07:00
Daniel Werner
aaf45a0b75 New hook 'ParserTestGlobals'
Allows to set globals before running parser tests.

Change-Id: Iea057b992b260611bca7f3adade2c8214b0dcea2
2012-08-14 00:18:50 +02:00
umherirrender
fdd2df0a80 Add UserTest::testAllRightsWithMessage
New test case, which checked, if for all available rights a right-
message exist (Core and Extensions)

Some missing rights added with extra patch sets (need merge/rebasing
before merge of this)

Change-Id: I28957835fb77a01a799439ad7b3d22b96db07204
2012-08-13 23:26:58 +02:00
jeroendedauw
8caca131e4 Move method to its using test class rather then having a public static thing in the base test class
Change-Id: Id82225d0fb65dcd30b5724ee4f2d7838dfcb5ea6
2012-08-12 21:47:06 +02:00
Aaron Schulz
eb16f5898d [Database] Various DB cleanups.
* Removed unused and obsolete set() and safeQuery() functions.
* Removed unused deprecated constructor functions.
* Removed unused limitResultForUpdate() cruft function.
* Removed unused standardSelectDistinct(), it's better to just follow the standard for all queries.
* Removed other cruft functions unused by core/extensions.
* Made some internal functions protected.

Change-Id: I90be88ea740834a417a17d7751f1be7bac4eae4e
2012-08-08 11:00:48 -07:00
Daniel Friesen
94f623363b Add a Uri class.
Add a Uri class matching our mw.Uri JS class for handling uris.
This class should be helpful in a bunch of places where we end up doing manual
concatenation of things like the path + '?' + query of a url parsed with wfParseUrl.

[tylerromeo@gmail.com: Removed cat() function, fixed wfWarn() usage for aliases
 and added visibility to all functions. Also added test for aliases.]
Signed-off-by: Tyler Romeo <tylerromeo@gmail.com>

Change-Id: Iefdedb7c80cf1d4aab58050edab3ab44ba868a58
2012-08-06 22:46:25 -04:00
Reedy
b7ce0372b0 Merge "Fix ApiWatchTest" 2012-08-02 16:26:37 +00:00
Timo Tijhof
663f947b7b (bug 27395) Write PHPUnit test suite for CSSJanus
Change-Id: If40c5de54bffae6e5ac8fac81754a53a40c652b1
2012-07-31 13:09:35 -07:00
Antoine Musso
aeacaae2b2 (bug 38333) test blocked user cant createaccount
This patch adds BlockTest::testBlockedUserCanNotCreateAccount() which
test that a new user can createaccount and that blocking him will
prevents to the createaccount right.

Does not solve bug 38333 though!

Change-Id: Ia10e26825d50d47b4770900ee91dea666337f969
2012-07-19 08:19:15 +00:00
Alexandre Emsenhuber
a6c47b6098 (bug 38406) Properly quote table names in DatabaseBase::tableName()
Currently the logic is the following:
$database = ( $format == 'quoted' || $this->isQuotedIdentifier( $database ) ? $database : $this->addIdentifierQuotes( $database ) );
This means that $database will *not* be quoted if $format is set to 'quoted',
which is the opposite of what we want here. Instead I just copied the code
used to quote $table just below and replace the variable.

This causes SQL syntax errors when the shared table name contain hyphens
since it is not quoted.

No RELEASE-NOTES entry since this should be backported to 1.19 once merged.

Patchset #2: added some tests
Patchset #3: fix tests for SQLite

Change-Id: Idda844cb470454a9a22001a31b6692de49892ca2
2012-07-18 14:54:47 +02:00
Aaron
87d3f10396 [FileBackend] MultiWrite code improvements and sanity checks.
* Automatically override a few sub-backend settings in FileBackendMultiWrite.
  We should ignore locking, journaling, or read-only settings of sub-backends.
  Journaling is now done just for master sub-backend paths (under the proxy backend name).
  We don't need to log for each sub-backend, which is a waste of disk space.
* Changed FileBackendMultiWrite::doOperationsInternal() to be similiar to the
  other write functions. It now uses doOperations() of the sub-backends rather
  than manual code. This makes settings like 'concurrency' easier to manage;
  we might want to have some sub-backends with varying setings for that.
* Made FileBackendMultiWrite::doQuickOperationsInternal() compliant with docs.
* Added CHECK_SHA1 option for consistency checking.
* Fixed function visibility in two places.
* Improved multiwrite backend tests by calling consistencyCheck().

Change-Id: Iac7bfe10c77ecd069fb9ef0ec26a01512f5f4eea
2012-07-18 03:21:55 +00:00
Aaron Schulz
878f5aae5c [FileBackend] Factored out code into ProcessCacheLRU class.
Factor out duplicated code into the new ProcessCacheLRU. It is a fixed
size an per process cache which invalidate the least recently used cache
key.

Change-Id: Ib4475f21879ef6286ce2a28f248acd296fdbd45d
2012-07-12 17:09:23 +00:00
robin
72ebf55665 Use Xml::languageSelector in SpecialAllmessages
Improve Xml::languageSelector: add parameters to change label message and id/name of the select tag.

Use languageSelector in SpecialAllmessages (less code duplication)

Patchset 10 July: add tests per MaxSem; add version for new parameters and change the message parameter to require a Message object per Nikerabbit

Change-Id: I7fbb29ee2dc37a2b6a5e2cfc88207a0b47b83e9b
2012-07-10 13:43:38 -04:00
Antoine Musso
12e608e3d5 converts '@fixme' to '@todo FIXME'
@fixme is simply not recognized by doxygen whereas @todo is used to
generate a nice ... todo list!!

Change-Id: If956c0a164373126ce48b791d45c56962034eecd
2012-07-10 17:16:46 +02:00
Max Semenik
27a4d74bd7 (bug 36495) Sanitizer: Convert align to margin/float outside tables.
Change-Id: I108cbd100cff6bade011b14d74b5bca82f2a1e5f
2012-07-03 08:54:46 +02:00
Antoine Musso
86021805a4 Revert "(bug 32297) Use symbolic names, not offsets for a default timezone."
This reverts commit 3056b8dfd2.

Change-Id: I29cf9a5389709b30f869072ed836cb5b85ba5106
2012-07-02 13:12:16 +02:00
Siebrand
5e18423043 Merge "(bug 32297) Use symbolic names, not offsets for a default timezone." 2012-07-01 15:10:08 +00:00
Tim Starling
5dd1bbd640 Merge "[FileBackend] Rewrote FileBackendStoreShardListIterator to actually work." 2012-06-29 06:23:42 +00:00
Aaron Schulz
4bbb51b326 Merge "Disable unneeded database requisite of generateRandomImages.php" 2012-06-28 18:04:57 +00:00
Aaron Schulz
8d2b9a2a4f Merge "helpers to get subjects/talk namespaces" 2012-06-28 17:54:03 +00:00
Aaron Schulz
ee33b414db Merge "Class renaming didn't went into change 12729" 2012-06-28 05:20:57 +00:00
Antoine Musso
e06ad28e7a helpers to get subjects/talk namespaces
Introduce two new methods to easily get array of namespaces indices
which are subjects or talks:

 MWNamespace::getSubjectNamespaces()
 MWNamespace::getTalkNamespaces()

Change-Id: I975db344afd97713521713a708368d37cd633c50
2012-06-26 22:25:59 +02:00
Platonides
de01120467 Disable unneeded database requisite of generateRandomImages.php
Change-Id: I56a2d7baa21a6082e088db3e6a41381b92168eed
2012-06-26 19:02:55 +02:00
Reedy
c06a92adbe Merge "Change some NS_IMAGE to NS_FILE" 2012-06-25 13:55:27 +00:00
Hashar
6e9ebaf9cc Merge "JavaScriptMinifierTest: Increase test coverage" 2012-06-25 13:53:14 +00:00
umherirrender
a9a71011ff Change some NS_IMAGE to NS_FILE
Change-Id: Id530c88d24df1a47a2f6565911184008b67fe04d
2012-06-24 21:50:10 +02:00
Platonides
1896e83ff2 Class renaming didn't went into change 12729
Change-Id: I0e5eff79a41662c89d111eaf0f13c35d9a689dde
2012-06-23 23:04:57 +02:00
Platonides
a05c1a1ab7 WikiPage::preSaveTransform() was deprecated in r103228 (018d885f)
Hide the warning on the tests and add tests for the Parser method.

Change-Id: I939bf59206da1dd45e33db2251e92d9792a0a767
2012-06-23 20:28:51 +02:00