diff --git a/src/Libero/Sniffs/ControlStructures/RequireTernaryOperatorSniff.php b/src/Libero/Sniffs/ControlStructures/RequireTernaryOperatorSniff.php new file mode 100644 index 0000000..7713434 --- /dev/null +++ b/src/Libero/Sniffs/ControlStructures/RequireTernaryOperatorSniff.php @@ -0,0 +1,26 @@ +getMessage(), 'without curly braces is not supported')) { + throw $e; + } + } + } +} diff --git a/src/Libero/ruleset.xml b/src/Libero/ruleset.xml index e4d5244..a5458b8 100644 --- a/src/Libero/ruleset.xml +++ b/src/Libero/ruleset.xml @@ -91,6 +91,8 @@ + + diff --git a/tests/cases/php/null-coalesce b/tests/cases/php/null-coalesce index 6c497e5..52a846d 100644 --- a/tests/cases/php/null-coalesce +++ b/tests/cases/php/null-coalesce @@ -32,11 +32,7 @@ $bar = $bar ?? 'bar'; $bar = $bar['baz'] ?? 'baz'; -if (isset($foo)) { - $bar = $foo; -} else { - $bar = 'foo'; -} +$bar = $foo ?? 'foo'; $fooBar = isset($foo, $bar) ? 'foo' : 'bar'; diff --git a/tests/cases/php/parentheses-useless b/tests/cases/php/parentheses-useless index 4f9fc2d..6b1e876 100644 --- a/tests/cases/php/parentheses-useless +++ b/tests/cases/php/parentheses-useless @@ -6,7 +6,7 @@ Parentheses must not be used unnecessarily declare(strict_types=1); $foo = ('bar'); -$baz = ($qux !== null) ? true : false; +$baz = ($qux !== null) ? true : null; $quux = ($quuz) ? 1 : 0; $corge = (true || false) ? 0 : 1; @@ -22,7 +22,7 @@ switch ($grault) { declare(strict_types=1); $foo = 'bar'; -$baz = $qux !== null ? true : false; +$baz = $qux !== null ? true : null; $quux = $quuz ? 1 : 0; $corge = (true || false) ? 0 : 1; diff --git a/tests/cases/php/ternary b/tests/cases/php/ternary new file mode 100644 index 0000000..3e7eed6 --- /dev/null +++ b/tests/cases/php/ternary @@ -0,0 +1,37 @@ +---DESCRIPTION--- +Ternary expressions should be used +---CONTENTS--- +