Skip to content

Commit

Permalink
Standards/AbstractSniffUnitTest: order test files using natural sort
Browse files Browse the repository at this point in the history
When a sniff has multiple test case files, the `AbstractSniffUnitTest::getTestFiles()` sorts the file names before passing them off to be run.

While in most cases, the order of the test case files should not really matter, but in rare cases, like when testing that a property is being reset correctly between files, it does.

As things were, the `sort()` function without flags was being used, making the file order unnatural to work with ( file `11` would be run before file `2` - see: https://3v4l.org/VPO3Z ).

As the `SORT_NATURAL` flag is available since PHP 5.4, adding that flag will resolve this and will ensure the test case files are run in their natural order.

Optionally, the flag could be combined with the `SORT_FLAG_CASE` flag to make the sort case-insensitive.
  • Loading branch information
jrfnl committed Nov 11, 2023
1 parent b0d171b commit 2cdfca7
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion tests/Standards/AbstractSniffUnitTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ protected function getTestFiles($testFileBase)
}

// Put them in order.
sort($testFiles);
sort($testFiles, SORT_NATURAL);

return $testFiles;

Expand Down

0 comments on commit 2cdfca7

Please sign in to comment.