mediawiki/extensions/DonationInterface: REL1_43 (log #1604424)

sourcepatches

This run took 42 seconds.

From 2de6c9d0c83c35c0387a30a09bda8e66244103f2 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 14 Nov 2024 03:53:03 +0000
Subject: [PATCH] build: Updating mediawiki/mediawiki-codesniffer to 45.0.0

The following sniffs are failing and were disabled:
* MediaWiki.Usage.NullableType.ExplicitNullableTypes

Change-Id: I2dcdead4bef9a1f03a2755343b24b1d32d4ee9a3
---
 .phpcs.xml    | 1 +
 composer.json | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/.phpcs.xml b/.phpcs.xml
index 53fb7b9..43207b9 100644
--- a/.phpcs.xml
+++ b/.phpcs.xml
@@ -6,6 +6,7 @@
 		<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected" />
 		<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic" />
 		<exclude name="MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName" />
+		<exclude name="MediaWiki.Usage.NullableType.ExplicitNullableTypes" />
 		<exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" />
 		<exclude name="PSR12.Properties.ConstantVisibility.NotFound" />
 		<exclude name="Squiz.Classes.ValidClassName.NotCamelCaps" />
diff --git a/composer.json b/composer.json
index 44781c9..48dc45d 100644
--- a/composer.json
+++ b/composer.json
@@ -35,7 +35,7 @@
 		"whichbrowser/parser": "^2.1"
 	},
 	"require-dev": {
-		"mediawiki/mediawiki-codesniffer": "44.0.0",
+		"mediawiki/mediawiki-codesniffer": "45.0.0",
 		"mediawiki/mediawiki-phan-config": "0.14.0",
 		"mediawiki/minus-x": "1.1.3",
 		"php-parallel-lint/php-console-highlighter": "1.0.0",
-- 
2.39.2

$ date
--- stdout ---
Thu Nov 14 03:52:30 UTC 2024

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-DonationInterface.git repo --depth=1 -b REL1_43
--- stderr ---
Cloning into 'repo'...
--- stdout ---

--- end ---
$ git config user.name libraryupgrader
--- stdout ---

--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---

--- end ---
$ git submodule update --init
--- stdout ---

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/REL1_43
--- stdout ---
37e22c7a0ccf73dcffb4c87f080c2f7df4c5c988 refs/heads/REL1_43

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {},
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 0,
      "critical": 0,
      "total": 0
    },
    "dependencies": {
      "prod": 1,
      "dev": 459,
      "optional": 0,
      "peer": 1,
      "peerOptional": 0,
      "total": 459
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
                                                      Updating dependencies
Lock file operations: 75 installs, 0 updates, 0 removals
  - Locking addshore/psr-6-mediawiki-bagostuff-adapter (0.1)
  - Locking amzn/login-and-pay-with-amazon-sdk-php (2.5.0)
  - Locking clio/clio (0.1.8)
  - Locking coderkungfu/php-queue (1.0.1)
  - Locking composer/ca-bundle (1.5.3)
  - Locking composer/pcre (3.3.2)
  - Locking composer/semver (3.4.2)
  - Locking composer/spdx-licenses (1.5.8)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking corneltek/getoptionkit (2.7.2)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0)
  - Locking doctrine/deprecations (1.1.3)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking geoip2/geoip2 (v2.13.0)
  - Locking gr4vy/gr4vy-php (v0.21.4)
  - Locking guzzlehttp/guzzle (7.9.2)
  - Locking guzzlehttp/promises (2.0.4)
  - Locking guzzlehttp/psr7 (2.7.0)
  - Locking lcobucci/clock (2.0.0)
  - Locking lcobucci/jwt (4.3.0)
  - Locking maxmind-db/reader (v1.11.1)
  - Locking maxmind/minfraud (v1.23.0)
  - Locking maxmind/web-service-common (v0.9.0)
  - Locking mediawiki/mediawiki-codesniffer (v44.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.14.0)
  - Locking mediawiki/minus-x (1.1.3)
  - Locking mediawiki/phan-taint-check-plugin (6.0.0)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking monolog/monolog (2.10.0)
  - Locking neitanod/forceutf8 (v2.0.4)
  - Locking netresearch/jsonmapper (v4.5.0)
  - Locking phan/phan (5.4.3)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.2.1)
  - Locking phpcsstandards/phpcsutils (1.0.11)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.6.0)
  - Locking phpdocumentor/type-resolver (1.10.0)
  - Locking phpmailer/phpmailer (v6.9.2)
  - Locking phpstan/phpdoc-parser (2.0.0)
  - Locking predis/predis (v1.1.10)
  - Locking psr/cache (1.0.1)
  - Locking psr/container (1.1.2)
  - Locking psr/http-client (1.0.3)
  - Locking psr/http-factory (1.1.0)
  - Locking psr/http-message (2.0)
  - Locking psr/log (1.1.4)
  - Locking ralouphie/getallheaders (3.0.3)
  - Locking respect/stringifier (0.2.0)
  - Locking respect/validation (2.2.4)
  - Locking sabre/event (5.1.7)
  - Locking squizlabs/php_codesniffer (3.9.0)
  - Locking symfony/console (v5.4.47)
  - Locking symfony/deprecation-contracts (v2.5.3)
  - Locking symfony/http-foundation (v2.8.52)
  - Locking symfony/polyfill-ctype (v1.31.0)
  - Locking symfony/polyfill-intl-grapheme (v1.31.0)
  - Locking symfony/polyfill-intl-normalizer (v1.31.0)
  - Locking symfony/polyfill-mbstring (v1.31.0)
  - Locking symfony/polyfill-php54 (v1.20.0)
  - Locking symfony/polyfill-php55 (v1.20.0)
  - Locking symfony/polyfill-php73 (v1.31.0)
  - Locking symfony/polyfill-php80 (v1.31.0)
  - Locking symfony/service-contracts (v2.5.3)
  - Locking symfony/string (v5.4.47)
  - Locking symfony/yaml (v5.4.45)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.11.0)
  - Locking whichbrowser/parser (v2.1.8)
  - Locking wikimedia/remex-html (4.1.1)
  - Locking wikimedia/smash-pig (v0.8.15)
  - Locking wikimedia/testing-access-wrapper (1.0.0)
  - Locking wikimedia/utfnormal (3.0.2)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 75 installs, 0 updates, 0 removals
  - Syncing amzn/login-and-pay-with-amazon-sdk-php (2.5.0) into cache
  - Downloading wikimedia/smash-pig (v0.8.15)
 0/1 [>---------------------------]   0%
 1/1 [============================] 100%
  - Installing squizlabs/php_codesniffer (3.9.0): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
  - Installing psr/cache (1.0.1): Extracting archive
  - Installing addshore/psr-6-mediawiki-bagostuff-adapter (0.1): Extracting archive
  - Installing clio/clio (0.1.8): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing symfony/deprecation-contracts (v2.5.3): Extracting archive
  - Installing psr/http-message (2.0): Extracting archive
  - Installing psr/http-client (1.0.3): Extracting archive
  - Installing ralouphie/getallheaders (3.0.3): Extracting archive
  - Installing psr/http-factory (1.1.0): Extracting archive
  - Installing guzzlehttp/psr7 (2.7.0): Extracting archive
  - Installing guzzlehttp/promises (2.0.4): Extracting archive
  - Installing guzzlehttp/guzzle (7.9.2): Extracting archive
  - Installing lcobucci/clock (2.0.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.31.0): Extracting archive
  - Installing lcobucci/jwt (4.3.0): Extracting archive
  - Installing maxmind-db/reader (v1.11.1): Extracting archive
  - Installing respect/stringifier (0.2.0): Extracting archive
  - Installing respect/validation (2.2.4): Extracting archive
  - Installing composer/ca-bundle (1.5.3): Extracting archive
  - Installing maxmind/web-service-common (v0.9.0): Extracting archive
  - Installing geoip2/geoip2 (v2.13.0): Extracting archive
  - Installing maxmind/minfraud (v1.23.0): Extracting archive
  - Installing symfony/polyfill-php80 (v1.31.0): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.0.11): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive
  - Installing composer/spdx-licenses (1.5.8): Extracting archive
  - Installing composer/semver (3.4.2): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v44.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.31.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.31.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.31.0): Extracting archive
  - Installing symfony/string (v5.4.47): Extracting archive
  - Installing psr/container (1.1.2): Extracting archive
  - Installing symfony/service-contracts (v2.5.3): Extracting archive
  - Installing symfony/polyfill-php73 (v1.31.0): Extracting archive
  - Installing symfony/console (v5.4.47): Extracting archive
  - Installing sabre/event (5.1.7): Extracting archive
  - Installing netresearch/jsonmapper (v4.5.0): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing phpstan/phpdoc-parser (2.0.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.3): Extracting archive
  - Installing phpdocumentor/type-resolver (1.10.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.6.0): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (1.1.4): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (5.4.3): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (6.0.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.14.0): Extracting archive
  - Installing mediawiki/minus-x (1.1.3): Extracting archive
  - Installing monolog/monolog (2.10.0): Extracting archive
  - Installing neitanod/forceutf8 (v2.0.4): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  - Installing symfony/polyfill-php54 (v1.20.0)
  - Installing symfony/polyfill-php55 (v1.20.0)
  - Installing whichbrowser/parser (v2.1.8): Extracting archive
  - Installing wikimedia/utfnormal (3.0.2): Extracting archive
  - Installing wikimedia/remex-html (4.1.1): Extracting archive
  - Installing symfony/yaml (v5.4.45): Extracting archive
  - Installing symfony/http-foundation (v2.8.52): Extracting archive
  - Installing predis/predis (v1.1.10): Extracting archive
  - Installing phpmailer/phpmailer (v6.9.2): Extracting archive
  - Installing gr4vy/gr4vy-php (v0.21.4): Extracting archive
  - Installing corneltek/getoptionkit (2.7.2): Extracting archive
  - Installing coderkungfu/php-queue (1.0.1): Extracting archive
  - Installing amzn/login-and-pay-with-amazon-sdk-php (2.5.0): Cloning 0c923fe992 from cache
  - Installing wikimedia/smash-pig (v0.8.15): Extracting archive
  - Installing wikimedia/testing-access-wrapper (1.0.0): Extracting archive
  0/70 [>---------------------------]   0%
 19/70 [=======>--------------------]  27%
 29/70 [===========>----------------]  41%
 37/70 [==============>-------------]  52%
 47/70 [==================>---------]  67%
 49/70 [===================>--------]  70%
 58/70 [=======================>----]  82%
 69/70 [===========================>]  98%
 70/70 [============================] 100%
34 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating optimized autoload files
Class SmashPig\PaymentProviders\Fundraiseup\Tests\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Fundraiseup/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\Manual\TestCreatePayment located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/manual/TestCreatePayment.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\IdealStatusProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/IdealStatusProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\HostedCheckoutProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/HostedCheckoutProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\AuthenticatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/AuthenticatorTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\BankPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/BankPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\PaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/PaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\TokenizeRecurringJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/TokenizeRecurringJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Amazon\Tests\RecordPaymentsJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/RecordPaymentsJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Amazon\Tests\NormalizeTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/NormalizeTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Amazon\Tests\ActionsTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/ActionsTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Amazon\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Amazon\Tests\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\CaptureJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/CaptureJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\RestResponseValidatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RestResponseValidatorTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\CancelRecurringActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/CancelRecurringActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\RequeueMessageTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RequeueMessageTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\PaymentCaptureActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/PaymentCaptureActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\RecurringContractActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecurringContractActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\RefundInitiatedActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RefundInitiatedActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\RecurringContractJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecurringContractJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\RecurringPaymentTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecurringPaymentTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\ReferenceDataTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ReferenceDataTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\AutoRescueActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/AutoRescueActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\ChargebackInitiatedActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ChargebackInitiatedActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\ReportAvailableTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ReportAvailableTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\RecordCaptureJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecordCaptureJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\TokenizeRecurringJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/TokenizeRecurringJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\CaptureResponseActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/CaptureResponseActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Tests\PaidMessageJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/PaidMessageJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Tests\RestResponseValidatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/RestResponseValidatorTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Tests\RejectedMessageJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/RejectedMessageJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Tests\SignatureCalculatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/SignatureCalculatorTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Test\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Tests\CardPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/CardPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\PayPal\Tests\CaptureIncomingMessageTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\PayPal\Tests\PaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/PayPal/Tests/phpunit/PaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Braintree\Tests\SignatureValidatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/SignatureValidatorTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Braintree\Tests\PayPalPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/PayPalPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Braintree\Tests\VenmoPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/VenmoPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Braintree\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Braintree\Test\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Braintree\Tests\PaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/PaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
29 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
Upgrading c:mediawiki/mediawiki-codesniffer from 44.0.0 -> 45.0.0
$ /usr/bin/composer update
--- stderr ---
Loading composer repositories with package information
                                                      Updating dependencies
Lock file operations: 0 installs, 4 updates, 0 removals
  - Upgrading composer/semver (3.4.2 => 3.4.3)
  - Upgrading mediawiki/mediawiki-codesniffer (v44.0.0 => v45.0.0)
  - Upgrading phpcsstandards/phpcsutils (1.0.11 => 1.0.12)
  - Upgrading squizlabs/php_codesniffer (3.9.0 => 3.10.3)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 4 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Upgrading squizlabs/php_codesniffer (3.9.0 => 3.10.3): Extracting archive
  - Upgrading phpcsstandards/phpcsutils (1.0.11 => 1.0.12): Extracting archive
  - Upgrading composer/semver (3.4.2 => 3.4.3): Extracting archive
  - Upgrading mediawiki/mediawiki-codesniffer (v44.0.0 => v45.0.0): Extracting archive
 0/4 [>---------------------------]   0%
 3/4 [=====================>------]  75%
 4/4 [============================] 100%
Generating optimized autoload files
Class SmashPig\PaymentProviders\Fundraiseup\Tests\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Fundraiseup/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\Manual\TestCreatePayment located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/manual/TestCreatePayment.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\IdealStatusProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/IdealStatusProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\HostedCheckoutProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/HostedCheckoutProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\AuthenticatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/AuthenticatorTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\BankPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/BankPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\PaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/PaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\TokenizeRecurringJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/TokenizeRecurringJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Amazon\Tests\RecordPaymentsJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/RecordPaymentsJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Amazon\Tests\NormalizeTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/NormalizeTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Amazon\Tests\ActionsTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/ActionsTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Amazon\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Amazon\Tests\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\CaptureJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/CaptureJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\RestResponseValidatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RestResponseValidatorTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\CancelRecurringActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/CancelRecurringActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\RequeueMessageTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RequeueMessageTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\PaymentCaptureActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/PaymentCaptureActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\RecurringContractActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecurringContractActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\RefundInitiatedActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RefundInitiatedActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\RecurringContractJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecurringContractJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\RecurringPaymentTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecurringPaymentTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\ReferenceDataTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ReferenceDataTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\AutoRescueActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/AutoRescueActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\ChargebackInitiatedActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ChargebackInitiatedActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\ReportAvailableTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ReportAvailableTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\RecordCaptureJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecordCaptureJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\TokenizeRecurringJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/TokenizeRecurringJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\CaptureResponseActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/CaptureResponseActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Tests\PaidMessageJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/PaidMessageJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Tests\RestResponseValidatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/RestResponseValidatorTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Tests\RejectedMessageJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/RejectedMessageJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Tests\SignatureCalculatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/SignatureCalculatorTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Test\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Tests\CardPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/CardPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\PayPal\Tests\CaptureIncomingMessageTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\PayPal\Tests\PaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/PayPal/Tests/phpunit/PaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Braintree\Tests\SignatureValidatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/SignatureValidatorTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Braintree\Tests\PayPalPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/PayPalPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Braintree\Tests\VenmoPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/VenmoPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Braintree\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Braintree\Test\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Braintree\Tests\PaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/PaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
29 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Found 1 security vulnerability advisory affecting 1 package.
Run composer audit for a full list of advisories.
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
Previously failing phpcs rules: {'MediaWiki.Files.ClassMatchesFilename.NotMatch', 'Squiz.Classes.ValidClassName.NotCamelCaps', 'MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic', 'MediaWiki.Commenting.MissingCovers.MissingCovers', 'MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected', 'MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName', 'MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment', 'PSR12.Properties.ConstantVisibility.NotFound'}
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":364,"warnings":395,"fixable":4},"files":{"\/src\/repo\/paypal_ec_gateway\/paypal_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/dlocal_gateway\/dlocal.api.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'DlocalDonationApi' does not match filename 'dlocal.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":3,"column":12}]},"\/src\/repo\/dlocal_gateway\/dlocal_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'DlocalGatewayResult' does not match filename 'dlocal_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":6,"column":1}]},"\/src\/repo\/paypal_ec_gateway\/paypal_express_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'PaypalExpressGatewayResult' does not match filename 'paypal_express_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1}]},"\/src\/repo\/dlocal_gateway\/dlocal_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/paypal_ec_gateway\/PaypalExpressReturnUrl.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":4,"column":12}]},"\/src\/repo\/paypal_ec_gateway\/paypal_express_gateway.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'PaypalExpressGateway' does not match filename 'paypal_express_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1}]},"\/src\/repo\/gateway_common\/FallbackLogPrefixer.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":12}]},"\/src\/repo\/gateway_common\/DonorEmail.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":4,"column":12}]},"\/src\/repo\/modules\/CurrencyRatesModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/braintree_gateway\/braintree_gateway.body.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'BraintreeGateway' does not match filename 'braintree_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":9,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12}]},"\/src\/repo\/braintree_gateway\/braintree_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'BraintreeGatewayResult' does not match filename 'braintree_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":6,"column":1}]},"\/src\/repo\/braintree_gateway\/braintree_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/DonationInterface.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ContributionTrackingPlusUnique.php":{"errors":2,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":16,"column":70},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":12}]},"\/src\/repo\/gateway_common\/Simple3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ReturnUrl.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":5,"column":12}]},"\/src\/repo\/gateway_common\/AmountInCents.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":13,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":12}]},"\/src\/repo\/gateway_common\/CurrencyCountryRule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/EmployerFieldValidation.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":34,"column":12}]},"\/src\/repo\/gateway_common\/DonorLanguage.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":4,"column":12}]},"\/src\/repo\/gateway_common\/StagingHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ResponseProcessingException.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":33,"column":12}]},"\/src\/repo\/gateway_common\/StreetNumberValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/Abstract3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/MessageUtils.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ArrayHelper.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":23,"column":22},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":54,"column":22}]},"\/src\/repo\/gateway_common\/EndowmentHooks.php":{"errors":3,"warnings":1,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":7,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":49,"column":22}]},"\/src\/repo\/gateway_common\/UnstagingHelper.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12}]},"\/src\/repo\/gateway_common\/LogPrefixProvider.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":4,"column":12}]},"\/src\/repo\/gateway_common\/PayPalAmount.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":5,"column":12},{"message":"Method name \"is_fractional_currency\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":9,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":19}]},"\/src\/repo\/gateway_common\/RecurringConversion.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ErrorState.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12}]},"\/src\/repo\/gateway_common\/DonorLocale.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":11,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":32,"column":12}]},"\/src\/repo\/gateway_common\/DonationLogProcessor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/RecurringConversion.api.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'RecurringConversionApi' does not match filename 'RecurringConversion.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":54,"column":12}]},"\/src\/repo\/ingenico_gateway\/IngenicoReturnUrlHelper.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":4,"column":12}]},"\/src\/repo\/ingenico_gateway\/ingenico_resultswitcher.body.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'IngenicoGatewayResult' does not match filename 'ingenico_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":8,"column":15}]},"\/src\/repo\/ingenico_gateway\/ingenico_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/dlocal_gateway\/dlocal_gateway.body.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'DlocalGateway' does not match filename 'dlocal_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":12,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":51,"column":12}]},"\/src\/repo\/ingenico_gateway\/Ingenico3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/amazon_gateway\/amazon_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ResultPages.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":82,"column":18}]},"\/src\/repo\/gateway_common\/StreetAddress.php":{"errors":4,"warnings":2,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":6,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":7,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Method name \"stage_street\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":25,"column":15},{"message":"Method name \"stage_postal_code\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":47,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":78,"column":12}]},"\/src\/repo\/email_forms\/EmailForm.php":{"errors":6,"warnings":1,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":12,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":19,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":74,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":79,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":87,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":149,"column":15}]},"\/src\/repo\/gateway_common\/PaymentTransactionResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/LocalClusterPsr6Cache.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/donation.api.php":{"errors":3,"warnings":0,"messages":[{"message":"Class name 'DonationApi' does not match filename 'donation.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":10,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":50,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":94,"column":15}]},"\/src\/repo\/gateway_common\/GatewayType.php":{"errors":3,"warnings":0,"messages":[{"message":"Method name \"getData_Unstaged_Escaped\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":92,"column":12},{"message":"Method name \"session_ensure\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":198,"column":12},{"message":"Method name \"token_getSaltedSessionToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":240,"column":12}]},"\/src\/repo\/dlocal_gateway\/PlaceholderFiscalNumber.php":{"errors":1,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":13,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":14,"column":31},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":12}]},"\/src\/repo\/gravy_gateway\/gravy.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'GravyDonationApi' does not match filename 'gravy.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1}]},"\/src\/repo\/gateway_common\/DonorFullName.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gravy_gateway\/gravy_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/FiscalNumber.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":121,"column":22},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":128,"column":12}]},"\/src\/repo\/special\/SystemStatus.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12}]},"\/src\/repo\/amazon_gateway\/amazon.api.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'AmazonBillingApi' does not match filename 'amazon.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":86,"column":12}]},"\/src\/repo\/gateway_common\/PaymentResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/employerSearch.api.php":{"errors":2,"warnings":3,"messages":[{"message":"Class name 'EmployerSearchAPI' does not match filename 'employerSearch.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":16,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":31,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":36,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":41,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":178,"column":12}]},"\/src\/repo\/gateway_common\/RecurringConversionTrait.php":{"errors":7,"warnings":0,"messages":[{"message":"Method name \"session_getData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":12,"column":21},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":21},{"message":"Method name \"session_resetForNewAttempt\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":16,"column":21},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":21},{"message":"Method name \"session_setDonorBackupData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":18,"column":21},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":18,"column":21},{"message":"Method name \"session_MoveDonorDataToBackupForRecurringConversion\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":104,"column":12}]},"\/src\/repo\/gateway_common\/ResultSwitcher.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":114,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":148,"column":12}]},"\/src\/repo\/includes\/Api\/ApiDonationClientError.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRecurUpgradeClientError.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/Amount.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Method name \"is_fractional_currency\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":155,"column":19},{"message":"Method name \"is_exponent3_currency\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":173,"column":19}]},"\/src\/repo\/gateway_common\/PostalCodeValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/WmfFramework.php":{"errors":18,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":13,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":20,"column":30},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":33,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":37,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":46,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":50,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":54,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":58,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":62,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":70,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":89,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":93,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":98,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":102,"column":19}]},"\/src\/repo\/gateway_common\/DonationProfiler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/amazon_gateway\/amazon_gateway.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AmazonGateway' does not match filename 'amazon_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":19,"column":1}]},"\/src\/repo\/tests\/phpunit\/BaseAdyenCheckoutTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/DonationInterface.class.php":{"errors":3,"warnings":0,"messages":[{"message":"Class name 'DonationInterface' does not match filename 'DonationInterface.class.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":7,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":73,"column":19}]},"\/src\/repo\/gateway_common\/PaymentMethod.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DonationInterfaceApiTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/StreetAddressValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/civiproxy\/CiviproxyConnect.php":{"errors":2,"warnings":2,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":8,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":9,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":11,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":61,"column":19}]},"\/src\/repo\/gateway_common\/DonationApiBase.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":24,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":96,"column":12}]},"\/src\/repo\/gravy_gateway\/gravy_gateway.body.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'GravyGateway' does not match filename 'gravy_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":8,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12}]},"\/src\/repo\/tests\/phpunit\/BaseDlocalTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/test_request\/test.request.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'TestingRequest' does not match filename 'test.request.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":25,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12}]},"\/src\/repo\/gateway_common\/ValidationHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/TestCrash.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ConfigurationReader.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":115,"column":15}]},"\/src\/repo\/tests\/phpunit\/includes\/TestingDonationLogger.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12}]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/TestingDlocalAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/session_velocity\/session_velocity.body.php":{"errors":2,"warnings":5,"messages":[{"message":"Class name 'Gateway_Extras_SessionVelocityFilter' does not match filename 'session_velocity.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":19,"column":1},{"message":"Class name \"Gateway_Extras_SessionVelocityFilter\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":19,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":34,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":35,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":36,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":37,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":38,"column":5}]},"\/src\/repo\/gateway_forms\/includes\/Subdivisions.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":5,"column":19}]},"\/src\/repo\/braintree_gateway\/braintree.adapter.php":{"errors":2,"warnings":6,"messages":[{"message":"Class name 'BraintreeAdapter' does not match filename 'braintree.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":14,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":17,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":18,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":19,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":52,"column":78},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":57,"column":55},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":58,"column":74},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":244,"column":12}]},"\/src\/repo\/gateway_forms\/MustacheHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/braintree_gateway\/braintree.api.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'BraintreeDonationApi' does not match filename 'braintree.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":3,"column":12}]},"\/src\/repo\/paypal_ec_gateway\/paypal_express.adapter.php":{"errors":4,"warnings":3,"messages":[{"message":"Class name 'PaypalExpressAdapter' does not match filename 'paypal_express.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":24,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":25,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":26,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":27,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":43,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":154,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":158,"column":12}]},"\/src\/repo\/tests\/phpunit\/IntegrationTest.php":{"errors":2,"warnings":1,"messages":[{"message":"Class name 'DonationInterface_IntegrationTest' does not match filename 'IntegrationTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":29,"column":1},{"message":"Class name \"DonationInterface_IntegrationTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":29,"column":1},{"message":"The testBackClickPayPalToDlocal test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":55,"column":12}]},"\/src\/repo\/extras\/custom_filters\/custom_filters.body.php":{"errors":6,"warnings":3,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters' does not match filename 'custom_filters.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":8,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":11,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":40,"column":50},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":166,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":174,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":182,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":206,"column":15}]},"\/src\/repo\/tests\/phpunit\/IngenicoLocaleTest.php":{"errors":0,"warnings":2,"messages":[{"message":"The testStageSimple test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":69,"column":12},{"message":"The testStageYue test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":74,"column":12}]},"\/src\/repo\/ingenico_gateway\/IngenicoLocale.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/conversion_log\/conversion_log.body.php":{"errors":5,"warnings":0,"messages":[{"message":"Class name 'Gateway_Extras_ConversionLog' does not match filename 'conversion_log.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1},{"message":"Class name \"Gateway_Extras_ConversionLog\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1},{"message":"Method name \"post_process\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":14,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":47,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":55,"column":22}]},"\/src\/repo\/gateway_common\/DonationLoggerFactory.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?LogPrefixProvider $prefixer = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":25,"column":75},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":59,"column":19}]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/TestingGenericAdapter.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":35,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":71,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":74,"column":12}]},"\/src\/repo\/tests\/phpunit\/LintYaml.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":7,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":35,"column":1}]},"\/src\/repo\/tests\/phpunit\/DonationMessageTest.php":{"errors":0,"warnings":1,"messages":[{"message":"The testGetCountrySpecificMessage test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":9,"column":12}]},"\/src\/repo\/adyen_gateway\/adyen_checkout_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AdyenCheckoutGatewayResult' does not match filename 'adyen_checkout_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":6,"column":1}]},"\/src\/repo\/tests\/phpunit\/includes\/TestingGatewayPage.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":13,"column":12}]},"\/src\/repo\/paypal_ec_gateway\/PayPalCountry.php":{"errors":1,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":7,"column":23},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":8,"column":23},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":11,"column":12}]},"\/src\/repo\/ingenico_gateway\/ingenico_gateway.body.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'IngenicoGateway' does not match filename 'ingenico_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":22,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12}]},"\/src\/repo\/extras\/custom_filters\/filters\/source\/source.body.php":{"errors":4,"warnings":0,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_Source' does not match filename 'source.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_Source\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":52,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":64,"column":22}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/RealTimeBankTransferIdealTest.php":{"errors":2,"warnings":1,"messages":[{"message":"Class name 'DonationInterface_Adapter_Ingenico_RealTimeBankTransferIdealTest' does not match filename 'RealTimeBankTransferIdealTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":31,"column":1},{"message":"Class name \"DonationInterface_Adapter_Ingenico_RealTimeBankTransferIdealTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":31,"column":1},{"message":"The testIngenicoFormLoad_rtbt_Ideal test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":64,"column":12}]},"\/src\/repo\/extras\/FraudFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/RecurUpgrade\/Validator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":50,"column":15}]},"\/src\/repo\/ingenico_gateway\/IngenicoFormVariant.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/GatewayPageTest.php":{"errors":0,"warnings":6,"messages":[{"message":"The testCurrencyFallbackWithNotification test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":67,"column":12},{"message":"The testCurrencyFallbackIntermediateConversion test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":80,"column":12},{"message":"The testCurrencyFallbackWithoutNotification test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":94,"column":12},{"message":"The testCurrencyFallbackAlwaysNotifiesIfOtherErrors test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":106,"column":12},{"message":"The testNoFallbackForSupportedCurrency test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":124,"column":12},{"message":"The testCurrencyFallbackByCountry test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":134,"column":12}]},"\/src\/repo\/adyen_gateway\/EncryptedCardParameters.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":12}]},"\/src\/repo\/gateway_forms\/MustacheErrorForm.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":34,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":46,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":66,"column":15}]},"\/src\/repo\/tests\/phpunit\/unit\/RecurUpgrade\/ValidatorTest.php":{"errors":0,"warnings":12,"messages":[{"message":"The testValidParamsNotPosted test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":60,"column":12},{"message":"The testSketchyCharactersInParamsNotPosted test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":70,"column":12},{"message":"The testValidParamsWithCancelNotPosted test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":85,"column":12},{"message":"The testValidParamsWithCancelPosted test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":97,"column":12},{"message":"The testPostedWithNoAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":112,"column":12},{"message":"The testPostedWithGoodAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":122,"column":12},{"message":"The testPostedWithNegativeAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":134,"column":12},{"message":"The testPostedWithOtherAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":146,"column":12},{"message":"The testPostedWithNegativeOtherAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":159,"column":12},{"message":"The testPostedMissingOtherAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":172,"column":12},{"message":"The testPostedWithHugeAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":184,"column":12},{"message":"The testPostedWithHugeOtherAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":196,"column":12}]},"\/src\/repo\/adyen_gateway\/adyen.api.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'AdyenDonationApi' does not match filename 'adyen.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":3,"column":12}]},"\/src\/repo\/gateway_common\/CountryValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DataValidatorTest.php":{"errors":0,"warnings":10,"messages":[{"message":"The testLuhnCheck test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":33,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":114,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":115,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":116,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":118,"column":47},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":119,"column":51},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":130,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":136,"column":33},{"message":"The testValidateFiscalNumber test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":144,"column":12},{"message":"The testValidateEmployerField test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":172,"column":12}]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/TestingPaypalExpressAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/BaseIngenicoTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/adyen_checkout_gateway.body.php":{"errors":3,"warnings":0,"messages":[{"message":"Class name 'AdyenCheckoutGateway' does not match filename 'adyen_checkout_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":11,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":22,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":56,"column":12}]},"\/src\/repo\/dlocal_gateway\/dlocal.adapter.php":{"errors":3,"warnings":3,"messages":[{"message":"Class name 'DlocalAdapter' does not match filename 'dlocal.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":17,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":23,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":28,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":33,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":131,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":415,"column":12}]},"\/src\/repo\/adyen_gateway\/BlankAddressFields.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":19,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":34,"column":12}]},"\/src\/repo\/tests\/phpunit\/IPVelocityTest.php":{"errors":0,"warnings":2,"messages":[{"message":"The testInitialFilter test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":63,"column":12},{"message":"The testIPDenyListRejection test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":75,"column":12}]},"\/src\/repo\/special\/RecurUpgrade.php":{"errors":8,"warnings":5,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":9,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":10,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":11,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":13,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":16,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":60,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":75,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":125,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":203,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":217,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":221,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":230,"column":15}]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/test.adapter.php":{"errors":3,"warnings":0,"messages":[{"message":"Class name 'TTestingAdapter' does not match filename 'test.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":19,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":34,"column":19}]},"\/src\/repo\/tests\/phpunit\/EmployerSearchApiTest.php":{"errors":0,"warnings":12,"messages":[{"message":"The testSingleResultFromExactSearchLookup test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":27,"column":12},{"message":"The testSingleResultFromPartialSearchLookup test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":52,"column":12},{"message":"The testMultipleResultsFromPartialSearchLookup test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":77,"column":12},{"message":"The testSubsidiaryAndParentCompanyCombinedResultSearch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":103,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":112,"column":49},{"message":"The testEmptyResultsSearch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":127,"column":12},{"message":"The testAPIInvalidData test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":148,"column":12},{"message":"The testGetEmployersListRetValInvalidData test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":162,"column":12},{"message":"The testAPIInvalidDataLocation test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":172,"column":12},{"message":"The testGetEmployersListInvalidDataLocation test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":189,"column":12},{"message":"The testAPIWrongNumberOfColumns test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":202,"column":12},{"message":"The testGetEmployersListWrongNumberOfColumns test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":218,"column":12}]},"\/src\/repo\/adyen_gateway\/adyen_apple.api.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'AdyenAppleApi' does not match filename 'adyen_apple.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":7,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/SecureFieldsCardTest.php":{"errors":0,"warnings":1,"messages":[{"message":"The testDoPaymentCard test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":47,"column":12}]},"\/src\/repo\/ingenico_gateway\/ingenico.adapter.php":{"errors":4,"warnings":3,"messages":[{"message":"Class name 'IngenicoAdapter' does not match filename 'ingenico.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":14,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":17,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":18,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":19,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":149,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":154,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":305,"column":12}]},"\/src\/repo\/tests\/phpunit\/TestConfiguration.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":160,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":161,"column":57}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/RecurringTest.php":{"errors":2,"warnings":2,"messages":[{"message":"Class name 'DonationInterface_Adapter_Ingenico_RecurringTest' does not match filename 'RecurringTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":28,"column":1},{"message":"Class name \"DonationInterface_Adapter_Ingenico_RecurringTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":28,"column":1},{"message":"The testSetupTokenizedCheckout test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":34,"column":12},{"message":"The testProcessTokenizedPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":74,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/AdyenFormLoadTest.php":{"errors":0,"warnings":5,"messages":[{"message":"The testAdyenFormLoad test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":47,"column":12},{"message":"The testAdyenFormLoad_FR test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":72,"column":12},{"message":"The testAdyenFormLoad_IT test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":101,"column":12},{"message":"The testAdyenFormLoad_BE test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":137,"column":12},{"message":"The testAdyenFormLoad_CA test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":174,"column":12}]},"\/src\/repo\/includes\/Api\/ApiClientErrorBase.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12}]},"\/src\/repo\/special\/FundraiserMaintenance.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12}]},"\/src\/repo\/tests\/phpunit\/DonorLocaleTest.php":{"errors":0,"warnings":4,"messages":[{"message":"The testStageSimple test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":69,"column":12},{"message":"The testNoCountrySet test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":77,"column":12},{"message":"The testStageVariant test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":85,"column":12},{"message":"The testUnstage test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":91,"column":12}]},"\/src\/repo\/tests\/phpunit\/AmountTest.php":{"errors":0,"warnings":17,"messages":[{"message":"The testValidUsd test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":81,"column":12},{"message":"The testZeroAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":90,"column":12},{"message":"The testWhitespaceAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":105,"column":12},{"message":"The testNonNumericAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":120,"column":12},{"message":"The testNegativeAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":139,"column":12},{"message":"The testTooMuchUsd test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":158,"column":12},{"message":"The testTooLittleUsd test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":182,"column":12},{"message":"The testTooMuchBbd test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":208,"column":12},{"message":"The testTooLittleBbd test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":234,"column":12},{"message":"The testRoundNoDigit test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":256,"column":12},{"message":"The testRoundTwoDigit test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":261,"column":12},{"message":"The testRoundThreeDigit test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":266,"column":12},{"message":"The testFormat test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":271,"column":12},{"message":"The testTooLittleUSDConfiguredInBbd test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":292,"column":12},{"message":"The testTooMuchUsdConfiguredInBbd test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":319,"column":12},{"message":"The testTooMuchBbdConfiguredInBbd test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":348,"column":12},{"message":"The testTooLittleBbdConfiguredInBbd test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":379,"column":12}]},"\/src\/repo\/tests\/phpunit\/LoggingTest.php":{"errors":2,"warnings":2,"messages":[{"message":"Class name 'DonationInterface_LoggingTest' does not match filename 'LoggingTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":26,"column":1},{"message":"Class name \"DonationInterface_LoggingTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":26,"column":1},{"message":"The testLogCompleted test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":49,"column":12},{"message":"The testBadUnicode test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":97,"column":12}]},"\/src\/repo\/special\/EmailPreferences.php":{"errors":15,"warnings":5,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":9,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":10,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":11,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":14,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":16,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":82,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":164,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":218,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":229,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":248,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":266,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":271,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":276,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":281,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":300,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":314,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":329,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":348,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":352,"column":15}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Amazon\/AmazonApiTest.php":{"errors":0,"warnings":2,"messages":[{"message":"The testDoPaymentSuccess test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":22,"column":12},{"message":"The testDoPaymentErrors test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":60,"column":12}]},"\/src\/repo\/tests\/phpunit\/MustacheFormTest.php":{"errors":0,"warnings":6,"messages":[{"message":"The testRendering test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":73,"column":12},{"message":"The testNoTemplateFile test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":85,"column":12},{"message":"The testAppealRendering test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":102,"column":12},{"message":"The testOverrideAppeal test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":125,"column":12},{"message":"The testSanitizeOverrideAppeal test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":147,"column":12},{"message":"The testL10nParams test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":171,"column":12}]},"\/src\/repo\/amazon_gateway\/amazon.adapter.php":{"errors":4,"warnings":8,"messages":[{"message":"Class name 'AmazonAdapter' does not match filename 'amazon.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":34,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":36,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":37,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":38,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":73,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":196,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":227,"column":73},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":312,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":314,"column":41},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":343,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":366,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":370,"column":41}]},"\/src\/repo\/tests\/phpunit\/ArrayHelperTest.php":{"errors":0,"warnings":2,"messages":[{"message":"The testBuildRequestArray test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":28,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":103,"column":36}]},"\/src\/repo\/special\/PaymentSettings.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12}]},"\/src\/repo\/tests\/phpunit\/GatewayValidationTest.php":{"errors":0,"warnings":8,"messages":[{"message":"The testPassesValidation test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":82,"column":12},{"message":"The testLowAmountError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":93,"column":12},{"message":"The testHighAmountError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":106,"column":12},{"message":"The testCurrencyCodeError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":119,"column":12},{"message":"The testCountryError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":131,"column":12},{"message":"The testEmailError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":149,"column":12},{"message":"The testSpuriousCcError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":161,"column":12},{"message":"The testMissingFieldError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":172,"column":12}]},"\/src\/repo\/special\/GatewayChooser.php":{"errors":1,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":146,"column":41}]},"\/src\/repo\/extras\/custom_filters\/filters\/ip_velocity\/ip_velocity.body.php":{"errors":7,"warnings":1,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_IP_Velocity' does not match filename 'ip_velocity.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_IP_Velocity\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Gateway_Extras_CustomFilters $custom_filter_object = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":35,"column":9},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":92,"column":66},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":105,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":139,"column":22},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":223,"column":22},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Gateway_Extras_CustomFilters $custom_filter_object = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":225,"column":9}]},"\/src\/repo\/gravy_gateway\/gravy_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'GravyGatewayResult' does not match filename 'gravy_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":6,"column":1}]},"\/src\/repo\/extras\/custom_filters\/filters\/minfraud\/minfraud.body.php":{"errors":6,"warnings":3,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_MinFraud' does not match filename 'minfraud.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":43,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_MinFraud\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":43,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":188,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":210,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":226,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":232,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":265,"column":47},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":273,"column":16},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":281,"column":50}]},"\/src\/repo\/tests\/phpunit\/FraudFiltersTest.php":{"errors":2,"warnings":4,"messages":[{"message":"Class name 'DonationInterface_FraudFiltersTest' does not match filename 'FraudFiltersTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":32,"column":1},{"message":"Class name \"DonationInterface_FraudFiltersTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":32,"column":1},{"message":"The testMinFraudErrorScore test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":93,"column":12},{"message":"The testMinFraudRealScore test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":142,"column":12},{"message":"The testMinFraudExtras test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":226,"column":12},{"message":"The testMinFraudExtrasNoAddress test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":327,"column":12}]},"\/src\/repo\/gateway_common\/DataValidator.php":{"errors":18,"warnings":6,"messages":[{"message":"Method name \"validate_email\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":275,"column":22},{"message":"Method name \"validate_currency_code\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":281,"column":22},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":281,"column":22},{"message":"Method name \"validate_credit_card\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":295,"column":22},{"message":"Method name \"validate_boolean\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":309,"column":22},{"message":"Method name \"validate_numeric\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":329,"column":22},{"message":"Method name \"validate_gateway\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":344,"column":22},{"message":"Method name \"validate_not_empty\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":358,"column":22},{"message":"Method name \"validate_alphanumeric\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":371,"column":22},{"message":"Method name \"validate_not_just_punctuation\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":383,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":384,"column":48},{"message":"Method name \"validate_name\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":399,"column":19},{"message":"Method name \"validate_address\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":409,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":414,"column":19},{"message":"Method name \"special_characters_in_wrong_locations\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":427,"column":19},{"message":"Method name \"cc_number_exists_in_str\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":450,"column":19},{"message":"Method name \"luhn_check\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":513,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":541,"column":64},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":543,"column":71},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":545,"column":78},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":547,"column":83},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":549,"column":18},{"message":"Method name \"ip_is_listed\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":606,"column":19},{"message":"Method name \"value_appears_in\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":628,"column":19}]},"\/src\/repo\/tests\/phpunit\/Adapter\/PayPal\/PayPalApiTest.php":{"errors":0,"warnings":3,"messages":[{"message":"The testGoodSubmit test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":40,"column":12},{"message":"The testTooSmallDonation test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":128,"column":12},{"message":"The testGoodRecurringSubmit test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":154,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Amazon\/AmazonTest.php":{"errors":2,"warnings":13,"messages":[{"message":"Class name 'DonationInterface_Adapter_Amazon_Test' does not match filename 'AmazonTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":31,"column":1},{"message":"Class name \"DonationInterface_Adapter_Amazon_Test\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":31,"column":1},{"message":"The testCanadianDollarConversion test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":74,"column":12},{"message":"The testShowFormOnError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":112,"column":12},{"message":"The testDoPaymentSuccess test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":130,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":133,"column":63},{"message":"The testDoPaymentDeclined test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":160,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":163,"column":63},{"message":"The testFailOnAmazonRejected test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":187,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":190,"column":63},{"message":"The testTransactionTimedOut test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":212,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":215,"column":63},{"message":"The testClientException test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":241,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":244,"column":63},{"message":"The testDoRecurringPaymentSuccess test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":268,"column":12}]},"\/src\/repo\/gateway_common\/ClientSideValidationHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/adyen_get_payment_methods.api.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'AdyenGetPaymentMethodsApi' does not match filename 'adyen_get_payment_methods.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":7,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12}]},"\/src\/repo\/tests\/phpunit\/EmailPreferencesTest.php":{"errors":0,"warnings":1,"messages":[{"message":"The testEmailPrefCenterQueue test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":38,"column":12}]},"\/src\/repo\/gateway_common\/GatewayPage.php":{"errors":3,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?PaymentTransactionResponse $results = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":288,"column":48},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":377,"column":18},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":525,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":594,"column":15}]},"\/src\/repo\/gateway_common\/messages\/MessagesEs_419.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gravy_gateway\/gravy.adapter.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'GravyAdapter' does not match filename 'gravy.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":16,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":82,"column":12}]},"\/src\/repo\/extras\/extras.body.php":{"errors":4,"warnings":0,"messages":[{"message":"Class name 'Gateway_Extras' does not match filename 'extras.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":7,"column":10},{"message":"Class name \"Gateway_Extras\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":7,"column":10},{"message":"Method name \"generate_hash\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":59,"column":15},{"message":"Method name \"compare_hash\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":70,"column":15}]},"\/src\/repo\/extras\/custom_filters\/filters\/functions\/functions.body.php":{"errors":5,"warnings":1,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_Functions' does not match filename 'functions.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_Functions\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":53,"column":29},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":70,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":80,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":90,"column":22}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/RedirectFormTest.php":{"errors":0,"warnings":2,"messages":[{"message":"The testDoPaymentVenmo test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":40,"column":12},{"message":"The testProcessDonorReturnVenmo test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":121,"column":12}]},"\/src\/repo\/adyen_gateway\/adyen_submit_payment.api.php":{"errors":4,"warnings":0,"messages":[{"message":"Class name 'AdyenSubmitPaymentApi' does not match filename 'adyen_submit_payment.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":9,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":164,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":318,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":339,"column":15}]},"\/src\/repo\/adyen_gateway\/adyen_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/Adyen3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/custom_filters\/filters\/referrer\/referrer.body.php":{"errors":4,"warnings":0,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_Referrer' does not match filename 'referrer.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_Referrer\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":53,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":65,"column":22}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/CheckoutIdealTest.php":{"errors":0,"warnings":5,"messages":[{"message":"The testDoPaymentIdeal test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":33,"column":12},{"message":"The testDoPaymentIdealMultipleAttempt test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":112,"column":12},{"message":"The testDoPaymentIdealAttemptBlockedDueToIPInDenyList test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":226,"column":12},{"message":"The testDonorReturnIdealSuccess test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":309,"column":12},{"message":"The testDonorReturnIdealFailure test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":395,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/GravyFormLoadTest.php":{"errors":0,"warnings":1,"messages":[{"message":"The testGravyFormLoad test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":47,"column":12}]},"\/src\/repo\/tests\/phpunit\/DonationDataTest.php":{"errors":2,"warnings":31,"messages":[{"message":"Class name 'DonationInterface_DonationDataTest' does not match filename 'DonationDataTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":29,"column":1},{"message":"Class name \"DonationInterface_DonationDataTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":29,"column":1},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":82,"column":91},{"message":"The testConstructWithExternalData test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":108,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":142,"column":59},{"message":"The testConstructWithFauxRequest test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":156,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":190,"column":91},{"message":"The testDebugLog test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":205,"column":12},{"message":"The testRepopulate test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":227,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":240,"column":102},{"message":"The testIsSomething test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":259,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":263,"column":98},{"message":"The testSetNormalizedAmount_amtGiven test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":271,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":275,"column":98},{"message":"The testSetNormalizedAmount_amount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":284,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":288,"column":98},{"message":"The testSetNormalizedAmount_negativeAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":297,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":301,"column":98},{"message":"The testSetNormalizedAmount_noGoodAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":310,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":315,"column":98},{"message":"The testSetNormalizedCurrencyCode_BadData test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":326,"column":12},{"message":"The testSetNormalizedLanguage_uselang test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":339,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":346,"column":98},{"message":"The testSetNormalizedLanguage_language test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":355,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":362,"column":98},{"message":"The testSetUtmSource test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":371,"column":12},{"message":"The testSetUtmSourceFromApp test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":382,"column":12},{"message":"The testSetUtmValuesFromWmfValues test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":398,"column":12},{"message":"The testSetUtmSourceFromAppWithBanner test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":417,"column":12},{"message":"The testSetUtmSourceFromAppWithNoBanner test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":434,"column":12},{"message":"The testSendToContributionTrackingQueue test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":450,"column":12},{"message":"The testSendRecurringToContributionTrackingQueue test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":496,"column":12},{"message":"The testGetSessionFields test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":544,"column":12}]},"\/src\/repo\/gateway_forms\/Mustache.php":{"errors":17,"warnings":1,"messages":[{"message":"Class name 'Gateway_Form_Mustache' does not match filename 'Mustache.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":12,"column":1},{"message":"Class name \"Gateway_Form_Mustache\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":12,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":14,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":101,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":147,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":185,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":250,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":262,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":334,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":350,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":379,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":446,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":515,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":538,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":545,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":554,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":558,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":562,"column":15}]},"\/src\/repo\/tests\/phpunit\/BaseGravyTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Dlocal\/CardPaymentTest.php":{"errors":0,"warnings":9,"messages":[{"message":"The testDoCardPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":32,"column":12},{"message":"The testDoCardPaymentWithRecurring test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":69,"column":12},{"message":"The testDoCardPaymentCreatePaymentFail test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":117,"column":12},{"message":"The testDoCardPaymentValidationError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":149,"column":12},{"message":"The testDoPaymentsInitQueueCountSuccessfulPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":173,"column":12},{"message":"The testDoPaymentsInitQueueCountFailedPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":211,"column":12},{"message":"The testDoPaymentsAntiFraudQueueCountSuccessfulPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":244,"column":12},{"message":"The testDoPaymentsAntiFraudQueueCountFailedPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":297,"column":12},{"message":"The testMismatchOrderIdIsReset test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":356,"column":12}]},"\/src\/repo\/adyen_gateway\/adyen_checkout.adapter.php":{"errors":6,"warnings":3,"messages":[{"message":"Class name 'AdyenCheckoutAdapter' does not match filename 'adyen_checkout.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":13,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":16,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":17,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":18,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":280,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":293,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":306,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":340,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":396,"column":12}]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_forms\/Form.php":{"errors":3,"warnings":0,"messages":[{"message":"Class name 'Gateway_Form' does not match filename 'Form.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":10},{"message":"Class name \"Gateway_Form\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":3,"column":10},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":92,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Braintree\/PaypalPaymentTest.php":{"errors":0,"warnings":5,"messages":[{"message":"The testPaypalRoundCertainCurrencyPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":42,"column":12},{"message":"The testPaypalDoPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":80,"column":12},{"message":"The testDoPaymentMultipleAttempt test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":171,"column":12},{"message":"The testDoPaymentAttemptBlockedDueToIPInDenyList test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":256,"column":12},{"message":"The testPaypalDoPaymentInvalidPaymentToken test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":327,"column":12}]},"\/src\/repo\/gateway_common\/DonationData.php":{"errors":3,"warnings":18,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":54,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":69,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":72,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":73,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":76,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":137,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":138,"column":22},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":139,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":140,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":143,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":144,"column":26},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":203,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":361,"column":41},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":389,"column":72},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":394,"column":50},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":400,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":401,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":518,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":584,"column":28},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":943,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":951,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Braintree\/VenmoPaymentTest.php":{"errors":0,"warnings":1,"messages":[{"message":"The testVenmoDoPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":43,"column":12}]},"\/src\/repo\/gateway_common\/MediaWikiLogHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Dlocal\/CashPaymentTest.php":{"errors":0,"warnings":4,"messages":[{"message":"The testCashPaymentDonorReturnPaid test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":67,"column":12},{"message":"The testCashPaymentDonorReturnRejected test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":105,"column":12},{"message":"The testCashPaymentDonorReturnCancelled test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":141,"column":12},{"message":"The testCashPaymentDonorReturnPending test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":177,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/GatewayAdapterTest.php":{"errors":3,"warnings":25,"messages":[{"message":"Class name 'DonationInterface_Adapter_GatewayAdapterTest' does not match filename 'GatewayAdapterTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":41,"column":1},{"message":"Class name \"DonationInterface_Adapter_GatewayAdapterTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":41,"column":1},{"message":"The testRequiredFields test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":67,"column":12},{"message":"The testSubmethodVadliationPass test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":92,"column":12},{"message":"The testOptionalFieldsConfig test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":119,"column":12},{"message":"The testVariantConfig test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":152,"column":12},{"message":"The testIllegalVariantConfig test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":176,"column":12},{"message":"The testLanguageChange test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":217,"column":12},{"message":"The testResetOnGatewaySwitch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":239,"column":12},{"message":"The testResetOnOneTimeToRecurringSwitch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":265,"column":12},{"message":"The testResetOnRecurringToOneTimeSwitch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":299,"column":12},{"message":"The testResetSubmethodOnMethodSwitch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":332,"column":12},{"message":"The testStreetStaging test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":361,"column":12},{"message":"The testPostalCodeStaging test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":379,"column":12},{"message":"The testStreetUnStaging test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":397,"column":12},{"message":"The testPostalCodeUnStaging test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":422,"column":12},{"message":"The testCancelPage test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":447,"column":12},{"message":"The testCannotOverrideIp test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":457,"column":12},{"message":"The testGetScoreName test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":466,"column":12},{"message":"The testGetScoreNameMinimumLength test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":484,"column":12},{"message":"Method name \"TestSetValidationAction\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":502,"column":12},{"message":"The testGetDonationQueueMessage test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":513,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":530,"column":39},{"message":"The testGetDonationQueueMessageContactId test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":543,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":546,"column":65},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":564,"column":39},{"message":"The testGetDonationQueueMessageContactIdNoHash test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":577,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":595,"column":39}]},"\/src\/repo\/tests\/phpunit\/BaseBraintreeTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/IngenicoTest.php":{"errors":2,"warnings":19,"messages":[{"message":"Class name 'DonationInterface_Adapter_Ingenico_IngenicoTest' does not match filename 'IngenicoTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":35,"column":1},{"message":"Class name \"DonationInterface_Adapter_Ingenico_IngenicoTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":35,"column":1},{"message":"The testGatewaySessionRetrieval test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":67,"column":12},{"message":"The testSendCustomerIP test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":89,"column":12},{"message":"The testDonorReturnLoadsFraudScore test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":115,"column":12},{"message":"The testDonorReturnPending test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":144,"column":12},{"message":"The testProcessDonorReturnStatusCancelledByConsumer test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":176,"column":12},{"message":"The testGetLatestPaymentStatusPostProcessFraud test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":212,"column":12},{"message":"The testLanguageStaging test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":296,"column":12},{"message":"The testAddResponseData_underzealous test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":311,"column":12},{"message":"The testNoDupeOrderId test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":341,"column":12},{"message":"The testOrderIdsWith4Or7Ok test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":399,"column":12},{"message":"The testDonorReturnSuccess test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":423,"column":12},{"message":"The testDonorReturnFailure test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":448,"column":12},{"message":"The testDonorReturnFailureOptIn test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":472,"column":12},{"message":"The testDonorReturnPaymentSubmethod test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":505,"column":12},{"message":"The testClearDataWhenDone test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":527,"column":12},{"message":"The testDoPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":557,"column":12},{"message":"The testDoMultiplePayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":572,"column":12},{"message":"The testDoPaymentAttemptBlockedDueToIPInDenyList test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":622,"column":12},{"message":"The testDoPaymentFailInitialFilters test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":660,"column":12}]},"\/src\/repo\/tests\/phpunit\/DonationInterfaceTestCase.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":171,"column":23},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":684,"column":51}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/CheckoutCardTest.php":{"errors":0,"warnings":10,"messages":[{"message":"The testDoPaymentCard test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":49,"column":12},{"message":"The testDoPaymentCardNoPaymentSubmethod test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":202,"column":12},{"message":"The testDoPaymentMultipleAttempt test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":356,"column":12},{"message":"The testDoPaymentAttemptBlockedDueToIPInDenyList test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":481,"column":12},{"message":"The testDoPaymentCardMonthlyConvert test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":529,"column":12},{"message":"The testDoPaymentCardMonthlyConvertMinimumAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":617,"column":12},{"message":"The testDoPaymentCardAuthorizationDeclined test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":700,"column":12},{"message":"The testDonorReturn3DSecureSuccess test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":806,"column":12},{"message":"The testDonorReturn3DSecureFailure test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":925,"column":12},{"message":"The testDoPaymentFailInitialFilters test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":1001,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/AdyenRecurringTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DonationQueueTest.php":{"errors":0,"warnings":2,"messages":[{"message":"The testPushMessage test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":101,"column":12},{"message":"The testIsFifoQueue test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":113,"column":12}]},"\/src\/repo\/tests\/phpunit\/GatewayChooserTest.php":{"errors":2,"warnings":16,"messages":[{"message":"Class name 'DonationInterface_GatewayChooserTest' does not match filename 'GatewayChooserTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":27,"column":1},{"message":"Class name \"DonationInterface_GatewayChooserTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":27,"column":1},{"message":"The testMaintenanceMode_Redirect test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":75,"column":12},{"message":"The testNoNeedParamGateWayChooser test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":99,"column":12},{"message":"The testAssertExpectedGateway test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":129,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":223,"column":131},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":224,"column":131},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":225,"column":135},{"message":"The testConfirmCountriesInCountryFieldsGatewayConfig test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":385,"column":12},{"message":"The testConfirmCountriesInPaymentSubmethodsGatewayConfig test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":404,"column":12},{"message":"The testChooseGatewayByPrioritySingleRuleMatch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":428,"column":12},{"message":"The testChooseGatewayByPriorityMultiRuleMatch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":459,"column":12},{"message":"The testChooseGatewayByPriorityConditionValueArrayRuleMatch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":491,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":495,"column":76},{"message":"The testChooseGatewayByPriorityStopsAtFirstRuleMatch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":520,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":528,"column":67},{"message":"The testAdditionalParamatersPassThrough test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":556,"column":12},{"message":"The testPassRecurringFalse test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":593,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/PayPal\/PayPalExpressTest.php":{"errors":2,"warnings":17,"messages":[{"message":"Class name 'DonationInterface_Adapter_PayPal_Express_Test' does not match filename 'PayPalExpressTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":39,"column":1},{"message":"Class name \"DonationInterface_Adapter_PayPal_Express_Test\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":39,"column":1},{"message":"The testPaymentSetup test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":68,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":117,"column":33},{"message":"The testPaymentSetupRecurring test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":156,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":207,"column":33},{"message":"The testProcessDonorReturn test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":306,"column":12},{"message":"The testProcessDonorReturnRecurring test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":375,"column":12},{"message":"The testProcessDonorReturnPaymentRetry test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":452,"column":12},{"message":"The testProcessDonorReturnWarning test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":499,"column":12},{"message":"The testProcessDonorReturnRecurringRetry test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":600,"column":12},{"message":"The testProcessDonorReturnPaymentActionCompleted test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":694,"column":12},{"message":"The testProcessDonorReturnTokenTimeout test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":749,"column":12},{"message":"The testResultSwitcher test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":806,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":816,"column":45},{"message":"The testResultSwitcherRepeat test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":859,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":874,"column":45},{"message":"The testUnstageCountry test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":900,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":910,"column":45}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/IngenicoApiTest.php":{"errors":0,"warnings":9,"messages":[{"message":"The testGoodSubmit test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":70,"column":12},{"message":"The testStageLocale test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":168,"column":12},{"message":"The testNoMangleDataOnTruncate test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":209,"column":12},{"message":"The testUpsellVariant test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":260,"column":12},{"message":"The testSubmitFailInitialFilters test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":292,"column":12},{"message":"The testOptionalFieldBehaviour test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":322,"column":12},{"message":"The testSubmitEmployerField test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":365,"column":12},{"message":"The testRecurringConversionApiSuccess test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":396,"column":12},{"message":"The testRecurringConversionApiError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":440,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/ResultSwitcherTest.php":{"errors":2,"warnings":2,"messages":[{"message":"Class name 'DonationInterface_Adapter_Ingenico_ResultSwitcherTest' does not match filename 'ResultSwitcherTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":13,"column":1},{"message":"Class name \"DonationInterface_Adapter_Ingenico_ResultSwitcherTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":13,"column":1},{"message":"The testResultSwitcherLiberatedSuccess test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":18,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":57,"column":33}]},"\/src\/repo\/gateway_common\/gateway.adapter.php":{"errors":48,"warnings":24,"messages":[{"message":"Class name 'GatewayAdapter' does not match filename 'gateway.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":37,"column":10},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":41,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":42,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":181,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":182,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":183,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":183,"column":48},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":184,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":185,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":223,"column":41},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":311,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":318,"column":12},{"message":"Method name \"getData_Staged\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":484,"column":15},{"message":"Method name \"getData_Unstaged_Escaped\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":576,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":576,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":588,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":592,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":782,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":818,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":861,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":865,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":919,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1004,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1009,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1014,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1019,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":1081,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1105,"column":25},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1189,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1280,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1460,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1480,"column":61},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1501,"column":59},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1511,"column":12},{"message":"Method name \"transaction_option\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":1588,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1624,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1628,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1650,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":2129,"column":12},{"message":"Method name \"session_ensure\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2133,"column":12},{"message":"Method name \"session_getData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2144,"column":12},{"message":"Method name \"session_hasDonorData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2165,"column":12},{"message":"Method name \"session_setDonorBackupData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2174,"column":12},{"message":"Method name \"session_unsetDonorData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2183,"column":12},{"message":"Method name \"session_addDonorData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2193,"column":12},{"message":"Method name \"session_killAllEverything\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2211,"column":12},{"message":"Method name \"session_unsetAllData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2223,"column":12},{"message":"Method name \"session_resetForNewAttempt\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2239,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2256,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2260,"column":28},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2268,"column":40},{"message":"Method name \"session_resetOnSwitch\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2303,"column":15},{"message":"Method name \"token_applyMD5AndSalt\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2371,"column":22},{"message":"Method name \"token_generateToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2389,"column":19},{"message":"Method name \"token_getSaltedSessionToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2394,"column":12},{"message":"Method name \"token_refreshAllTokenEverything\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2416,"column":15},{"message":"Method name \"token_matchEditToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2436,"column":15},{"message":"Method name \"token_checkTokens\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2461,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2462,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2501,"column":64},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":2571,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2598,"column":106},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2656,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2670,"column":59},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2723,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2724,"column":39},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":2758,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":2785,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":2807,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2859,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2872,"column":27},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":2879,"column":15}]},"\/src\/repo\/gateway_common\/IsoDate.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":4,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":11,"column":12}]}}}

--- end ---
PHPCS run failed
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":364,"warnings":395,"fixable":4},"files":{"\/src\/repo\/paypal_ec_gateway\/paypal_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/paypal_ec_gateway\/paypal_express_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'PaypalExpressGatewayResult' does not match filename 'paypal_express_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1}]},"\/src\/repo\/dlocal_gateway\/dlocal_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'DlocalGatewayResult' does not match filename 'dlocal_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":6,"column":1}]},"\/src\/repo\/dlocal_gateway\/dlocal.api.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'DlocalDonationApi' does not match filename 'dlocal.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":3,"column":12}]},"\/src\/repo\/dlocal_gateway\/dlocal_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/paypal_ec_gateway\/PaypalExpressReturnUrl.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":4,"column":12}]},"\/src\/repo\/gateway_common\/FallbackLogPrefixer.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":12}]},"\/src\/repo\/gateway_common\/DonorEmail.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":4,"column":12}]},"\/src\/repo\/modules\/CurrencyRatesModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/AmountInCents.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":13,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":12}]},"\/src\/repo\/paypal_ec_gateway\/paypal_express_gateway.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'PaypalExpressGateway' does not match filename 'paypal_express_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1}]},"\/src\/repo\/gateway_common\/ResponseProcessingException.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":33,"column":12}]},"\/src\/repo\/DonationInterface.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/Simple3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/EmployerFieldValidation.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":34,"column":12}]},"\/src\/repo\/braintree_gateway\/braintree_gateway.body.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'BraintreeGateway' does not match filename 'braintree_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":9,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12}]},"\/src\/repo\/braintree_gateway\/braintree_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'BraintreeGatewayResult' does not match filename 'braintree_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":6,"column":1}]},"\/src\/repo\/gateway_common\/ContributionTrackingPlusUnique.php":{"errors":2,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":16,"column":70},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":12}]},"\/src\/repo\/gateway_common\/ReturnUrl.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":5,"column":12}]},"\/src\/repo\/gateway_common\/StagingHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/braintree_gateway\/braintree_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/Abstract3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonorLanguage.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":4,"column":12}]},"\/src\/repo\/gateway_common\/CurrencyCountryRule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/StreetNumberValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ArrayHelper.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":23,"column":22},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":54,"column":22}]},"\/src\/repo\/gateway_common\/UnstagingHelper.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12}]},"\/src\/repo\/gateway_common\/MessageUtils.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/PayPalAmount.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":5,"column":12},{"message":"Method name \"is_fractional_currency\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":9,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":19}]},"\/src\/repo\/gateway_common\/RecurringConversion.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/LogPrefixProvider.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":4,"column":12}]},"\/src\/repo\/gateway_common\/EndowmentHooks.php":{"errors":3,"warnings":1,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":7,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":49,"column":22}]},"\/src\/repo\/gateway_common\/ErrorState.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12}]},"\/src\/repo\/ingenico_gateway\/IngenicoReturnUrlHelper.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":4,"column":12}]},"\/src\/repo\/ingenico_gateway\/ingenico_resultswitcher.body.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'IngenicoGatewayResult' does not match filename 'ingenico_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":8,"column":15}]},"\/src\/repo\/ingenico_gateway\/ingenico_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonationLogProcessor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonorLocale.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":11,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":32,"column":12}]},"\/src\/repo\/amazon_gateway\/amazon_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/ingenico_gateway\/Ingenico3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/RecurringConversion.api.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'RecurringConversionApi' does not match filename 'RecurringConversion.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":54,"column":12}]},"\/src\/repo\/email_forms\/EmailForm.php":{"errors":6,"warnings":1,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":12,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":19,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":74,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":79,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":87,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":149,"column":15}]},"\/src\/repo\/gateway_common\/ResultPages.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":82,"column":18}]},"\/src\/repo\/dlocal_gateway\/dlocal_gateway.body.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'DlocalGateway' does not match filename 'dlocal_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":12,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":51,"column":12}]},"\/src\/repo\/gateway_common\/LocalClusterPsr6Cache.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/GatewayType.php":{"errors":3,"warnings":0,"messages":[{"message":"Method name \"getData_Unstaged_Escaped\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":92,"column":12},{"message":"Method name \"session_ensure\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":198,"column":12},{"message":"Method name \"token_getSaltedSessionToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":240,"column":12}]},"\/src\/repo\/gateway_common\/StreetAddress.php":{"errors":4,"warnings":2,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":6,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":7,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Method name \"stage_street\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":25,"column":15},{"message":"Method name \"stage_postal_code\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":47,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":78,"column":12}]},"\/src\/repo\/gateway_common\/PaymentTransactionResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gravy_gateway\/gravy.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'GravyDonationApi' does not match filename 'gravy.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1}]},"\/src\/repo\/gravy_gateway\/gravy_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/amazon_gateway\/amazon.api.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'AmazonBillingApi' does not match filename 'amazon.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":86,"column":12}]},"\/src\/repo\/special\/SystemStatus.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12}]},"\/src\/repo\/includes\/Api\/ApiDonationClientError.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRecurUpgradeClientError.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/donation.api.php":{"errors":3,"warnings":0,"messages":[{"message":"Class name 'DonationApi' does not match filename 'donation.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":10,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":50,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":94,"column":15}]},"\/src\/repo\/dlocal_gateway\/PlaceholderFiscalNumber.php":{"errors":1,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":13,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":14,"column":31},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":12}]},"\/src\/repo\/gateway_common\/DonorFullName.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/PaymentResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/RecurringConversionTrait.php":{"errors":7,"warnings":0,"messages":[{"message":"Method name \"session_getData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":12,"column":21},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":21},{"message":"Method name \"session_resetForNewAttempt\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":16,"column":21},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":21},{"message":"Method name \"session_setDonorBackupData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":18,"column":21},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":18,"column":21},{"message":"Method name \"session_MoveDonorDataToBackupForRecurringConversion\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":104,"column":12}]},"\/src\/repo\/gateway_common\/employerSearch.api.php":{"errors":2,"warnings":3,"messages":[{"message":"Class name 'EmployerSearchAPI' does not match filename 'employerSearch.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":16,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":31,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":36,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":41,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":178,"column":12}]},"\/src\/repo\/gateway_common\/Amount.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Method name \"is_fractional_currency\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":155,"column":19},{"message":"Method name \"is_exponent3_currency\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":173,"column":19}]},"\/src\/repo\/amazon_gateway\/amazon_gateway.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AmazonGateway' does not match filename 'amazon_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":19,"column":1}]},"\/src\/repo\/gateway_common\/ResultSwitcher.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":114,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":148,"column":12}]},"\/src\/repo\/gateway_common\/DonationProfiler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/DonationInterface.class.php":{"errors":3,"warnings":0,"messages":[{"message":"Class name 'DonationInterface' does not match filename 'DonationInterface.class.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":7,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":73,"column":19}]},"\/src\/repo\/gateway_common\/FiscalNumber.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":121,"column":22},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":128,"column":12}]},"\/src\/repo\/gateway_common\/StreetAddressValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DonationInterfaceApiTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/BaseAdyenCheckoutTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/civiproxy\/CiviproxyConnect.php":{"errors":2,"warnings":2,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":8,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":9,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":11,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":61,"column":19}]},"\/src\/repo\/tests\/phpunit\/BaseDlocalTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/TestCrash.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gravy_gateway\/gravy_gateway.body.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'GravyGateway' does not match filename 'gravy_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":8,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12}]},"\/src\/repo\/gateway_common\/PostalCodeValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/TestingDlocalAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/session_velocity\/session_velocity.body.php":{"errors":2,"warnings":5,"messages":[{"message":"Class name 'Gateway_Extras_SessionVelocityFilter' does not match filename 'session_velocity.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":19,"column":1},{"message":"Class name \"Gateway_Extras_SessionVelocityFilter\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":19,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":34,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":35,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":36,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":37,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":38,"column":5}]},"\/src\/repo\/tests\/phpunit\/includes\/test_request\/test.request.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'TestingRequest' does not match filename 'test.request.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":25,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12}]},"\/src\/repo\/tests\/phpunit\/includes\/TestingDonationLogger.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12}]},"\/src\/repo\/braintree_gateway\/braintree.adapter.php":{"errors":2,"warnings":6,"messages":[{"message":"Class name 'BraintreeAdapter' does not match filename 'braintree.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":14,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":17,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":18,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":19,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":52,"column":78},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":57,"column":55},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":58,"column":74},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":244,"column":12}]},"\/src\/repo\/gateway_common\/WmfFramework.php":{"errors":18,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":13,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":20,"column":30},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":33,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":37,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":46,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":50,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":54,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":58,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":62,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":70,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":89,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":93,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":98,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":102,"column":19}]},"\/src\/repo\/gateway_common\/PaymentMethod.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/braintree_gateway\/braintree.api.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'BraintreeDonationApi' does not match filename 'braintree.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":3,"column":12}]},"\/src\/repo\/gateway_forms\/includes\/Subdivisions.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":5,"column":19}]},"\/src\/repo\/gateway_forms\/MustacheHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/TestingGenericAdapter.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":35,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":71,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":74,"column":12}]},"\/src\/repo\/gateway_common\/ConfigurationReader.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":115,"column":15}]},"\/src\/repo\/gateway_common\/DonationApiBase.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":24,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":96,"column":12}]},"\/src\/repo\/gateway_common\/DonationLoggerFactory.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?LogPrefixProvider $prefixer = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":25,"column":75},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":59,"column":19}]},"\/src\/repo\/tests\/phpunit\/IngenicoLocaleTest.php":{"errors":0,"warnings":2,"messages":[{"message":"The testStageSimple test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":69,"column":12},{"message":"The testStageYue test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":74,"column":12}]},"\/src\/repo\/extras\/conversion_log\/conversion_log.body.php":{"errors":5,"warnings":0,"messages":[{"message":"Class name 'Gateway_Extras_ConversionLog' does not match filename 'conversion_log.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1},{"message":"Class name \"Gateway_Extras_ConversionLog\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1},{"message":"Method name \"post_process\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":14,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":47,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":55,"column":22}]},"\/src\/repo\/tests\/phpunit\/LintYaml.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":7,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":35,"column":1}]},"\/src\/repo\/tests\/phpunit\/includes\/TestingGatewayPage.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":13,"column":12}]},"\/src\/repo\/tests\/phpunit\/GatewayPageTest.php":{"errors":0,"warnings":6,"messages":[{"message":"The testCurrencyFallbackWithNotification test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":67,"column":12},{"message":"The testCurrencyFallbackIntermediateConversion test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":80,"column":12},{"message":"The testCurrencyFallbackWithoutNotification test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":94,"column":12},{"message":"The testCurrencyFallbackAlwaysNotifiesIfOtherErrors test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":106,"column":12},{"message":"The testNoFallbackForSupportedCurrency test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":124,"column":12},{"message":"The testCurrencyFallbackByCountry test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":134,"column":12}]},"\/src\/repo\/adyen_gateway\/adyen_checkout_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AdyenCheckoutGatewayResult' does not match filename 'adyen_checkout_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":6,"column":1}]},"\/src\/repo\/gateway_common\/ValidationHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/custom_filters\/custom_filters.body.php":{"errors":6,"warnings":3,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters' does not match filename 'custom_filters.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":8,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":11,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":40,"column":50},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":166,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":174,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":182,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":206,"column":15}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/RealTimeBankTransferIdealTest.php":{"errors":2,"warnings":1,"messages":[{"message":"Class name 'DonationInterface_Adapter_Ingenico_RealTimeBankTransferIdealTest' does not match filename 'RealTimeBankTransferIdealTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":31,"column":1},{"message":"Class name \"DonationInterface_Adapter_Ingenico_RealTimeBankTransferIdealTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":31,"column":1},{"message":"The testIngenicoFormLoad_rtbt_Ideal test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":64,"column":12}]},"\/src\/repo\/tests\/phpunit\/IntegrationTest.php":{"errors":2,"warnings":1,"messages":[{"message":"Class name 'DonationInterface_IntegrationTest' does not match filename 'IntegrationTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":29,"column":1},{"message":"Class name \"DonationInterface_IntegrationTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":29,"column":1},{"message":"The testBackClickPayPalToDlocal test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":55,"column":12}]},"\/src\/repo\/paypal_ec_gateway\/paypal_express.adapter.php":{"errors":4,"warnings":3,"messages":[{"message":"Class name 'PaypalExpressAdapter' does not match filename 'paypal_express.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":24,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":25,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":26,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":27,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":43,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":154,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":158,"column":12}]},"\/src\/repo\/ingenico_gateway\/IngenicoLocale.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/EmployerSearchApiTest.php":{"errors":0,"warnings":12,"messages":[{"message":"The testSingleResultFromExactSearchLookup test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":27,"column":12},{"message":"The testSingleResultFromPartialSearchLookup test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":52,"column":12},{"message":"The testMultipleResultsFromPartialSearchLookup test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":77,"column":12},{"message":"The testSubsidiaryAndParentCompanyCombinedResultSearch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":103,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":112,"column":49},{"message":"The testEmptyResultsSearch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":127,"column":12},{"message":"The testAPIInvalidData test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":148,"column":12},{"message":"The testGetEmployersListRetValInvalidData test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":162,"column":12},{"message":"The testAPIInvalidDataLocation test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":172,"column":12},{"message":"The testGetEmployersListInvalidDataLocation test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":189,"column":12},{"message":"The testAPIWrongNumberOfColumns test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":202,"column":12},{"message":"The testGetEmployersListWrongNumberOfColumns test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":218,"column":12}]},"\/src\/repo\/paypal_ec_gateway\/PayPalCountry.php":{"errors":1,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":7,"column":23},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":8,"column":23},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":11,"column":12}]},"\/src\/repo\/tests\/phpunit\/DonationMessageTest.php":{"errors":0,"warnings":1,"messages":[{"message":"The testGetCountrySpecificMessage test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":9,"column":12}]},"\/src\/repo\/extras\/FraudFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/adyen_checkout_gateway.body.php":{"errors":3,"warnings":0,"messages":[{"message":"Class name 'AdyenCheckoutGateway' does not match filename 'adyen_checkout_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":11,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":22,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":56,"column":12}]},"\/src\/repo\/ingenico_gateway\/ingenico_gateway.body.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'IngenicoGateway' does not match filename 'ingenico_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":22,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12}]},"\/src\/repo\/includes\/RecurUpgrade\/Validator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":50,"column":15}]},"\/src\/repo\/adyen_gateway\/EncryptedCardParameters.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":12}]},"\/src\/repo\/tests\/phpunit\/IPVelocityTest.php":{"errors":0,"warnings":2,"messages":[{"message":"The testInitialFilter test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":63,"column":12},{"message":"The testIPDenyListRejection test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":75,"column":12}]},"\/src\/repo\/tests\/phpunit\/BaseIngenicoTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/ingenico_gateway\/IngenicoFormVariant.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/custom_filters\/filters\/source\/source.body.php":{"errors":4,"warnings":0,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_Source' does not match filename 'source.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_Source\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":52,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":64,"column":22}]},"\/src\/repo\/gateway_forms\/MustacheErrorForm.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":34,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":46,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":66,"column":15}]},"\/src\/repo\/tests\/phpunit\/DataValidatorTest.php":{"errors":0,"warnings":10,"messages":[{"message":"The testLuhnCheck test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":33,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":114,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":115,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":116,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":118,"column":47},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":119,"column":51},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":130,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":136,"column":33},{"message":"The testValidateFiscalNumber test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":144,"column":12},{"message":"The testValidateEmployerField test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":172,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/RecurUpgrade\/ValidatorTest.php":{"errors":0,"warnings":12,"messages":[{"message":"The testValidParamsNotPosted test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":60,"column":12},{"message":"The testSketchyCharactersInParamsNotPosted test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":70,"column":12},{"message":"The testValidParamsWithCancelNotPosted test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":85,"column":12},{"message":"The testValidParamsWithCancelPosted test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":97,"column":12},{"message":"The testPostedWithNoAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":112,"column":12},{"message":"The testPostedWithGoodAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":122,"column":12},{"message":"The testPostedWithNegativeAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":134,"column":12},{"message":"The testPostedWithOtherAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":146,"column":12},{"message":"The testPostedWithNegativeOtherAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":159,"column":12},{"message":"The testPostedMissingOtherAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":172,"column":12},{"message":"The testPostedWithHugeAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":184,"column":12},{"message":"The testPostedWithHugeOtherAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":196,"column":12}]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/TestingPaypalExpressAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/adyen.api.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'AdyenDonationApi' does not match filename 'adyen.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":3,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/RecurringTest.php":{"errors":2,"warnings":2,"messages":[{"message":"Class name 'DonationInterface_Adapter_Ingenico_RecurringTest' does not match filename 'RecurringTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":28,"column":1},{"message":"Class name \"DonationInterface_Adapter_Ingenico_RecurringTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":28,"column":1},{"message":"The testSetupTokenizedCheckout test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":34,"column":12},{"message":"The testProcessTokenizedPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":74,"column":12}]},"\/src\/repo\/tests\/phpunit\/DonorLocaleTest.php":{"errors":0,"warnings":4,"messages":[{"message":"The testStageSimple test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":69,"column":12},{"message":"The testNoCountrySet test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":77,"column":12},{"message":"The testStageVariant test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":85,"column":12},{"message":"The testUnstage test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":91,"column":12}]},"\/src\/repo\/adyen_gateway\/adyen_apple.api.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'AdyenAppleApi' does not match filename 'adyen_apple.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":7,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12}]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/test.adapter.php":{"errors":3,"warnings":0,"messages":[{"message":"Class name 'TTestingAdapter' does not match filename 'test.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":19,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":34,"column":19}]},"\/src\/repo\/dlocal_gateway\/dlocal.adapter.php":{"errors":3,"warnings":3,"messages":[{"message":"Class name 'DlocalAdapter' does not match filename 'dlocal.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":17,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":23,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":28,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":33,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":131,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":415,"column":12}]},"\/src\/repo\/special\/RecurUpgrade.php":{"errors":8,"warnings":5,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":9,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":10,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":11,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":13,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":16,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":60,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":75,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":125,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":203,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":217,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":221,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":230,"column":15}]},"\/src\/repo\/includes\/Api\/ApiClientErrorBase.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/SecureFieldsCardTest.php":{"errors":0,"warnings":1,"messages":[{"message":"The testDoPaymentCard test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":47,"column":12}]},"\/src\/repo\/tests\/phpunit\/LoggingTest.php":{"errors":2,"warnings":2,"messages":[{"message":"Class name 'DonationInterface_LoggingTest' does not match filename 'LoggingTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":26,"column":1},{"message":"Class name \"DonationInterface_LoggingTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":26,"column":1},{"message":"The testLogCompleted test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":49,"column":12},{"message":"The testBadUnicode test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":97,"column":12}]},"\/src\/repo\/adyen_gateway\/BlankAddressFields.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":19,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":34,"column":12}]},"\/src\/repo\/gateway_common\/CountryValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/TestConfiguration.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":160,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":161,"column":57}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/AdyenFormLoadTest.php":{"errors":0,"warnings":5,"messages":[{"message":"The testAdyenFormLoad test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":47,"column":12},{"message":"The testAdyenFormLoad_FR test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":72,"column":12},{"message":"The testAdyenFormLoad_IT test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":101,"column":12},{"message":"The testAdyenFormLoad_BE test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":137,"column":12},{"message":"The testAdyenFormLoad_CA test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":174,"column":12}]},"\/src\/repo\/ingenico_gateway\/ingenico.adapter.php":{"errors":4,"warnings":3,"messages":[{"message":"Class name 'IngenicoAdapter' does not match filename 'ingenico.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":14,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":17,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":18,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":19,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":149,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":154,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":305,"column":12}]},"\/src\/repo\/special\/FundraiserMaintenance.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12}]},"\/src\/repo\/extras\/custom_filters\/filters\/minfraud\/minfraud.body.php":{"errors":6,"warnings":3,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_MinFraud' does not match filename 'minfraud.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":43,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_MinFraud\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":43,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":188,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":210,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":226,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":232,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":265,"column":47},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":273,"column":16},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":281,"column":50}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Amazon\/AmazonApiTest.php":{"errors":0,"warnings":2,"messages":[{"message":"The testDoPaymentSuccess test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":22,"column":12},{"message":"The testDoPaymentErrors test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":60,"column":12}]},"\/src\/repo\/tests\/phpunit\/ArrayHelperTest.php":{"errors":0,"warnings":2,"messages":[{"message":"The testBuildRequestArray test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":28,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":103,"column":36}]},"\/src\/repo\/special\/EmailPreferences.php":{"errors":15,"warnings":5,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":9,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":10,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":11,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":14,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":16,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":82,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":164,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":218,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":229,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":248,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":266,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":271,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":276,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":281,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":300,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":314,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":329,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":348,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":352,"column":15}]},"\/src\/repo\/tests\/phpunit\/AmountTest.php":{"errors":0,"warnings":17,"messages":[{"message":"The testValidUsd test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":81,"column":12},{"message":"The testZeroAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":90,"column":12},{"message":"The testWhitespaceAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":105,"column":12},{"message":"The testNonNumericAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":120,"column":12},{"message":"The testNegativeAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":139,"column":12},{"message":"The testTooMuchUsd test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":158,"column":12},{"message":"The testTooLittleUsd test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":182,"column":12},{"message":"The testTooMuchBbd test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":208,"column":12},{"message":"The testTooLittleBbd test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":234,"column":12},{"message":"The testRoundNoDigit test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":256,"column":12},{"message":"The testRoundTwoDigit test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":261,"column":12},{"message":"The testRoundThreeDigit test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":266,"column":12},{"message":"The testFormat test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":271,"column":12},{"message":"The testTooLittleUSDConfiguredInBbd test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":292,"column":12},{"message":"The testTooMuchUsdConfiguredInBbd test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":319,"column":12},{"message":"The testTooMuchBbdConfiguredInBbd test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":348,"column":12},{"message":"The testTooLittleBbdConfiguredInBbd test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":379,"column":12}]},"\/src\/repo\/amazon_gateway\/amazon.adapter.php":{"errors":4,"warnings":8,"messages":[{"message":"Class name 'AmazonAdapter' does not match filename 'amazon.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":34,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":36,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":37,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":38,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":73,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":196,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":227,"column":73},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":312,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":314,"column":41},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":343,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":366,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":370,"column":41}]},"\/src\/repo\/tests\/phpunit\/MustacheFormTest.php":{"errors":0,"warnings":6,"messages":[{"message":"The testRendering test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":73,"column":12},{"message":"The testNoTemplateFile test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":85,"column":12},{"message":"The testAppealRendering test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":102,"column":12},{"message":"The testOverrideAppeal test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":125,"column":12},{"message":"The testSanitizeOverrideAppeal test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":147,"column":12},{"message":"The testL10nParams test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":171,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/PayPal\/PayPalApiTest.php":{"errors":0,"warnings":3,"messages":[{"message":"The testGoodSubmit test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":40,"column":12},{"message":"The testTooSmallDonation test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":128,"column":12},{"message":"The testGoodRecurringSubmit test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":154,"column":12}]},"\/src\/repo\/tests\/phpunit\/GatewayValidationTest.php":{"errors":0,"warnings":8,"messages":[{"message":"The testPassesValidation test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":82,"column":12},{"message":"The testLowAmountError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":93,"column":12},{"message":"The testHighAmountError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":106,"column":12},{"message":"The testCurrencyCodeError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":119,"column":12},{"message":"The testCountryError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":131,"column":12},{"message":"The testEmailError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":149,"column":12},{"message":"The testSpuriousCcError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":161,"column":12},{"message":"The testMissingFieldError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":172,"column":12}]},"\/src\/repo\/special\/PaymentSettings.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12}]},"\/src\/repo\/gravy_gateway\/gravy_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'GravyGatewayResult' does not match filename 'gravy_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":6,"column":1}]},"\/src\/repo\/extras\/custom_filters\/filters\/functions\/functions.body.php":{"errors":5,"warnings":1,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_Functions' does not match filename 'functions.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_Functions\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":53,"column":29},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":70,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":80,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":90,"column":22}]},"\/src\/repo\/special\/GatewayChooser.php":{"errors":1,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":146,"column":41}]},"\/src\/repo\/gravy_gateway\/gravy.adapter.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'GravyAdapter' does not match filename 'gravy.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":16,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":82,"column":12}]},"\/src\/repo\/tests\/phpunit\/EmailPreferencesTest.php":{"errors":0,"warnings":1,"messages":[{"message":"The testEmailPrefCenterQueue test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":38,"column":12}]},"\/src\/repo\/adyen_gateway\/adyen_get_payment_methods.api.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'AdyenGetPaymentMethodsApi' does not match filename 'adyen_get_payment_methods.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":7,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12}]},"\/src\/repo\/extras\/extras.body.php":{"errors":4,"warnings":0,"messages":[{"message":"Class name 'Gateway_Extras' does not match filename 'extras.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":7,"column":10},{"message":"Class name \"Gateway_Extras\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":7,"column":10},{"message":"Method name \"generate_hash\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":59,"column":15},{"message":"Method name \"compare_hash\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":70,"column":15}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Amazon\/AmazonTest.php":{"errors":2,"warnings":13,"messages":[{"message":"Class name 'DonationInterface_Adapter_Amazon_Test' does not match filename 'AmazonTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":31,"column":1},{"message":"Class name \"DonationInterface_Adapter_Amazon_Test\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":31,"column":1},{"message":"The testCanadianDollarConversion test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":74,"column":12},{"message":"The testShowFormOnError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":112,"column":12},{"message":"The testDoPaymentSuccess test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":130,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":133,"column":63},{"message":"The testDoPaymentDeclined test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":160,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":163,"column":63},{"message":"The testFailOnAmazonRejected test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":187,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":190,"column":63},{"message":"The testTransactionTimedOut test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":212,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":215,"column":63},{"message":"The testClientException test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":241,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":244,"column":63},{"message":"The testDoRecurringPaymentSuccess test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":268,"column":12}]},"\/src\/repo\/extras\/custom_filters\/filters\/referrer\/referrer.body.php":{"errors":4,"warnings":0,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_Referrer' does not match filename 'referrer.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_Referrer\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":53,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":65,"column":22}]},"\/src\/repo\/extras\/custom_filters\/filters\/ip_velocity\/ip_velocity.body.php":{"errors":7,"warnings":1,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_IP_Velocity' does not match filename 'ip_velocity.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_IP_Velocity\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Gateway_Extras_CustomFilters $custom_filter_object = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":35,"column":9},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":92,"column":66},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":105,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":139,"column":22},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":223,"column":22},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Gateway_Extras_CustomFilters $custom_filter_object = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":225,"column":9}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/CheckoutIdealTest.php":{"errors":0,"warnings":5,"messages":[{"message":"The testDoPaymentIdeal test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":33,"column":12},{"message":"The testDoPaymentIdealMultipleAttempt test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":112,"column":12},{"message":"The testDoPaymentIdealAttemptBlockedDueToIPInDenyList test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":226,"column":12},{"message":"The testDonorReturnIdealSuccess test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":309,"column":12},{"message":"The testDonorReturnIdealFailure test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":395,"column":12}]},"\/src\/repo\/gateway_common\/DataValidator.php":{"errors":18,"warnings":6,"messages":[{"message":"Method name \"validate_email\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":275,"column":22},{"message":"Method name \"validate_currency_code\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":281,"column":22},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":281,"column":22},{"message":"Method name \"validate_credit_card\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":295,"column":22},{"message":"Method name \"validate_boolean\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":309,"column":22},{"message":"Method name \"validate_numeric\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":329,"column":22},{"message":"Method name \"validate_gateway\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":344,"column":22},{"message":"Method name \"validate_not_empty\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":358,"column":22},{"message":"Method name \"validate_alphanumeric\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":371,"column":22},{"message":"Method name \"validate_not_just_punctuation\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":383,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":384,"column":48},{"message":"Method name \"validate_name\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":399,"column":19},{"message":"Method name \"validate_address\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":409,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":414,"column":19},{"message":"Method name \"special_characters_in_wrong_locations\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":427,"column":19},{"message":"Method name \"cc_number_exists_in_str\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":450,"column":19},{"message":"Method name \"luhn_check\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":513,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":541,"column":64},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":543,"column":71},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":545,"column":78},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":547,"column":83},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":549,"column":18},{"message":"Method name \"ip_is_listed\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":606,"column":19},{"message":"Method name \"value_appears_in\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":628,"column":19}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/GravyFormLoadTest.php":{"errors":0,"warnings":1,"messages":[{"message":"The testGravyFormLoad test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":47,"column":12}]},"\/src\/repo\/tests\/phpunit\/FraudFiltersTest.php":{"errors":2,"warnings":4,"messages":[{"message":"Class name 'DonationInterface_FraudFiltersTest' does not match filename 'FraudFiltersTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":32,"column":1},{"message":"Class name \"DonationInterface_FraudFiltersTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":32,"column":1},{"message":"The testMinFraudErrorScore test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":93,"column":12},{"message":"The testMinFraudRealScore test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":142,"column":12},{"message":"The testMinFraudExtras test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":226,"column":12},{"message":"The testMinFraudExtrasNoAddress test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":327,"column":12}]},"\/src\/repo\/gateway_common\/GatewayPage.php":{"errors":3,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?PaymentTransactionResponse $results = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":288,"column":48},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":377,"column":18},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":525,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":594,"column":15}]},"\/src\/repo\/gateway_common\/ClientSideValidationHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/messages\/MessagesEs_419.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_forms\/Mustache.php":{"errors":17,"warnings":1,"messages":[{"message":"Class name 'Gateway_Form_Mustache' does not match filename 'Mustache.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":12,"column":1},{"message":"Class name \"Gateway_Form_Mustache\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":12,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":14,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":101,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":147,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":185,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":250,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":262,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":334,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":350,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":379,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":446,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":515,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":538,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":545,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":554,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":558,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":562,"column":15}]},"\/src\/repo\/adyen_gateway\/adyen_submit_payment.api.php":{"errors":4,"warnings":0,"messages":[{"message":"Class name 'AdyenSubmitPaymentApi' does not match filename 'adyen_submit_payment.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":9,"column":1},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":164,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":318,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":339,"column":15}]},"\/src\/repo\/adyen_gateway\/adyen_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/Adyen3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_forms\/Form.php":{"errors":3,"warnings":0,"messages":[{"message":"Class name 'Gateway_Form' does not match filename 'Form.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":10},{"message":"Class name \"Gateway_Form\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":3,"column":10},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":92,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/RedirectFormTest.php":{"errors":0,"warnings":2,"messages":[{"message":"The testDoPaymentVenmo test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":40,"column":12},{"message":"The testProcessDonorReturnVenmo test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":121,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Dlocal\/CardPaymentTest.php":{"errors":0,"warnings":9,"messages":[{"message":"The testDoCardPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":32,"column":12},{"message":"The testDoCardPaymentWithRecurring test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":69,"column":12},{"message":"The testDoCardPaymentCreatePaymentFail test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":117,"column":12},{"message":"The testDoCardPaymentValidationError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":149,"column":12},{"message":"The testDoPaymentsInitQueueCountSuccessfulPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":173,"column":12},{"message":"The testDoPaymentsInitQueueCountFailedPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":211,"column":12},{"message":"The testDoPaymentsAntiFraudQueueCountSuccessfulPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":244,"column":12},{"message":"The testDoPaymentsAntiFraudQueueCountFailedPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":297,"column":12},{"message":"The testMismatchOrderIdIsReset test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":356,"column":12}]},"\/src\/repo\/tests\/phpunit\/DonationDataTest.php":{"errors":2,"warnings":31,"messages":[{"message":"Class name 'DonationInterface_DonationDataTest' does not match filename 'DonationDataTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":29,"column":1},{"message":"Class name \"DonationInterface_DonationDataTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":29,"column":1},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":82,"column":91},{"message":"The testConstructWithExternalData test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":108,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":142,"column":59},{"message":"The testConstructWithFauxRequest test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":156,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":190,"column":91},{"message":"The testDebugLog test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":205,"column":12},{"message":"The testRepopulate test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":227,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":240,"column":102},{"message":"The testIsSomething test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":259,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":263,"column":98},{"message":"The testSetNormalizedAmount_amtGiven test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":271,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":275,"column":98},{"message":"The testSetNormalizedAmount_amount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":284,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":288,"column":98},{"message":"The testSetNormalizedAmount_negativeAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":297,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":301,"column":98},{"message":"The testSetNormalizedAmount_noGoodAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":310,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":315,"column":98},{"message":"The testSetNormalizedCurrencyCode_BadData test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":326,"column":12},{"message":"The testSetNormalizedLanguage_uselang test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":339,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":346,"column":98},{"message":"The testSetNormalizedLanguage_language test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":355,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":362,"column":98},{"message":"The testSetUtmSource test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":371,"column":12},{"message":"The testSetUtmSourceFromApp test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":382,"column":12},{"message":"The testSetUtmValuesFromWmfValues test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":398,"column":12},{"message":"The testSetUtmSourceFromAppWithBanner test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":417,"column":12},{"message":"The testSetUtmSourceFromAppWithNoBanner test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":434,"column":12},{"message":"The testSendToContributionTrackingQueue test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":450,"column":12},{"message":"The testSendRecurringToContributionTrackingQueue test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":496,"column":12},{"message":"The testGetSessionFields test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":544,"column":12}]},"\/src\/repo\/tests\/phpunit\/BaseGravyTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Braintree\/PaypalPaymentTest.php":{"errors":0,"warnings":5,"messages":[{"message":"The testPaypalRoundCertainCurrencyPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":42,"column":12},{"message":"The testPaypalDoPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":80,"column":12},{"message":"The testDoPaymentMultipleAttempt test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":171,"column":12},{"message":"The testDoPaymentAttemptBlockedDueToIPInDenyList test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":256,"column":12},{"message":"The testPaypalDoPaymentInvalidPaymentToken test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":327,"column":12}]},"\/src\/repo\/adyen_gateway\/adyen_checkout.adapter.php":{"errors":6,"warnings":3,"messages":[{"message":"Class name 'AdyenCheckoutAdapter' does not match filename 'adyen_checkout.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":13,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":16,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":17,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":18,"column":5},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":280,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":293,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":306,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":340,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":396,"column":12}]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Dlocal\/CashPaymentTest.php":{"errors":0,"warnings":4,"messages":[{"message":"The testCashPaymentDonorReturnPaid test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":67,"column":12},{"message":"The testCashPaymentDonorReturnRejected test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":105,"column":12},{"message":"The testCashPaymentDonorReturnCancelled test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":141,"column":12},{"message":"The testCashPaymentDonorReturnPending test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":177,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Braintree\/VenmoPaymentTest.php":{"errors":0,"warnings":1,"messages":[{"message":"The testVenmoDoPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":43,"column":12}]},"\/src\/repo\/gateway_common\/DonationData.php":{"errors":3,"warnings":18,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":54,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":69,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":72,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":73,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":76,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":137,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":138,"column":22},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":139,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":140,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":143,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":144,"column":26},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":203,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":361,"column":41},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":389,"column":72},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":394,"column":50},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":400,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":401,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":518,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":584,"column":28},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":943,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":951,"column":12}]},"\/src\/repo\/gateway_common\/MediaWikiLogHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/BaseBraintreeTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/GatewayAdapterTest.php":{"errors":3,"warnings":25,"messages":[{"message":"Class name 'DonationInterface_Adapter_GatewayAdapterTest' does not match filename 'GatewayAdapterTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":41,"column":1},{"message":"Class name \"DonationInterface_Adapter_GatewayAdapterTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":41,"column":1},{"message":"The testRequiredFields test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":67,"column":12},{"message":"The testSubmethodVadliationPass test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":92,"column":12},{"message":"The testOptionalFieldsConfig test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":119,"column":12},{"message":"The testVariantConfig test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":152,"column":12},{"message":"The testIllegalVariantConfig test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":176,"column":12},{"message":"The testLanguageChange test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":217,"column":12},{"message":"The testResetOnGatewaySwitch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":239,"column":12},{"message":"The testResetOnOneTimeToRecurringSwitch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":265,"column":12},{"message":"The testResetOnRecurringToOneTimeSwitch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":299,"column":12},{"message":"The testResetSubmethodOnMethodSwitch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":332,"column":12},{"message":"The testStreetStaging test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":361,"column":12},{"message":"The testPostalCodeStaging test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":379,"column":12},{"message":"The testStreetUnStaging test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":397,"column":12},{"message":"The testPostalCodeUnStaging test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":422,"column":12},{"message":"The testCancelPage test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":447,"column":12},{"message":"The testCannotOverrideIp test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":457,"column":12},{"message":"The testGetScoreName test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":466,"column":12},{"message":"The testGetScoreNameMinimumLength test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":484,"column":12},{"message":"Method name \"TestSetValidationAction\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":502,"column":12},{"message":"The testGetDonationQueueMessage test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":513,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":530,"column":39},{"message":"The testGetDonationQueueMessageContactId test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":543,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":546,"column":65},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":564,"column":39},{"message":"The testGetDonationQueueMessageContactIdNoHash test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":577,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":595,"column":39}]},"\/src\/repo\/tests\/phpunit\/GatewayChooserTest.php":{"errors":2,"warnings":16,"messages":[{"message":"Class name 'DonationInterface_GatewayChooserTest' does not match filename 'GatewayChooserTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":27,"column":1},{"message":"Class name \"DonationInterface_GatewayChooserTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":27,"column":1},{"message":"The testMaintenanceMode_Redirect test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":75,"column":12},{"message":"The testNoNeedParamGateWayChooser test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":99,"column":12},{"message":"The testAssertExpectedGateway test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":129,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":223,"column":131},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":224,"column":131},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":225,"column":135},{"message":"The testConfirmCountriesInCountryFieldsGatewayConfig test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":385,"column":12},{"message":"The testConfirmCountriesInPaymentSubmethodsGatewayConfig test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":404,"column":12},{"message":"The testChooseGatewayByPrioritySingleRuleMatch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":428,"column":12},{"message":"The testChooseGatewayByPriorityMultiRuleMatch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":459,"column":12},{"message":"The testChooseGatewayByPriorityConditionValueArrayRuleMatch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":491,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":495,"column":76},{"message":"The testChooseGatewayByPriorityStopsAtFirstRuleMatch test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":520,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":528,"column":67},{"message":"The testAdditionalParamatersPassThrough test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":556,"column":12},{"message":"The testPassRecurringFalse test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":593,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/IngenicoTest.php":{"errors":2,"warnings":19,"messages":[{"message":"Class name 'DonationInterface_Adapter_Ingenico_IngenicoTest' does not match filename 'IngenicoTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":35,"column":1},{"message":"Class name \"DonationInterface_Adapter_Ingenico_IngenicoTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":35,"column":1},{"message":"The testGatewaySessionRetrieval test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":67,"column":12},{"message":"The testSendCustomerIP test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":89,"column":12},{"message":"The testDonorReturnLoadsFraudScore test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":115,"column":12},{"message":"The testDonorReturnPending test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":144,"column":12},{"message":"The testProcessDonorReturnStatusCancelledByConsumer test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":176,"column":12},{"message":"The testGetLatestPaymentStatusPostProcessFraud test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":212,"column":12},{"message":"The testLanguageStaging test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":296,"column":12},{"message":"The testAddResponseData_underzealous test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":311,"column":12},{"message":"The testNoDupeOrderId test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":341,"column":12},{"message":"The testOrderIdsWith4Or7Ok test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":399,"column":12},{"message":"The testDonorReturnSuccess test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":423,"column":12},{"message":"The testDonorReturnFailure test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":448,"column":12},{"message":"The testDonorReturnFailureOptIn test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":472,"column":12},{"message":"The testDonorReturnPaymentSubmethod test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":505,"column":12},{"message":"The testClearDataWhenDone test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":527,"column":12},{"message":"The testDoPayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":557,"column":12},{"message":"The testDoMultiplePayment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":572,"column":12},{"message":"The testDoPaymentAttemptBlockedDueToIPInDenyList test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":622,"column":12},{"message":"The testDoPaymentFailInitialFilters test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":660,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/CheckoutCardTest.php":{"errors":0,"warnings":10,"messages":[{"message":"The testDoPaymentCard test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":49,"column":12},{"message":"The testDoPaymentCardNoPaymentSubmethod test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":202,"column":12},{"message":"The testDoPaymentMultipleAttempt test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":356,"column":12},{"message":"The testDoPaymentAttemptBlockedDueToIPInDenyList test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":481,"column":12},{"message":"The testDoPaymentCardMonthlyConvert test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":529,"column":12},{"message":"The testDoPaymentCardMonthlyConvertMinimumAmount test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":617,"column":12},{"message":"The testDoPaymentCardAuthorizationDeclined test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":700,"column":12},{"message":"The testDonorReturn3DSecureSuccess test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":806,"column":12},{"message":"The testDonorReturn3DSecureFailure test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":925,"column":12},{"message":"The testDoPaymentFailInitialFilters test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":1001,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/AdyenRecurringTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DonationInterfaceTestCase.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":171,"column":23},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":684,"column":51}]},"\/src\/repo\/tests\/phpunit\/DonationQueueTest.php":{"errors":0,"warnings":2,"messages":[{"message":"The testPushMessage test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":101,"column":12},{"message":"The testIsFifoQueue test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":113,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/PayPal\/PayPalExpressTest.php":{"errors":2,"warnings":17,"messages":[{"message":"Class name 'DonationInterface_Adapter_PayPal_Express_Test' does not match filename 'PayPalExpressTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":39,"column":1},{"message":"Class name \"DonationInterface_Adapter_PayPal_Express_Test\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":39,"column":1},{"message":"The testPaymentSetup test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":68,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":117,"column":33},{"message":"The testPaymentSetupRecurring test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":156,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":207,"column":33},{"message":"The testProcessDonorReturn test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":306,"column":12},{"message":"The testProcessDonorReturnRecurring test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":375,"column":12},{"message":"The testProcessDonorReturnPaymentRetry test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":452,"column":12},{"message":"The testProcessDonorReturnWarning test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":499,"column":12},{"message":"The testProcessDonorReturnRecurringRetry test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":600,"column":12},{"message":"The testProcessDonorReturnPaymentActionCompleted test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":694,"column":12},{"message":"The testProcessDonorReturnTokenTimeout test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":749,"column":12},{"message":"The testResultSwitcher test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":806,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":816,"column":45},{"message":"The testResultSwitcherRepeat test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":859,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":874,"column":45},{"message":"The testUnstageCountry test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":900,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":910,"column":45}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/IngenicoApiTest.php":{"errors":0,"warnings":9,"messages":[{"message":"The testGoodSubmit test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":70,"column":12},{"message":"The testStageLocale test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":168,"column":12},{"message":"The testNoMangleDataOnTruncate test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":209,"column":12},{"message":"The testUpsellVariant test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":260,"column":12},{"message":"The testSubmitFailInitialFilters test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":292,"column":12},{"message":"The testOptionalFieldBehaviour test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":322,"column":12},{"message":"The testSubmitEmployerField test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":365,"column":12},{"message":"The testRecurringConversionApiSuccess test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":396,"column":12},{"message":"The testRecurringConversionApiError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":440,"column":12}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/ResultSwitcherTest.php":{"errors":2,"warnings":2,"messages":[{"message":"Class name 'DonationInterface_Adapter_Ingenico_ResultSwitcherTest' does not match filename 'ResultSwitcherTest.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":13,"column":1},{"message":"Class name \"DonationInterface_Adapter_Ingenico_ResultSwitcherTest\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":13,"column":1},{"message":"The testResultSwitcherLiberatedSuccess test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":18,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":57,"column":33}]},"\/src\/repo\/gateway_common\/gateway.adapter.php":{"errors":48,"warnings":24,"messages":[{"message":"Class name 'GatewayAdapter' does not match filename 'gateway.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":37,"column":10},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":41,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":42,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":181,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":182,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":183,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":183,"column":48},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":184,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":185,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":223,"column":41},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":311,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":318,"column":12},{"message":"Method name \"getData_Staged\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":484,"column":15},{"message":"Method name \"getData_Unstaged_Escaped\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":576,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":576,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":588,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":592,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":782,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":818,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":861,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":865,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":919,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1004,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1009,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1014,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1019,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":1081,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1105,"column":25},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1189,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1280,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1460,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1480,"column":61},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1501,"column":59},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1511,"column":12},{"message":"Method name \"transaction_option\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":1588,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1624,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1628,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1650,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":2129,"column":12},{"message":"Method name \"session_ensure\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2133,"column":12},{"message":"Method name \"session_getData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2144,"column":12},{"message":"Method name \"session_hasDonorData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2165,"column":12},{"message":"Method name \"session_setDonorBackupData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2174,"column":12},{"message":"Method name \"session_unsetDonorData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2183,"column":12},{"message":"Method name \"session_addDonorData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2193,"column":12},{"message":"Method name \"session_killAllEverything\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2211,"column":12},{"message":"Method name \"session_unsetAllData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2223,"column":12},{"message":"Method name \"session_resetForNewAttempt\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2239,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2256,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2260,"column":28},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2268,"column":40},{"message":"Method name \"session_resetOnSwitch\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2303,"column":15},{"message":"Method name \"token_applyMD5AndSalt\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2371,"column":22},{"message":"Method name \"token_generateToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2389,"column":19},{"message":"Method name \"token_getSaltedSessionToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2394,"column":12},{"message":"Method name \"token_refreshAllTokenEverything\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2416,"column":15},{"message":"Method name \"token_matchEditToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2436,"column":15},{"message":"Method name \"token_checkTokens\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2461,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2462,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2501,"column":64},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":2571,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2598,"column":106},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2656,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2670,"column":59},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2723,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2724,"column":39},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":2758,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":2785,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":2807,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2859,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2872,"column":27},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":2879,"column":15}]},"\/src\/repo\/gateway_common\/IsoDate.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":4,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":11,"column":12}]}}}

--- end ---
 * sniff MediaWiki.Usage.NullableType.ExplicitNullableTypes is now failing
$ git checkout .phpcs.xml
--- stderr ---
Updated 1 path from the index
--- stdout ---

--- end ---
$ /usr/bin/composer install
--- stderr ---
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Nothing to install, update or remove
Generating optimized autoload files
Class SmashPig\PaymentProviders\Fundraiseup\Tests\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Fundraiseup/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\Manual\TestCreatePayment located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/manual/TestCreatePayment.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\IdealStatusProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/IdealStatusProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\HostedCheckoutProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/HostedCheckoutProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\AuthenticatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/AuthenticatorTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\BankPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/BankPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\PaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/PaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Ingenico\Tests\TokenizeRecurringJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/TokenizeRecurringJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Amazon\Tests\RecordPaymentsJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/RecordPaymentsJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Amazon\Tests\NormalizeTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/NormalizeTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Amazon\Tests\ActionsTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/ActionsTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Amazon\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Amazon\Tests\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\CaptureJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/CaptureJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\RestResponseValidatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RestResponseValidatorTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\CancelRecurringActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/CancelRecurringActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\RequeueMessageTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RequeueMessageTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\PaymentCaptureActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/PaymentCaptureActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\RecurringContractActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecurringContractActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\RefundInitiatedActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RefundInitiatedActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\RecurringContractJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecurringContractJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\RecurringPaymentTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecurringPaymentTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\ReferenceDataTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ReferenceDataTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\AutoRescueActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/AutoRescueActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\ChargebackInitiatedActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ChargebackInitiatedActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\ReportAvailableTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ReportAvailableTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Test\RecordCaptureJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecordCaptureJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\TokenizeRecurringJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/TokenizeRecurringJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Adyen\Tests\CaptureResponseActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/CaptureResponseActionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Tests\PaidMessageJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/PaidMessageJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Tests\RestResponseValidatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/RestResponseValidatorTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Tests\RejectedMessageJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/RejectedMessageJobTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Tests\SignatureCalculatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/SignatureCalculatorTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Test\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\dlocal\Tests\CardPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/CardPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\PayPal\Tests\CaptureIncomingMessageTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\PayPal\Tests\PaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/PayPal/Tests/phpunit/PaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Braintree\Tests\SignatureValidatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/SignatureValidatorTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Braintree\Tests\PayPalPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/PayPalPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Braintree\Tests\VenmoPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/VenmoPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Braintree\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Braintree\Test\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping.
Class SmashPig\PaymentProviders\Braintree\Tests\PaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/PaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping.
29 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---

--- end ---
$ /usr/bin/composer test
--- stderr ---
> parallel-lint . --exclude vendor --exclude node_modules
> phpcs -p -s --cache
> php tests/phpunit/LintYaml.php
> minus-x check .
--- stdout ---
PHP 8.2.20 | 10 parallel jobs
............................................................  60/188 ( 31%)
............................................................ 120/188 ( 63%)
............................................................ 180/188 ( 95%)
........                                                     188/188 (100%)


Checked 188 files in 0.8 seconds
No syntax error found
............................................................ 60 / 63 (95%)
...                                                          63 / 63 (100%)


Time: 490ms; Memory: 18MB

MinusX
======
Processing /src/repo...
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
..........................................
All good!

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {},
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 0,
      "critical": 0,
      "total": 0
    },
    "dependencies": {
      "prod": 1,
      "dev": 459,
      "optional": 0,
      "peer": 1,
      "peerOptional": 0,
      "total": 459
    }
  }
}

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
build: Updating mediawiki/mediawiki-codesniffer to 45.0.0

The following sniffs are failing and were disabled:
* MediaWiki.Usage.NullableType.ExplicitNullableTypes

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpx8wzyprz
--- stdout ---
[REL1_43 2de6c9d] build: Updating mediawiki/mediawiki-codesniffer to 45.0.0
 2 files changed, 2 insertions(+), 1 deletion(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 2de6c9d0c83c35c0387a30a09bda8e66244103f2 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 14 Nov 2024 03:53:03 +0000
Subject: [PATCH] build: Updating mediawiki/mediawiki-codesniffer to 45.0.0

The following sniffs are failing and were disabled:
* MediaWiki.Usage.NullableType.ExplicitNullableTypes

Change-Id: I2dcdead4bef9a1f03a2755343b24b1d32d4ee9a3
---
 .phpcs.xml    | 1 +
 composer.json | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/.phpcs.xml b/.phpcs.xml
index 53fb7b9..43207b9 100644
--- a/.phpcs.xml
+++ b/.phpcs.xml
@@ -6,6 +6,7 @@
 		<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected" />
 		<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic" />
 		<exclude name="MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName" />
+		<exclude name="MediaWiki.Usage.NullableType.ExplicitNullableTypes" />
 		<exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" />
 		<exclude name="PSR12.Properties.ConstantVisibility.NotFound" />
 		<exclude name="Squiz.Classes.ValidClassName.NotCamelCaps" />
diff --git a/composer.json b/composer.json
index 44781c9..48dc45d 100644
--- a/composer.json
+++ b/composer.json
@@ -35,7 +35,7 @@
 		"whichbrowser/parser": "^2.1"
 	},
 	"require-dev": {
-		"mediawiki/mediawiki-codesniffer": "44.0.0",
+		"mediawiki/mediawiki-codesniffer": "45.0.0",
 		"mediawiki/mediawiki-phan-config": "0.14.0",
 		"mediawiki/minus-x": "1.1.3",
 		"php-parallel-lint/php-console-highlighter": "1.0.0",
-- 
2.39.2


--- end ---
Source code is licensed under the AGPL.