file_contents_sorter: add --group-cases-together -- a better case-insensitive sort

This commit is contained in:
Jacob Lifshay 2025-08-04 20:08:36 -07:00
parent a8f86514f4
commit 1d6bd5f7da
No known key found for this signature in database
3 changed files with 69 additions and 3 deletions

View file

@ -55,6 +55,30 @@ from pre_commit_hooks.file_contents_sorter import PASS
FAIL,
b'fee\nfee\nFie\nFoe\nfum\n',
),
(
b'a\nb\nB\nb\nc\n',
['--ignore-case'],
PASS,
b'a\nb\nB\nb\nc\n',
),
(
b'a\nb\nB\nb\nc\n',
['--group-cases-together'],
FAIL,
b'a\nB\nb\nb\nc\n',
),
(
b'fee\nFie\nFoe\nfum\n',
['--group-cases-together'],
PASS,
b'fee\nFie\nFoe\nfum\n',
),
(
b'Fie\nFoe\nfee\nfee\nfum\n',
['--group-cases-together'],
FAIL,
b'fee\nfee\nFie\nFoe\nfum\n',
),
(
b'Fie\nFoe\nfee\nfum\n',
['--unique'],
@ -67,6 +91,24 @@ from pre_commit_hooks.file_contents_sorter import PASS
FAIL,
b'Fie\nFoe\nfee\nfum\n',
),
(
b'a\nb\nB\nb\nc\n',
['--group-cases-together', '--unique'],
FAIL,
b'a\nB\nb\nc\n',
),
(
b'fee\nFie\nFoe\nfum\n',
['--group-cases-together', '--unique'],
PASS,
b'fee\nFie\nFoe\nfum\n',
),
(
b'Fie\nFoe\nfee\nfee\nfum\n',
['--group-cases-together', '--unique'],
FAIL,
b'fee\nFie\nFoe\nfum\n',
),
),
)
def test_integration(input_s, argv, expected_retval, output, tmpdir):