diff --git a/test/sandbox/app/components/form_component.html.erb b/test/sandbox/app/components/form_component.html.erb
new file mode 100644
index 000000000..ebd7a7da1
--- /dev/null
+++ b/test/sandbox/app/components/form_component.html.erb
@@ -0,0 +1 @@
+<%= form_tag do %><% end %>
diff --git a/test/sandbox/app/components/form_component.rb b/test/sandbox/app/components/form_component.rb
new file mode 100644
index 000000000..7126a5ccf
--- /dev/null
+++ b/test/sandbox/app/components/form_component.rb
@@ -0,0 +1,4 @@
+# frozen_string_literal: true
+
+class FormComponent < ViewComponent::Base
+end
diff --git a/test/sandbox/app/helpers/form_helper.rb b/test/sandbox/app/helpers/form_helper.rb
new file mode 100644
index 000000000..36a1801c8
--- /dev/null
+++ b/test/sandbox/app/helpers/form_helper.rb
@@ -0,0 +1,10 @@
+# frozen_string_literal: true
+
+module FormHelper
+ def form_tag_html(options = {})
+ safe_join [
+ "Hello, World!".html_safe,
+ super(options),
+ ]
+ end
+end
diff --git a/test/sandbox/app/views/integration_examples/form_helper.erb b/test/sandbox/app/views/integration_examples/form_helper.erb
new file mode 100644
index 000000000..57c01de17
--- /dev/null
+++ b/test/sandbox/app/views/integration_examples/form_helper.erb
@@ -0,0 +1 @@
+<%= render FormComponent.new %>
diff --git a/test/sandbox/config/routes.rb b/test/sandbox/config/routes.rb
index d43590bd0..2774a1633 100644
--- a/test/sandbox/config/routes.rb
+++ b/test/sandbox/config/routes.rb
@@ -20,4 +20,5 @@
get :render_component, to: "integration_examples#render_component"
get :controller_inline_render_component, to: "integration_examples#controller_inline_render_component"
get :controller_to_string_render_component, to: "integration_examples#controller_to_string_render_component"
+ get :form_helper, to: "integration_examples#form_helper"
end
diff --git a/test/view_component/integration_test.rb b/test/view_component/integration_test.rb
index 7e4e10b8f..7d3cfca45 100644
--- a/test/view_component/integration_test.rb
+++ b/test/view_component/integration_test.rb
@@ -583,4 +583,13 @@ def test_sets_the_compiler_mode_in_development_mode
assert_equal ViewComponent::Compiler::DEVELOPMENT_MODE, ViewComponent::Compiler.mode
end
end
+
+ def test_uses_form_helper_methods
+ get "/form_helper"
+
+ # The FormHelper module overrides form_tag_html to add this HTML
+ # fragment, so it should get included when form_tag is called
+ # from a ViewComponent.
+ assert_includes response.body, "Hello, World!"
+ end
end