This removes the last use of ParsoidOutputAccess in core, allowing it
to be deprecated and eventually removed.
Bug: T367074
Bug: T317018
Change-Id: Ica2c880e2e7c2b126aaea66a3e4be460b3f2234f
The CSS for these classes was moved to content.thumbnails-common.less,
which makes the removed comment incorrect.
Bug: T366968
Change-Id: If72c00f97cf2d376bb45bcdbf8a515bd45c9e9cc
v5.0 of less.php defaults to only doing division in parenthesis. From this task T368921, we see this will change the behaviour of a lot of extensions. Pending when that task is completed, we could set the default in ResourceLoader to always do division in or outside parenthesis.
This is separate from I8cfb6aa11ac6766563221023c0, because otherwise
the mediawiki/vendor patch (Id70b0f4188e70f3e4b37a93a0) won't pass CI.
Bug: T368921
Change-Id: Ia23138114030b44e72ecd89edc73ee565f1fba39
Without the square brackets my IDE keeps telling me that calls to
these methods are wrong because they wouldn't use the correct number
of arguments. But this is not true.
Change-Id: I58a19529c665bb5c98ac301d357a49ca7f710b5c
Authority::isDefinitelyAllowed() offers a slightly better way to
check that the user has one of the two rights, and isn't blocked,
but without checking permissions for specific page titles.
That is what was intended when this complicated check was added
in 33534edfbd (SVN r85005).
Change-Id: I5eab9706f4bce92648076a45deef0ae0137c1151
This mistake happened in If455682. It's a bit funny. There are two
providers that are 100% identical anyway. The old provider was copied
but the new test accidentally uses the old provider. Which is totally
fine. They are identical anyway.
Change-Id: I473a96769f700a0f601dce16a86b1dc4ff8f4297
I believe almost all other code was already updated to use the much
more narrow ConnectionProvider instead. I believe this was just
forgotten.
Change-Id: I07ef12bed522eea263806b09c9b4c8cb56723334
If an invalid IP is passed to the REST API, the error message
should reflect that an IP was expected. Current rest errors only
support usernames.
Change-Id: Iea937e33c1a2534cc9a53c710d7ed7104b2d6a32
If the namespace configuration changed, it’s possible that the title in
the params can no longer be parsed. In that case, we shouldn’t return a
null entry, but just an empty array instead. (I haven’t tried it out
locally, but the test suggests that the actual formatting of the row
works without issue, with the title being shown as Special:BadTitle.)
Bug: T370396
Change-Id: I6335e12efa518332f7cd2268a833f8b60b8e6abe
Why:
- Temporary accounts will become the default anonymous editing
paradigm on Wikimedia wikis (and maybe for MediaWiki via T355880),
so we want this to be the default that we test against in CI
What:
- Enable AutoCreateTempUser in DevelopmentSettings.php when
MW_QUIBBLE_CI is set. That means it will be enabled for CI, but not
by default, in local development setups that include
DevelopmentSettings.php
Notes:
- PHPUnit tests that need to run in an anonymous IP editing context
should use TempUserTestTrait::disableAutoCreateTempUser()
- Selenium and API-testing tests that specifically check anonymous
IP editing context should use a custom LocalSettings.php override
to disable temp accounts feature for the duration of the test
Bug: T359043
Depends-On: I375cf7dfec1667396136402a85cbbb68efd43069
Depends-On: If48a33794132b46fb51d864bce103aa8285443c3
Depends-On: I604c521f00d5cc64b8102c93f9a013bcac557001
Depends-On: Id6ec4b9e438dd277a51f781377a93756fa4c3996
Depends-On: Ib0a176fe335cf45e5b2cdd351c95d5da162a1eb2
Change-Id: I8c4395ac1bdbc0c55aa45038cbbd589025b4aeef
Make it clearer in the class documentation that we can’t use most
MediaWiki services, including Shell::command(); that said, as far as I
can tell we should be able to use Shellbox (as it’s a separate library),
so do that.
Change-Id: I73f29214a1527bbbd3fd5c22b7476bdaa4627b03
In T361190 and Quibble 1.9.0, we introduced parallel execution of
PHPUnit tests to speed up the CI jobs. The existing implementation
is purely Python/Quibble, and cannot directly be used by developers
locally. With this patch, we re-implement the parallel test
execution already implemented in CI as a composer task so that the
parallel tests can be run locally.
The `phpunit:parallel:extensions` command expects to be run after
`phpunit:prepare-parallel:extensions`, and expects to find 8 test
suites with the names `split_group_X` (for X in 0 through 7) in the
PHPUnit configuration file. 8 here is currently a hard-coded number
that corresponds to the number of parallel test executions we need
to saturate the CPU of a 4-core developer machine, and experimentally
leads to a good speed-up versus the serial execution.
When this command runs, it forks to launch 8 parallel processes,
each running one of the `split_group_X` suites. The parent process
waits for the children to complete, buffers the output, collects the
exit statuses, then dumps the buffered output and exits with a
non-zero status if any of the child processes failed (i.e. if there
were test failures).
We introduce `phpunit:prepare-parallel:default` as a complement to
`phpunit:prepare-parallel:extensions`, and the two commands
`phpunit:parallel:database` and `phpunit:parallel:databaseless`.
This creates four possible combinations - two different test suites,
and two different test groups. This is a similar setup to that which
we have in CI - the Database and non-Database tests are run in
separate groups, and some jobs use the `extensions` suite while
others just use the default suite.
The `phpunit:parallel:...` commands will fail with a helpful message
if no `split_group_`s are found in the active PHPUnit configuration.
To help test whether the split test runs are really running all the
tests in the suite, we generate and store the PHPUnit results cache
file. Comparing the results cache files from linear versus parallel
runs should tell us if all the tests have been executed.
Bug: T365976
Change-Id: If106802f08edd5d4c841bb7970c69b88ab3bb39b
This code was in a big method and had a single responsibility
so was a good candidate for extracting into its own private
method
- Cut and paste a big block of code
- Move `$disableAnonTalk = $services->getMainConfig()->get( MainConfigNames::DisableAnonTalk );`
into the new method
- Add docblock
- Change #comment to //comment in the new method, for consistency within the new method
- No-op
Change-Id: I379bfa67a4518ca46da482578271471fa43ea4e2
- rename $def_content to $defaultContent
- rename $popts to $parserOptions
- remove some line breaks
Change-Id: I497c703652b094d5a69d71558037a2cc0b6683fd
The feature would be opt in to retain backwards compatible
support while also moving closer to rendering icons
consistently with how Codex does.
An example of this in use are:
* Ie5c88e0aa243f73f2dc9f310d18fd59b831edc64
* I17fabdf276f6c33fb78c007d75cda6bb9e02d79b
Bug: T365764
Bug: T358246
Change-Id: I95caab8037ccceba73101da2eb3c601f39511377
When no protocol is given, assume https:// and http://,
for the munged query part this was broken since e4078e9940
Bug: T369813
Follow-Up: I123662f40f6efbfd24f280984cd824ced6892840
Change-Id: I0d1bbb36c5d3deb98d45055bff32f7616bce9d5c