Commit graph

10 commits

Author SHA1 Message Date
daniel
dbce648a15 Ensure canHaveTalkPage returns false when getTalkPage would fail.
This causes Title::getTalkPage and NamespaceInfo::getTitle() to throw
an MWException when called on a LinkTarget that is an interwiki link
or a relative section link. These methods were already throwing
MWException when called on a link to a Special page.

Bug: T224814
Change-Id: I525c186a5b8b8fc22bca195da48afead3bfbd402
2019-07-03 10:40:10 +02:00
Derick Alangi
6963f406f8 PHPDoc: Fix non-carnonical order of elements in phpdoc
Change-Id: I21330e14629b5cd085f55c1b6c6232a4a6f4afcf
2019-06-12 20:18:32 +01:00
jenkins-bot
0bb36bf5aa Merge "Fix logic in NamespaceInfo::getRestrictionLevels" 2019-05-22 09:48:08 +00:00
Reedy
9f2ffdfbd4 Remove "Squiz.WhiteSpace.FunctionSpacing" from phpcs exclusions
Change-Id: I78b3315f26ab91b6b443f5b028a635552f82f5a3
2019-05-11 02:44:26 +01:00
Aryeh Gregor
eb2dbfdef6 Fix logic in NamespaceInfo::getRestrictionLevels
When $wgNamespaceProtection specifies multiple rights for a
namespace, the code was assuming all of those rights had to
come from one group. But MediaWiki allows for the rights to
come from multiple groups that each give a subset of the rights. Allow for that case.

Bug: T222598
Change-Id: I1e9aca6e521260f783bd881e7d095d62bc605dc6
2019-05-09 13:46:44 -05:00
Aryeh Gregor
e30cb5ba90 Move Title::getSubject/Talk/OtherPage to NamespaceInfo
This allows converting some more code to LinkTarget. 100% test coverage.

Change-Id: I28903af6a41d02755f37f31561a524547445821e
2019-05-06 08:29:28 -07:00
Aryeh Gregor
a220518f8f 100% test coverage for NamespaceInfo
In the new tests I added, I tried to cover all interesting scenarios and
not just hit each line to make the coverage green. But I didn't review
all the existing tests to see if they were properly thorough, so there
might still be room for improvement.

I uncovered a bug here that will be addressed in a separate commit,
because the fix is not so simple. For now I left the test expectation as
a @todo.

Change-Id: I33d556bf83c631a8a02a6c77f2f5cb06b8dbf869
2019-05-06 14:17:06 +03:00
Aryeh Gregor
fb7d698365 Don't pass Config to NamespaceInfo
Change-Id: Ie43e6108c6b9bcb666b1dece055e0df689e2ec42
2019-05-06 11:31:34 +03:00
Derick Alangi
06d906e06e MWNamespace: Remove deprecated method ::canTalk() and test suit
This method was deprecated in .30 hence remove as the usage is actually
zero in extensions and one only in core.

Usage:

https://codesearch.wmflabs.org/search/?q=%3A%3AcanTalk%5C(&i=nope&files=&repos=

Change-Id: Ia18c63f95c969d13c28ffb1afa376ec2df2002a3
2019-04-20 21:07:50 +01:00
Aryeh Gregor
76661cf129 NamespaceInfo service to replace MWNamespace
MWNamespace::clearCaches() has been removed entirely, along with the
$rebuild parameter to MWNamespace::getCanonicalNamespaces(). The rest of
MWNamespace is deprecated.

Diff best viewed with -C1 so git notices that NamespaceInfo is a copy of
MWNamespace.

Depends-On: Icb7a4a2a5d19fb1f2453b4b57a5271196b0e316d
Depends-On: Ib3c914fc99394e4876ac9fe27317a1eafa2ff69e
Change-Id: I1a03d4e146f5414ae73c7d1a5807c873323e8abc
2019-04-10 02:07:36 +00:00
Renamed from tests/phpunit/includes/MWNamespaceTest.php (Browse further)