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> |
---|