Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ nav_order: 5

## 4.0.0

* BREAKING: Use `Nokogiri::HTML5` instead of `Nokogiri::HTML4` for test helpers.

*Noah Silvera*, *Joel Hawksley*

* BREAKING: Move generators to a ViewComponent namespace.

Before, ViewComponent generators pollute the generator namespace with a bunch of top level items, and claim the generic "component" name.
Expand Down
10 changes: 5 additions & 5 deletions lib/view_component/test_helpers.rb
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,12 @@ def assert_component_rendered
# ```
#
# @param component [ViewComponent::Base, ViewComponent::Collection] The instance of the component to be rendered.
# @return [Nokogiri::HTML]
# @return [Nokogiri::HTML5]
def render_inline(component, **args, &block)
@page = nil
@rendered_content = vc_test_controller.view_context.render(component, args, &block)

Nokogiri::HTML.fragment(@rendered_content)
Nokogiri::HTML5.fragment(@rendered_content)
end

# `JSON.parse`-d component output.
Expand Down Expand Up @@ -82,7 +82,7 @@ def rendered_json
# @param name [String] The name of the preview to be rendered.
# @param from [ViewComponent::Preview] The class of the preview to be rendered.
# @param params [Hash] Parameters to be passed to the preview.
# @return [Nokogiri::HTML]
# @return [Nokogiri::HTML5]
def render_preview(name, from: __vc_test_helpers_preview_class, params: {})
previews_controller = __vc_test_helpers_build_controller(Rails.application.config.view_component.preview_controller.constantize)

Expand All @@ -98,7 +98,7 @@ def render_preview(name, from: __vc_test_helpers_preview_class, params: {})

@rendered_content = result

Nokogiri::HTML.fragment(@rendered_content)
Nokogiri::HTML5.fragment(@rendered_content)
end

# Execute the given block in the view context (using `instance_exec`).
Expand All @@ -115,7 +115,7 @@ def render_preview(name, from: __vc_test_helpers_preview_class, params: {})
def render_in_view_context(*args, &block)
@page = nil
@rendered_content = vc_test_controller.view_context.instance_exec(*args, &block)
Nokogiri::HTML.fragment(@rendered_content)
Nokogiri::HTML5.fragment(@rendered_content)
end
ruby2_keywords(:render_in_view_context) if respond_to?(:ruby2_keywords, true)

Expand Down
4 changes: 2 additions & 2 deletions test/sandbox/test/rendering_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ def test_render_inline_allocations
MyComponent.ensure_compiled

allocations = (Rails.version.to_f >= 8.0) ?
{"3.5.0" => 104, "3.4.1" => 104, "3.3.7" => 108} :
{"3.3.7" => 107, "3.3.0" => 120, "3.2.7" => 105, "3.1.6" => 118, "3.0.7" => 127}
{"3.5.0" => 73, "3.4.2" => 75, "3.3.7" => 76} :
{"3.3.7" => 75, "3.2.7" => 74}

assert_allocations(**allocations) do
render_inline(MyComponent.new)
Expand Down
Loading