From 9fefd47801a874d3efdf6cdd18c20d9f5f1ed8c3 Mon Sep 17 00:00:00 2001 From: Ian Ker-Seymer Date: Tue, 15 Sep 2026 13:42:30 -0400 Subject: [PATCH] Align blank-body error tests with strict2 behavior Assisted-By: devx/b8d3b9bd-01a3-41b1-90f8-632318b798e4 --- .../blank_body_error_handling_test.rb | 28 +++++++++---------- test/integration/error_handling_test.rb | 10 ++++--- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/test/integration/blank_body_error_handling_test.rb b/test/integration/blank_body_error_handling_test.rb index c428891e..c395f867 100644 --- a/test/integration/blank_body_error_handling_test.rb +++ b/test/integration/blank_body_error_handling_test.rb @@ -14,60 +14,60 @@ class BlankBodyErrorHandlingTest < Minitest::Test error = assert_raises(Liquid::ArgumentError) do Liquid::Template.parse(source, line_numbers: true, error_mode: error_mode).render!(assigns) end - assert_includes error.message, message if message + assert_includes(error.message, message) if message end def test_blank_if_body_suppresses_inline_error_text_in_lax_and_strict [:lax, :strict].each do |mode| - assert_equal '', render_inline('{% if 5 > "x" %}{% endif %}', error_mode: mode) + assert_equal('', render_inline('{% if 5 > "x" %}{% endif %}', error_mode: mode)) end end def test_blank_unless_body_suppresses_inline_error_text_in_lax_and_strict [:lax, :strict].each do |mode| - assert_equal '', render_inline('{% unless 5 > "x" %} {% endunless %}', error_mode: mode) + assert_equal('', render_inline('{% unless 5 > "x" %} {% endunless %}', error_mode: mode)) end end def test_blank_for_body_suppresses_inline_error_text_in_lax_and_strict [:lax, :strict].each do |mode| - assert_equal '', render_inline('{% for i in (1..3) offset: xs %}{% endfor %}', error_mode: mode, assigns: { 'xs' => 'bad' }) + assert_equal('', render_inline('{% for i in (1..3) offset: xs %}{% endfor %}', error_mode: mode, assigns: { 'xs' => 'bad' })) end end def test_strict2_blank_if_body_shows_inline_error_text - assert_equal COMPARISON_ERROR, render_inline('{% if 5 > "x" %}{% endif %}', error_mode: :strict2) + assert_equal(COMPARISON_ERROR, render_inline('{% if 5 > "x" %}{% endif %}', error_mode: :strict2)) end def test_strict2_whitespace_if_body_shows_inline_error_text - assert_equal COMPARISON_ERROR, render_inline('{% if 5 > "x" %} {% endif %}', error_mode: :strict2) + assert_equal(COMPARISON_ERROR, render_inline('{% if 5 > "x" %} {% endif %}', error_mode: :strict2)) end def test_strict2_assign_if_body_shows_inline_error_text - assert_equal COMPARISON_ERROR, render_inline('{% if 5 > "x" %}{% assign a = 1 %}{% endif %}', error_mode: :strict2) + assert_equal(COMPARISON_ERROR, render_inline('{% if 5 > "x" %}{% assign a = 1 %}{% endif %}', error_mode: :strict2)) end def test_strict2_comment_if_body_shows_inline_error_text - assert_equal COMPARISON_ERROR, render_inline('{% if 5 > "x" %}{% comment %}c{% endcomment %}{% endif %}', error_mode: :strict2) + assert_equal(COMPARISON_ERROR, render_inline('{% if 5 > "x" %}{% comment %}c{% endcomment %}{% endif %}', error_mode: :strict2)) end def test_strict2_capture_if_body_shows_inline_error_text - assert_equal COMPARISON_ERROR, render_inline('{% if 5 > "x" %}{% capture c %}text{% endcapture %}{% endif %}', error_mode: :strict2) + assert_equal(COMPARISON_ERROR, render_inline('{% if 5 > "x" %}{% capture c %}text{% endcapture %}{% endif %}', error_mode: :strict2)) end def test_strict2_blank_unless_body_shows_inline_error_text - assert_equal COMPARISON_ERROR, render_inline('{% unless 5 > "x" %} {% endunless %}', error_mode: :strict2) + assert_equal(COMPARISON_ERROR, render_inline('{% unless 5 > "x" %} {% endunless %}', error_mode: :strict2)) end def test_strict2_blank_for_body_shows_inline_error_text - assert_equal INVALID_INTEGER_ERROR, render_inline('{% for i in (1..3) offset: xs %}{% endfor %}', error_mode: :strict2, assigns: { 'xs' => 'bad' }) + assert_equal(INVALID_INTEGER_ERROR, render_inline('{% for i in (1..3) offset: xs %}{% endfor %}', error_mode: :strict2, assigns: { 'xs' => 'bad' })) end def test_nonblank_bodies_show_inline_error_text_in_all_modes [:lax, :strict, :strict2].each do |mode| - assert_equal COMPARISON_ERROR, render_inline('{% if 5 > "x" %}{% echo 1 %}{% endif %}', error_mode: mode) - assert_equal COMPARISON_ERROR, render_inline('{% if 5 > "x" %}{{ "" }}{% endif %}', error_mode: mode) - assert_equal COMPARISON_ERROR, render_inline('{% if 5 > "x" %}{% else %}E{% endif %}', error_mode: mode) + assert_equal(COMPARISON_ERROR, render_inline('{% if 5 > "x" %}{% echo 1 %}{% endif %}', error_mode: mode)) + assert_equal(COMPARISON_ERROR, render_inline('{% if 5 > "x" %}{{ "" }}{% endif %}', error_mode: mode)) + assert_equal(COMPARISON_ERROR, render_inline('{% if 5 > "x" %}{% else %}E{% endif %}', error_mode: mode)) end end diff --git a/test/integration/error_handling_test.rb b/test/integration/error_handling_test.rb index 0fda83ca..e2e3ed11 100644 --- a/test/integration/error_handling_test.rb +++ b/test/integration/error_handling_test.rb @@ -265,11 +265,13 @@ class ErrorHandlingTest < Minitest::Test end def test_bug_compatible_silencing_of_errors_in_blank_nodes - output = Liquid::Template.parse("{% assign x = 0 %}{% if 1 < '2' %}not blank{% assign x = 3 %}{% endif %}{{ x }}").render - assert_equal("Liquid error: comparison of Integer with String failed0", output) + with_error_modes(:lax, :strict) do + output = Liquid::Template.parse("{% assign x = 0 %}{% if 1 < '2' %}not blank{% assign x = 3 %}{% endif %}{{ x }}").render + assert_equal("Liquid error: comparison of Integer with String failed0", output) - output = Liquid::Template.parse("{% assign x = 0 %}{% if 1 < '2' %}{% assign x = 3 %}{% endif %}{{ x }}").render - assert_equal("0", output) + output = Liquid::Template.parse("{% assign x = 0 %}{% if 1 < '2' %}{% assign x = 3 %}{% endif %}{{ x }}").render + assert_equal("0", output) + end end def test_syntax_error_is_raised_with_template_name