PHPCSStandards / PHP_CodeSniffer

PHP_CodeSniffer tokenizes PHP files and detects violations of a defined set of coding standards.
BSD 3-Clause "New" or "Revised" License
906 stars 55 forks source link

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

Closed jrfnl closed 6 days ago

jrfnl commented 4 months ago

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

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 commented 2 weeks ago

Rebased without changes.