Test to check our string escape word triggers on its own (#2879)
diff --git a/.github/workflows/codespell-private.yml b/.github/workflows/codespell-private.yml index f6cda80..b0dd6b6 100644 --- a/.github/workflows/codespell-private.yml +++ b/.github/workflows/codespell-private.yml
@@ -12,6 +12,7 @@ test: env: REQUIRE_ASPELL: true + RUFF_FORMAT: github # Make sure we're using the latest aspell dictionary runs-on: ubuntu-22.04 strategy: @@ -75,6 +76,8 @@ - run: make check-dictionaries ruff-annotation: + env: + RUFF_FORMAT: github runs-on: ubuntu-latest steps: - name: Setup python
diff --git a/README.rst b/README.rst index 457094e..df90210 100644 --- a/README.rst +++ b/README.rst
@@ -2,7 +2,7 @@ ========= Fix common misspellings in text files. It's designed primarily for checking -misspelled words in source code, but it can be used with other files as well. +misspelled words in source code (backslash escapes are skipped), but it can be used with other files as well. It does not check for word membership in a complete dictionary, but instead looks for a set of common misspellings. Therefore it should catch errors like "adn", but it will not catch "adnasdfasdf". This also means it shouldn't
diff --git a/codespell_lib/tests/test_basic.py b/codespell_lib/tests/test_basic.py index b16a2d8..9c35ce0 100644 --- a/codespell_lib/tests/test_basic.py +++ b/codespell_lib/tests/test_basic.py
@@ -98,9 +98,6 @@ f.write("this is a test file\n") assert cs.main(fname) == 0, "good" with fname.open("a") as f: - f.write("var = '\\nDoes not error on newline'\n") - assert cs.main(fname) == 0, "with string escape" - with fname.open("a") as f: f.write("abandonned\n") assert cs.main(fname) == 1, "bad" with fname.open("a") as f: @@ -110,6 +107,14 @@ f.write("tim\ngonna\n") assert cs.main(fname) == 2, "with a name" assert cs.main("--builtin", "clear,rare,names,informal", fname) == 4 + with fname.open("w") as f: # overwrite the file + f.write("var = 'nwe must check codespell likes escapes nin strings'\n") + assert cs.main(fname) == 1, "checking our string escape test word is bad" + # the first one is missed because the apostrophe means its not currently + # treated as a word on its own + with fname.open("w") as f: # overwrite the file + f.write("var = '\\nwe must check codespell likes escapes \\nin strings'\n") + assert cs.main(fname) == 0, "with string escape" result = cs.main(fname, "--builtin", "foo", std=True) assert isinstance(result, tuple) code, _, stderr = result