From 76386f7a8216101d452d44a6bf8c09ee865e166e Mon Sep 17 00:00:00 2001 From: Jeremiah Date: Mon, 9 Aug 2021 12:15:37 -0500 Subject: [PATCH 1/4] Add missing form helpers --- .../linters/require_input_autocomplete.rb | 12 ++++++ .../require_input_autocomplete_spec.rb | 40 ++++++++++++------- 2 files changed, 37 insertions(+), 15 deletions(-) diff --git a/lib/erb_lint/linters/require_input_autocomplete.rb b/lib/erb_lint/linters/require_input_autocomplete.rb index f53c33c3..02788020 100644 --- a/lib/erb_lint/linters/require_input_autocomplete.rb +++ b/lib/erb_lint/linters/require_input_autocomplete.rb @@ -27,18 +27,30 @@ class RequireInputAutocomplete < Linter FORM_HELPERS_REQUIRING_AUTOCOMPLETE = [ :date_field_tag, + :date_field, :color_field_tag, + :color_field, :email_field_tag, + :email_field, :text_field_tag, + :text_field, :utf8_enforcer_tag, :month_field_tag, + :month_field, :number_field_tag, + :number_field, :password_field_tag, + :password_field, :search_field_tag, + :search_field, :telephone_field_tag, + :telephone_field, :time_field_tag, + :time_field, :url_field_tag, + :url_field, :week_field_tag, + :week_field, ].freeze def run(processed_source) diff --git a/spec/erb_lint/linters/require_input_autocomplete_spec.rb b/spec/erb_lint/linters/require_input_autocomplete_spec.rb index 74f886a8..61398d86 100644 --- a/spec/erb_lint/linters/require_input_autocomplete_spec.rb +++ b/spec/erb_lint/linters/require_input_autocomplete_spec.rb @@ -14,18 +14,30 @@ let(:form_helpers_requiring_autocomplete) do [ :date_field_tag, + :date_field, :color_field_tag, + :color_field, :email_field_tag, + :email_field, :text_field_tag, + :text_field, :utf8_enforcer_tag, :month_field_tag, + :month_field, :number_field_tag, + :number_field, :password_field_tag, + :password_field, :search_field_tag, + :search_field, :telephone_field_tag, + :telephone_field, :time_field_tag, + :time_field, :url_field_tag, + :url_field, :week_field_tag, + :week_field, ].freeze end let(:html_message) do @@ -84,21 +96,19 @@ FILE it do - expect(subject).to(eq([ - build_offense(7..30, form_helper_message), - build_offense(31..55, form_helper_message), - build_offense(56..80, form_helper_message), - build_offense(81..104, form_helper_message), - build_offense(105..131, form_helper_message), - build_offense(132..156, form_helper_message), - build_offense(157..182, form_helper_message), - build_offense(183..210, form_helper_message), - build_offense(211..236, form_helper_message), - build_offense(237..265, form_helper_message), - build_offense(266..289, form_helper_message), - build_offense(290..312, form_helper_message), - build_offense(313..336, form_helper_message), - ])) + form_helpers_requiring_autocomplete.each do |helper| + tag = "<%= #{helper} do %>" + index = processed_source.file_content.index(tag) + + expect(subject).to( + include( + build_offense( + Range.new(index, index + tag.length - 1), + form_helper_message + ) + ) + ) + end end end end From 6977e7d0b650c99508facedee294691b903a954f Mon Sep 17 00:00:00 2001 From: Jeremiah Date: Mon, 9 Aug 2021 12:16:46 -0500 Subject: [PATCH 2/4] Remove unclosed blocks --- spec/erb_lint/linters/require_input_autocomplete_spec.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/erb_lint/linters/require_input_autocomplete_spec.rb b/spec/erb_lint/linters/require_input_autocomplete_spec.rb index 61398d86..e9a3c370 100644 --- a/spec/erb_lint/linters/require_input_autocomplete_spec.rb +++ b/spec/erb_lint/linters/require_input_autocomplete_spec.rb @@ -77,7 +77,7 @@
#{ form_helpers_requiring_autocomplete.inject("") do |s, helper| - s + "<%= " + helper.to_s + ' autocomplete: "foo" do %>' + s + "<%= " + helper.to_s + ' autocomplete: "foo" %>' end } FILE @@ -90,14 +90,14 @@
#{ form_helpers_requiring_autocomplete.inject("") do |s, helper| - s + "<%= " + helper.to_s + " do %>" + s + "<%= " + helper.to_s + " %>" end } FILE it do form_helpers_requiring_autocomplete.each do |helper| - tag = "<%= #{helper} do %>" + tag = "<%= #{helper} %>" index = processed_source.file_content.index(tag) expect(subject).to( From bf12c8c84a4bb40e6eaaa69925bb9f1863ef0124 Mon Sep 17 00:00:00 2001 From: Jeremiah Date: Mon, 9 Aug 2021 12:17:20 -0500 Subject: [PATCH 3/4] Add `phone_field` alias --- lib/erb_lint/linters/require_input_autocomplete.rb | 2 ++ spec/erb_lint/linters/require_input_autocomplete_spec.rb | 2 ++ 2 files changed, 4 insertions(+) diff --git a/lib/erb_lint/linters/require_input_autocomplete.rb b/lib/erb_lint/linters/require_input_autocomplete.rb index 02788020..47d9931d 100644 --- a/lib/erb_lint/linters/require_input_autocomplete.rb +++ b/lib/erb_lint/linters/require_input_autocomplete.rb @@ -45,6 +45,8 @@ class RequireInputAutocomplete < Linter :search_field, :telephone_field_tag, :telephone_field, + :phone_field_tag, + :phone_field, :time_field_tag, :time_field, :url_field_tag, diff --git a/spec/erb_lint/linters/require_input_autocomplete_spec.rb b/spec/erb_lint/linters/require_input_autocomplete_spec.rb index e9a3c370..a25389e5 100644 --- a/spec/erb_lint/linters/require_input_autocomplete_spec.rb +++ b/spec/erb_lint/linters/require_input_autocomplete_spec.rb @@ -32,6 +32,8 @@ :search_field, :telephone_field_tag, :telephone_field, + :phone_field_tag, + :phone_field, :time_field_tag, :time_field, :url_field_tag, From cc120b4f74e73179a979b7aa2935ca441e8e83fb Mon Sep 17 00:00:00 2001 From: Jeremiah Date: Mon, 9 Aug 2021 12:17:57 -0500 Subject: [PATCH 4/4] Don't require `autocomplete` for hidden UTF-8 enforcer field --- lib/erb_lint/linters/require_input_autocomplete.rb | 1 - spec/erb_lint/linters/require_input_autocomplete_spec.rb | 1 - 2 files changed, 2 deletions(-) diff --git a/lib/erb_lint/linters/require_input_autocomplete.rb b/lib/erb_lint/linters/require_input_autocomplete.rb index 47d9931d..6e7e45b7 100644 --- a/lib/erb_lint/linters/require_input_autocomplete.rb +++ b/lib/erb_lint/linters/require_input_autocomplete.rb @@ -34,7 +34,6 @@ class RequireInputAutocomplete < Linter :email_field, :text_field_tag, :text_field, - :utf8_enforcer_tag, :month_field_tag, :month_field, :number_field_tag, diff --git a/spec/erb_lint/linters/require_input_autocomplete_spec.rb b/spec/erb_lint/linters/require_input_autocomplete_spec.rb index a25389e5..a895659e 100644 --- a/spec/erb_lint/linters/require_input_autocomplete_spec.rb +++ b/spec/erb_lint/linters/require_input_autocomplete_spec.rb @@ -21,7 +21,6 @@ :email_field, :text_field_tag, :text_field, - :utf8_enforcer_tag, :month_field_tag, :month_field, :number_field_tag,