Skip to content

Commit

Permalink
Update utf-8 validity tests to account for liquid checking encoding
Browse files Browse the repository at this point in the history
  • Loading branch information
zachmccormick committed Apr 3, 2024
1 parent 5a786af commit eca8c8d
Showing 1 changed file with 12 additions and 12 deletions.
24 changes: 12 additions & 12 deletions test/unit/variable_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -288,40 +288,40 @@ def test_encoding_error_message_with_multi_byte_characters

def test_invalid_utf8_sequence
# 2 byte character with 1 byte missing
exc = assert_raises(ArgumentError) do
exc = assert_raises(Liquid::TemplateEncodingError) do
variable_strict_parse("\xC0")
end
assert_equal("invalid byte sequence in UTF-8", exc.message)
assert_equal("Liquid error: Invalid template encoding", exc.message)

# 3 byte character with 1 byte missing
exc = assert_raises(ArgumentError) do
exc = assert_raises(Liquid::TemplateEncodingError) do
variable_strict_parse("\xE0\x01")
end
assert_equal("invalid byte sequence in UTF-8", exc.message)
assert_equal("Liquid error: Invalid template encoding", exc.message)

# 3 byte character with 2 byte missing
exc = assert_raises(ArgumentError) do
exc = assert_raises(Liquid::TemplateEncodingError) do
variable_strict_parse("\xE0")
end
assert_equal("invalid byte sequence in UTF-8", exc.message)
assert_equal("Liquid error: Invalid template encoding", exc.message)

# 4 byte character with 1 byte missing
exc = assert_raises(ArgumentError) do
exc = assert_raises(Liquid::TemplateEncodingError) do
variable_strict_parse("\xF0\x01\x01")
end
assert_equal("invalid byte sequence in UTF-8", exc.message)
assert_equal("Liquid error: Invalid template encoding", exc.message)

# 4 byte character with 2 byte missing
exc = assert_raises(ArgumentError) do
exc = assert_raises(Liquid::TemplateEncodingError) do
variable_strict_parse("\xF0\x01")
end
assert_equal("invalid byte sequence in UTF-8", exc.message)
assert_equal("Liquid error: Invalid template encoding", exc.message)

# 4 byte character with 3 byte missing
exc = assert_raises(ArgumentError) do
exc = assert_raises(Liquid::TemplateEncodingError) do
variable_strict_parse("\xF0")
end
assert_equal("invalid byte sequence in UTF-8", exc.message)
assert_equal("Liquid error: Invalid template encoding", exc.message)
end

private
Expand Down

0 comments on commit eca8c8d

Please sign in to comment.