def test_parse_noqa(input, expected): """Test correct of "noqa" comments.""" result = Linter.parse_noqa(input, 0) if not isinstance(expected, type): assert result == expected else: # With exceptions, just check the type, not the contents. assert isinstance(result, expected)
def test_linted_file_ignore_masked_violations( noqa: dict, violations: List[SQLBaseError], expected ): """Test that _ignore_masked_violations() correctly filters violations.""" ignore_mask = [Linter.parse_noqa(**c) for c in noqa] lf = linter.LintedFile( path="", violations=violations, time_dict={}, tree=None, ignore_mask=ignore_mask, templated_file=TemplatedFile.from_string(""), ) result = lf._ignore_masked_violations(violations) expected_violations = [v for i, v in enumerate(violations) if i in expected] assert expected_violations == result
def test_parse_noqa_no_dups(): """Test overlapping glob expansions don't return duplicate rules in noqa.""" result = Linter.parse_noqa( comment="noqa:L0*5,L01*", line_no=0, rule_codes=dummy_rule_codes ) assert len(result.rules) == len(set(result.rules))