Check that we correctly handle nested hidden subdirectories
As mentioned by @DimitriPapadopoulos in https://github.com/codespell-project/codespell/issues/2539#issuecomment-1283830779
diff --git a/codespell_lib/tests/test_basic.py b/codespell_lib/tests/test_basic.py
index d716260..eecbc5d 100644
--- a/codespell_lib/tests/test_basic.py
+++ b/codespell_lib/tests/test_basic.py
@@ -400,6 +400,24 @@
assert cs.main(d) == 0
assert cs.main('--check-hidden', d) == 3
assert cs.main('--check-hidden', '--check-filenames', d) == 8
+ os.mkdir(op.join(d, '.abandonned', 'a'))
+ copyfile(op.join(d, '.abandonned.txt'),
+ op.join(d, '.abandonned', 'a', 'abandonned.txt'))
+ assert cs.main(d) == 0
+ assert cs.main('--check-hidden', d) == 4
+ assert cs.main('--check-hidden', '--check-filenames', d) == 11
+ os.mkdir(op.join(d, '.abandonned', 'a', 'b'))
+ copyfile(op.join(d, '.abandonned.txt'),
+ op.join(d, '.abandonned', 'a', 'b', 'abandonned.txt'))
+ assert cs.main(d) == 0
+ assert cs.main('--check-hidden', d) == 5
+ assert cs.main('--check-hidden', '--check-filenames', d) == 14
+ os.mkdir(op.join(d, '.abandonned', 'a', 'b', 'c'))
+ copyfile(op.join(d, '.abandonned.txt'),
+ op.join(d, '.abandonned', 'a', 'b', 'c', 'abandonned.txt'))
+ assert cs.main(d) == 0
+ assert cs.main('--check-hidden', d) == 6
+ assert cs.main('--check-hidden', '--check-filenames', d) == 17
def test_case_handling(tmpdir, capsys):