PHP_CodeSniffer icon indicating copy to clipboard operation
PHP_CodeSniffer copied to clipboard

Common::getSniffCode(): add tests, more defensive coding and minor simplification

Open jrfnl opened this issue 8 months ago • 0 comments

Description

Common::getSniffCode(): add tests

Add initial set of tests for the Common::getSniffCode() method.

Related to #146 Related to review comment in PR 446.

Common::getSniffCode(): throw exception on invalid input [1]

Previously, if an empty string was passed, the Common::getSniffCode() method would return .., which is just confusing.

This commit changes the behaviour to throw an InvalidArgumentException instead.

Includes making a potentially superfluous function call to the method conditionally (as it could hit the new exception).

Includes test.

Common::getSniffCode(): throw exception on invalid input [2a]

Previously, if an invalid (incomplete) class name was passed, the Common::getSniffCode() method would return a garbled name, like .Qualified.C, which is just confusing.

This commit changes the behaviour to throw an InvalidArgumentException instead.

Includes test.

Common::getSniffCode(): throw exception on invalid input [2b]

Previously, if an invalid class name was passed, which didn't end on Sniff or UnitTest, the Common::getSniffCode() method would return a garbled name, like Fully.Qualified.C, which is just confusing.

This commit changes the behaviour to throw an InvalidArgumentException instead.

Includes test.

Common::getSniffCode(): minor simplification

  • Remove the use of array_pop() in favour of directly referencing the required "parts" by their index in the array.
  • Remove the unused $sniffDir variable.
  • Remove the unnecessary $code variable.

Related to review comment in PR 446.

Suggested changelog entry

The Common::getSniffCode() method will now throw an InvalidArgumentException exception if an invalid $sniffClass is passed.

jrfnl avatar Jun 05 '24 20:06 jrfnl