From c236be432028345dd7117a45b53be9ac488f86c7 Mon Sep 17 00:00:00 2001 From: InSync Date: Wed, 12 Mar 2025 17:08:55 +0700 Subject: [PATCH] Add missing unit tests for `# noqa:`-like cases (#16659) --- crates/ruff_linter/src/noqa.rs | 72 +++++++++++++++++++ ...ter__noqa__tests__flake8_noqa_no_code.snap | 7 ++ ...s__flake8_noqa_no_code_invalid_suffix.snap | 7 ++ ..._flake8_noqa_no_code_trailing_content.snap | 7 ++ ...uff_linter__noqa__tests__noqa_no_code.snap | 7 ++ ...a__tests__noqa_no_code_invalid_suffix.snap | 7 ++ ..._tests__noqa_no_code_trailing_content.snap | 7 ++ ...inter__noqa__tests__ruff_noqa_no_code.snap | 7 ++ ...sts__ruff_noqa_no_code_invalid_suffix.snap | 7 ++ ...s__ruff_noqa_no_code_trailing_content.snap | 7 ++ 10 files changed, 135 insertions(+) create mode 100644 crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__flake8_noqa_no_code.snap create mode 100644 crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__flake8_noqa_no_code_invalid_suffix.snap create mode 100644 crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__flake8_noqa_no_code_trailing_content.snap create mode 100644 crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__noqa_no_code.snap create mode 100644 crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__noqa_no_code_invalid_suffix.snap create mode 100644 crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__noqa_no_code_trailing_content.snap create mode 100644 crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__ruff_noqa_no_code.snap create mode 100644 crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__ruff_noqa_no_code_invalid_suffix.snap create mode 100644 crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__ruff_noqa_no_code_trailing_content.snap diff --git a/crates/ruff_linter/src/noqa.rs b/crates/ruff_linter/src/noqa.rs index ef0ae63f8b..c2392b0e6b 100644 --- a/crates/ruff_linter/src/noqa.rs +++ b/crates/ruff_linter/src/noqa.rs @@ -1250,6 +1250,30 @@ mod tests { assert_lexed_ranges_match_slices(directive, source); } + #[test] + fn noqa_no_code() { + let source = "# noqa:"; + let directive = lex_inline_noqa(TextRange::up_to(source.text_len()), source); + assert_debug_snapshot!(directive); + assert_lexed_ranges_match_slices(directive, source); + } + + #[test] + fn noqa_no_code_invalid_suffix() { + let source = "# noqa: foo"; + let directive = lex_inline_noqa(TextRange::up_to(source.text_len()), source); + assert_debug_snapshot!(directive); + assert_lexed_ranges_match_slices(directive, source); + } + + #[test] + fn noqa_no_code_trailing_content() { + let source = "# noqa: # Foo"; + let directive = lex_inline_noqa(TextRange::up_to(source.text_len()), source); + assert_debug_snapshot!(directive); + assert_lexed_ranges_match_slices(directive, source); + } + #[test] fn noqa_code() { let source = "# noqa: F401"; @@ -1482,6 +1506,30 @@ mod tests { assert_lexed_ranges_match_slices(exemption, source); } + #[test] + fn flake8_noqa_no_code() { + let source = "# flake8: noqa:"; + let exemption = lex_file_exemption(TextRange::up_to(source.text_len()), source); + assert_debug_snapshot!(exemption); + assert_lexed_ranges_match_slices(exemption, source); + } + + #[test] + fn flake8_noqa_no_code_invalid_suffix() { + let source = "# flake8: noqa: foo"; + let exemption = lex_file_exemption(TextRange::up_to(source.text_len()), source); + assert_debug_snapshot!(exemption); + assert_lexed_ranges_match_slices(exemption, source); + } + + #[test] + fn flake8_noqa_no_code_trailing_content() { + let source = "# flake8: noqa: # Foo"; + let exemption = lex_file_exemption(TextRange::up_to(source.text_len()), source); + assert_debug_snapshot!(exemption); + assert_lexed_ranges_match_slices(exemption, source); + } + #[test] fn ruff_exemption_all() { let source = "# ruff: noqa"; @@ -1490,6 +1538,30 @@ mod tests { assert_lexed_ranges_match_slices(exemption, source); } + #[test] + fn ruff_noqa_no_code() { + let source = "# ruff: noqa:"; + let exemption = lex_file_exemption(TextRange::up_to(source.text_len()), source); + assert_debug_snapshot!(exemption); + assert_lexed_ranges_match_slices(exemption, source); + } + + #[test] + fn ruff_noqa_no_code_invalid_suffix() { + let source = "# ruff: noqa: foo"; + let exemption = lex_file_exemption(TextRange::up_to(source.text_len()), source); + assert_debug_snapshot!(exemption); + assert_lexed_ranges_match_slices(exemption, source); + } + + #[test] + fn ruff_noqa_no_code_trailing_content() { + let source = "# ruff: noqa: # Foo"; + let exemption = lex_file_exemption(TextRange::up_to(source.text_len()), source); + assert_debug_snapshot!(exemption); + assert_lexed_ranges_match_slices(exemption, source); + } + #[test] fn flake8_exemption_all_no_space() { let source = "#flake8:noqa"; diff --git a/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__flake8_noqa_no_code.snap b/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__flake8_noqa_no_code.snap new file mode 100644 index 0000000000..03e5ec18ab --- /dev/null +++ b/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__flake8_noqa_no_code.snap @@ -0,0 +1,7 @@ +--- +source: crates/ruff_linter/src/noqa.rs +expression: exemption +--- +Err( + MissingCodes, +) diff --git a/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__flake8_noqa_no_code_invalid_suffix.snap b/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__flake8_noqa_no_code_invalid_suffix.snap new file mode 100644 index 0000000000..03e5ec18ab --- /dev/null +++ b/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__flake8_noqa_no_code_invalid_suffix.snap @@ -0,0 +1,7 @@ +--- +source: crates/ruff_linter/src/noqa.rs +expression: exemption +--- +Err( + MissingCodes, +) diff --git a/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__flake8_noqa_no_code_trailing_content.snap b/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__flake8_noqa_no_code_trailing_content.snap new file mode 100644 index 0000000000..03e5ec18ab --- /dev/null +++ b/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__flake8_noqa_no_code_trailing_content.snap @@ -0,0 +1,7 @@ +--- +source: crates/ruff_linter/src/noqa.rs +expression: exemption +--- +Err( + MissingCodes, +) diff --git a/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__noqa_no_code.snap b/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__noqa_no_code.snap new file mode 100644 index 0000000000..751f9e693b --- /dev/null +++ b/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__noqa_no_code.snap @@ -0,0 +1,7 @@ +--- +source: crates/ruff_linter/src/noqa.rs +expression: "Directive::try_extract(source, TextSize::default())" +--- +Err( + MissingCodes, +) diff --git a/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__noqa_no_code_invalid_suffix.snap b/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__noqa_no_code_invalid_suffix.snap new file mode 100644 index 0000000000..751f9e693b --- /dev/null +++ b/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__noqa_no_code_invalid_suffix.snap @@ -0,0 +1,7 @@ +--- +source: crates/ruff_linter/src/noqa.rs +expression: "Directive::try_extract(source, TextSize::default())" +--- +Err( + MissingCodes, +) diff --git a/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__noqa_no_code_trailing_content.snap b/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__noqa_no_code_trailing_content.snap new file mode 100644 index 0000000000..751f9e693b --- /dev/null +++ b/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__noqa_no_code_trailing_content.snap @@ -0,0 +1,7 @@ +--- +source: crates/ruff_linter/src/noqa.rs +expression: "Directive::try_extract(source, TextSize::default())" +--- +Err( + MissingCodes, +) diff --git a/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__ruff_noqa_no_code.snap b/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__ruff_noqa_no_code.snap new file mode 100644 index 0000000000..03e5ec18ab --- /dev/null +++ b/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__ruff_noqa_no_code.snap @@ -0,0 +1,7 @@ +--- +source: crates/ruff_linter/src/noqa.rs +expression: exemption +--- +Err( + MissingCodes, +) diff --git a/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__ruff_noqa_no_code_invalid_suffix.snap b/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__ruff_noqa_no_code_invalid_suffix.snap new file mode 100644 index 0000000000..03e5ec18ab --- /dev/null +++ b/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__ruff_noqa_no_code_invalid_suffix.snap @@ -0,0 +1,7 @@ +--- +source: crates/ruff_linter/src/noqa.rs +expression: exemption +--- +Err( + MissingCodes, +) diff --git a/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__ruff_noqa_no_code_trailing_content.snap b/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__ruff_noqa_no_code_trailing_content.snap new file mode 100644 index 0000000000..03e5ec18ab --- /dev/null +++ b/crates/ruff_linter/src/snapshots/ruff_linter__noqa__tests__ruff_noqa_no_code_trailing_content.snap @@ -0,0 +1,7 @@ +--- +source: crates/ruff_linter/src/noqa.rs +expression: exemption +--- +Err( + MissingCodes, +)