Skip to content

Commit

Permalink
Exclude truffleruby from inclomplete character tests
Browse files Browse the repository at this point in the history
  • Loading branch information
janlelis committed Oct 2, 2023
1 parent 4c19eb9 commit b6b3227
Showing 1 changed file with 35 additions and 32 deletions.
67 changes: 35 additions & 32 deletions spec/unibits_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -213,20 +213,21 @@
end

describe "invalid UTF-16 encodings" do
it "- incomplete number of bytes (1/2)" do
string = "a".b.force_encoding("UTF-16LE")
result = Paint.unpaint(Unibits.visualize(string))
result.must_match "incompl."
result.must_match "�"
unless RUBY_ENGINE === "truffleruby"
it "- incomplete number of bytes (1/2)" do
string = "a".b.force_encoding("UTF-16LE")
result = Paint.unpaint(Unibits.visualize(string))
result.must_match "incompl."
result.must_match "�"
end

it "- incomplete number of bytes (2/2)" do
string = "🌫".b[0..-2].force_encoding("UTF-16LE")
result = Paint.unpaint(Unibits.visualize(string))
result.must_match "incompl."
result.must_match "�"
end
end

it "- incomplete number of bytes (2/2)" do
string = "🌫".b[0..-2].force_encoding("UTF-16LE")
result = Paint.unpaint(Unibits.visualize(string))
result.must_match "incompl."
result.must_match "�"
end

it "- only lower half surrogate" do
string = "\x3C\xD8\x2Ba".force_encoding("UTF-16LE")
result = Paint.unpaint(Unibits.visualize(string))
Expand All @@ -245,25 +246,27 @@
describe "invalid UTF-32 encodings" do
# please note, currently, too large codepoints and encoded utf16 surrogates are treated as valid encodings

it "- incomplete number of bytes (1/3)" do
string = "a".b.force_encoding("UTF-32LE")
result = Paint.unpaint(Unibits.visualize(string))
result.must_match "incompl."
result.must_match "�"
end

it "- incomplete number of bytes (2/3)" do
string = "🌫".b[0..-2].force_encoding("UTF-32LE")
result = Paint.unpaint(Unibits.visualize(string))
result.must_match "incompl."
result.must_match "�"
end

it "- incomplete number of bytes (3/3)" do
string = "🌫".b[0..-2].force_encoding("UTF-32LE")
result = Paint.unpaint(Unibits.visualize(string))
result.must_match "incompl."
result.must_match "�"
unless RUBY_ENGINE === "truffleruby"
it "- incomplete number of bytes (1/3)" do
string = "a".b.force_encoding("UTF-32LE")
result = Paint.unpaint(Unibits.visualize(string))
result.must_match "incompl."
result.must_match "�"
end

it "- incomplete number of bytes (2/3)" do
string = "🌫".b[0..-2].force_encoding("UTF-32LE")
result = Paint.unpaint(Unibits.visualize(string))
result.must_match "incompl."
result.must_match "�"
end

it "- incomplete number of bytes (3/3)" do
string = "🌫".b[0..-2].force_encoding("UTF-32LE")
result = Paint.unpaint(Unibits.visualize(string))
result.must_match "incompl."
result.must_match "�"
end
end

it "- too large codepoint (1/2)" do
Expand Down

0 comments on commit b6b3227

Please sign in to comment.