22
33require "test_helper"
44
5- class NoAriaLabelMisuseTest < LinterTestCase
5+ class NoAriaLabelMisuseCounterTest < LinterTestCase
66 def linter_class
7- ERBLint ::Linters ::GitHub ::Accessibility ::NoAriaLabelMisuse
7+ ERBLint ::Linters ::GitHub ::Accessibility ::NoAriaLabelMisuseCounter
88 end
99
1010 def example_invalid_case
@@ -29,7 +29,7 @@ def test_warns_if_banned_elements_have_aria_label
2929 HTML
3030
3131 @linter . run ( processed_source )
32- assert_equal @linter . offenses . length , 11
32+ assert_equal @linter . offenses . length , 12
3333 end
3434
3535 def test_warns_if_generic_elements_have_aria_label_and_no_role
@@ -39,7 +39,7 @@ def test_warns_if_generic_elements_have_aria_label_and_no_role
3939 HTML
4040
4141 @linter . run ( processed_source )
42- assert_equal 2 , @linter . offenses . length
42+ assert_equal 3 , @linter . offenses . length
4343 end
4444
4545 def test_warns_if_generic_elements_have_aria_label_and_prohibited_role
@@ -61,7 +61,7 @@ def test_warns_if_generic_elements_have_aria_label_and_prohibited_role
6161 HTML
6262
6363 @linter . run ( processed_source )
64- assert_equal 14 , @linter . offenses . length
64+ assert_equal 15 , @linter . offenses . length
6565 end
6666
6767 def test_does_not_warn_if_generic_elements_have_aria_label_and_allowed_role
@@ -74,4 +74,38 @@ def test_does_not_warn_if_generic_elements_have_aria_label_and_allowed_role
7474 @linter . run ( processed_source )
7575 assert_empty @linter . offenses
7676 end
77+
78+ def test_does_not_raise_when_ignore_comment_with_correct_count
79+ @file = <<~ERB
80+ <%# erblint:counter GitHub::Accessibility::NoAriaLabelMisuseCounter 2 %>
81+ < span aria-label ="This is a bad idea "> Some text</ span >
82+ < span aria-label ="This is still a bad idea "> More text</ span >
83+ ERB
84+
85+ @linter . run ( processed_source )
86+ assert_empty @linter . offenses
87+ end
88+
89+ def test_does_not_autocorrect_when_ignores_are_correct
90+ @file = <<~ERB
91+ <%# erblint:counter GitHub::Accessibility::NoAriaLabelMisuseCounter 1 %>
92+ < span aria-label ="This is a bad idea "> Some text</ span >
93+ ERB
94+
95+ assert_equal @file , corrected_content
96+ end
97+
98+ def test_does_autocorrect_when_ignores_are_not_correct
99+ @file = <<~ERB
100+ <%# erblint:counter GitHub::Accessibility::NoAriaLabelMisuseCounter 3 %>
101+ < span aria-label ="This is a bad idea "> Some text</ span >
102+ ERB
103+ refute_equal @file , corrected_content
104+
105+ expected_content = <<~ERB
106+ <%# erblint:counter GitHub::Accessibility::NoAriaLabelMisuseCounter 1 %>
107+ < span aria-label ="This is a bad idea "> Some text</ span >
108+ ERB
109+ assert_equal expected_content , corrected_content
110+ end
77111end
0 commit comments