WordPress.org

Make WordPress Core

Ticket #41057: phpcs.xml.8.dist

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