File tree Expand file tree Collapse file tree 3 files changed +97
-0
lines changed
Expand file tree Collapse file tree 3 files changed +97
-0
lines changed Original file line number Diff line number Diff line change 1+ <?php
2+
3+ /**
4+ * Throws warning if == or != are use
5+ */
6+ class Symfony3Custom_Sniffs_Formatting_StrictComparisonSniff implements PHP_CodeSniffer_Sniff
7+ {
8+ /**
9+ * Types to replace: key is operator to replace, value is operator to replace with.
10+ *
11+ * @var array
12+ */
13+ public $ operators = array (
14+ 'T_IS_EQUAL ' => '=== ' ,
15+ 'T_IS_NOT_EQUAL ' => '!== ' ,
16+ );
17+
18+ /**
19+ * A list of tokenizers this sniff supports.
20+ *
21+ * @return array
22+ */
23+ public function register ()
24+ {
25+ return array (
26+ T_IS_EQUAL ,
27+ T_IS_NOT_EQUAL ,
28+ );
29+ }
30+
31+ /**
32+ * Processes this test, when one of its tokens is encountered.
33+ *
34+ * @param PHP_CodeSniffer_File $phpcsFile All the tokens found in the document.
35+ * @param int $stackPtr The position of the current token in
36+ * the stack passed in $tokens.
37+ *
38+ * @return void
39+ */
40+ public function process (PHP_CodeSniffer_File $ phpcsFile , $ stackPtr )
41+ {
42+ $ tokens = $ phpcsFile ->getTokens ();
43+
44+ // This warning is fixable, but it's too dangerous to add automatically fixer
45+ $ phpcsFile ->addWarning (
46+ 'The %s comparator is not recommended, use %s instead ' ,
47+ $ stackPtr ,
48+ '' ,
49+ array (
50+ $ tokens [$ stackPtr ]['content ' ],
51+ $ this ->operators [$ tokens [$ stackPtr ]['type ' ]],
52+ )
53+ );
54+ }
55+ }
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ if ($ true == true ) {
4+ echo 'True ' ;
5+ } elseif ($ true != true ) {
6+ echo 'False ' ;
7+ } elseif (false === $ true && true !== $ false ) {
8+ echo 'False ' ;
9+ }
Original file line number Diff line number Diff line change 1+ <?php
2+
3+ /**
4+ * Unit test class for the StrictComparison sniff.
5+ *
6+ * A sniff unit test checks a .inc file for expected violations of a single
7+ * coding standard. Expected errors and warnings are stored in this class.
8+ */
9+ class Symfony3Custom_Tests_Formatting_StrictComparisonUnitTest extends AbstractSniffUnitTest
10+ {
11+ /**
12+ * Returns the lines where errors should occur.
13+ *
14+ * @return array <int line number> => <int number of errors>
15+ */
16+ public function getErrorList ()
17+ {
18+ return array ();
19+ }
20+
21+ /**
22+ * Returns the lines where warnings should occur.
23+ *
24+ * @return array <int line number> => <int number of warnings>
25+ */
26+ public function getWarningList ()
27+ {
28+ return array (
29+ 3 => 1 ,
30+ 5 => 1 ,
31+ );
32+ }
33+ }
You can’t perform that action at this time.
0 commit comments