WordPress.org

Make WordPress Core

Ticket #41057: phpcs.xml.10.dist

File phpcs.xml.10.dist, 4.5 KB (added by pento, 7 months ago)
Line 
1<?xml version="1.0"?>
2<ruleset name="WordPress Coding Standards">
3        <description>Apply WordPress Coding Standards to all Core files</description>
4
5        <rule ref="WordPress-Core"/>
6        <rule ref="WordPress.CodeAnalysis.EmptyStatement"/>
7
8        <arg name="extensions" value="php"/>
9
10        <!-- Show sniff codes in all reports -->
11        <arg value="ps"/>
12
13        <file>.</file>
14
15        <!-- Directories and third party library exclusions -->
16        <exclude-pattern>/build/*</exclude-pattern>
17        <exclude-pattern>/node_modules/*</exclude-pattern>
18        <exclude-pattern>/vendor/*</exclude-pattern>
19
20        <exclude-pattern>/src/wp-admin/includes/class-ftp*</exclude-pattern>
21        <exclude-pattern>/src/wp-admin/includes/class-pclzip\.php</exclude-pattern>
22        <exclude-pattern>/src/wp-admin/includes/deprecated\.php</exclude-pattern>
23        <exclude-pattern>/src/wp-admin/includes/ms-deprecated\.php</exclude-pattern>
24
25        <exclude-pattern>/src/wp-includes/atomlib\.php</exclude-pattern>
26        <exclude-pattern>/src/wp-includes/class-IXR\.php</exclude-pattern>
27        <exclude-pattern>/src/wp-includes/class-json\.php</exclude-pattern>
28        <exclude-pattern>/src/wp-includes/class-phpass\.php</exclude-pattern>
29        <exclude-pattern>/src/wp-includes/class-phpmailer\.php</exclude-pattern>
30        <exclude-pattern>/src/wp-includes/class-pop3\.php</exclude-pattern>
31        <exclude-pattern>/src/wp-includes/class-requests\.php</exclude-pattern>
32        <exclude-pattern>/src/wp-includes/class-simplepie\.php</exclude-pattern>
33        <exclude-pattern>/src/wp-includes/class-smtp\.php</exclude-pattern>
34        <exclude-pattern>/src/wp-includes/class-snoopy\.php</exclude-pattern>
35        <exclude-pattern>/src/wp-includes/deprecated\.php</exclude-pattern>
36        <exclude-pattern>/src/wp-includes/ms-deprecated\.php</exclude-pattern>
37        <exclude-pattern>/src/wp-includes/pluggable-deprecated\.php</exclude-pattern>
38        <exclude-pattern>/src/wp-includes/rss\.php</exclude-pattern>
39
40        <exclude-pattern>/src/wp-includes/ID3/*</exclude-pattern>
41        <exclude-pattern>/src/wp-includes/IXR/*</exclude-pattern>
42        <exclude-pattern>/src/wp-includes/random_compat/*</exclude-pattern>
43        <exclude-pattern>/src/wp-includes/Requests/*</exclude-pattern>
44        <exclude-pattern>/src/wp-includes/SimplePie/*</exclude-pattern>
45        <exclude-pattern>/src/wp-includes/Text/*</exclude-pattern>
46
47        <!-- Test data and fixtures -->
48        <exclude-pattern>/tests/phpunit/build*</exclude-pattern>
49        <exclude-pattern>/tests/phpunit/data/*</exclude-pattern>
50
51        <exclude-pattern>/tools/*</exclude-pattern>
52
53        <!-- Whitelist the WP DB Class and related tests for usage of direct database access functions. -->
54        <rule ref="WordPress.DB.RestrictedFunctions">
55                <exclude-pattern>/src/wp-includes/wp-db\.php</exclude-pattern>
56                <exclude-pattern>/tests/phpunit/tests/db/charset\.php</exclude-pattern>
57        </rule>
58
59        <!-- Whitelist the WP DB related tests for issues with prepared SQL placeholders
60                 (as the handling of those are being tested). -->
61        <rule ref="WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare">
62                <exclude-pattern>/tests/phpunit/tests/db\.php</exclude-pattern>
63        </rule>
64        <rule ref="WordPress.DB.PreparedSQLPlaceholders.UnsupportedPlaceholder">
65                <exclude-pattern>/tests/phpunit/tests/db\.php</exclude-pattern>
66        </rule>
67        <rule ref="WordPress.DB.PreparedSQLPlaceholders.UnescapedLiteral">
68                <exclude-pattern>/tests/phpunit/tests/db\.php</exclude-pattern>
69        </rule>
70
71        <rule ref="Generic.Functions.FunctionCallArgumentSpacing">
72                <exclude-pattern>/wp-config\.php</exclude-pattern>
73                <exclude-pattern>/wp-config-sample\.php</exclude-pattern>
74                <exclude-pattern>/wp-tests-config\.php</exclude-pattern>
75                <exclude-pattern>/wp-tests-config-sample\.php</exclude-pattern>
76        </rule>
77
78        <!-- Whitelist test classes for select sniffs. -->
79        <rule ref="WordPress.Files.FileName">
80                <properties>
81                        <property name="custom_test_class_whitelist" type="array" value="WP_UnitTestCase,WP_Ajax_UnitTestCase,WP_Canonical_UnitTestCase,WP_Test_REST_TestCase,WP_Test_REST_Controller_Testcase,WP_Test_REST_Post_Type_Controller_Testcase,WP_XMLRPC_UnitTestCase"/>
82                </properties>
83        </rule>
84        <rule ref="WordPress.Variables.GlobalVariables">
85                <properties>
86                        <property name="custom_test_class_whitelist" type="array" value="WP_UnitTestCase,WP_Ajax_UnitTestCase,WP_Canonical_UnitTestCase,WP_Test_REST_TestCase,WP_Test_REST_Controller_Testcase,WP_Test_REST_Post_Type_Controller_Testcase,WP_XMLRPC_UnitTestCase"/>
87                </properties>
88        </rule>
89
90        <!-- Exclude the unit tests from select sniffs. -->
91        <rule ref="WordPress.Files.FileName.NotHyphenatedLowercase">
92                <exclude-pattern>/tests/phpunit/tests/*</exclude-pattern>
93        </rule>
94        <rule ref="PEAR.NamingConventions.ValidClassName.Invalid">
95                <exclude-pattern>/tests/phpunit/tests/*</exclude-pattern>
96        </rule>
97
98</ruleset>