diff options
Diffstat (limited to 'community/crystal/disable-specs-using-GB2312-encoding.patch')
-rw-r--r-- | community/crystal/disable-specs-using-GB2312-encoding.patch | 282 |
1 files changed, 0 insertions, 282 deletions
diff --git a/community/crystal/disable-specs-using-GB2312-encoding.patch b/community/crystal/disable-specs-using-GB2312-encoding.patch deleted file mode 100644 index 74d244cca8..0000000000 --- a/community/crystal/disable-specs-using-GB2312-encoding.patch +++ /dev/null @@ -1,282 +0,0 @@ -From 774c93390cfa5af0675b398b308f90cd692b4af6 Mon Sep 17 00:00:00 2001 -From: Jakub Jirutka <jakub@jirutka.cz> -Date: Mon, 26 Mar 2018 02:20:06 +0200 -Subject: [PATCH] Disable specs using GB2312 encoding on musl - -Musl libc does not support GB2312 encoding. - -Fixes #3976 - -Upstream-Issue: https://github.com/crystal-lang/crystal/pull/5867 ---- - spec/std/io/buffered_spec.cr | 19 ++++--- - spec/std/io/io_spec.cr | 133 +++++++++++++++++++++++-------------------- - spec/std/string_spec.cr | 41 ++++++------- - 3 files changed, 104 insertions(+), 89 deletions(-) - -diff --git a/spec/std/io/buffered_spec.cr b/spec/std/io/buffered_spec.cr -index 1e4d4a473f..6e34c994ea 100644 ---- a/spec/std/io/buffered_spec.cr -+++ b/spec/std/io/buffered_spec.cr -@@ -374,15 +374,18 @@ describe "IO::Buffered" do - end - end - -- it "gets big GB2312 string" do -- str = ("你好我是人\n" * 1000).encode("GB2312") -- base_io = IO::Memory.new(str) -- io = BufferedWrapper.new(base_io) -- io.set_encoding("GB2312") -- 1000.times do -- io.gets(chomp: false).should eq("你好我是人\n") -+ # Musl does not support GB2312 encoding. -+ {% unless flag?(:musl) %} -+ it "gets big GB2312 string" do -+ str = ("你好我是人\n" * 1000).encode("GB2312") -+ base_io = IO::Memory.new(str) -+ io = BufferedWrapper.new(base_io) -+ io.set_encoding("GB2312") -+ 1000.times do -+ io.gets(chomp: false).should eq("你好我是人\n") -+ end - end -- end -+ {% end %} - - it "reads char" do - str = "x\nHello world" + ("1234567890" * 1000) -diff --git a/spec/std/io/io_spec.cr b/spec/std/io/io_spec.cr -index 01e829c800..946bfa70ac 100644 ---- a/spec/std/io/io_spec.cr -+++ b/spec/std/io/io_spec.cr -@@ -550,16 +550,19 @@ describe IO do - end - end - -- it "gets big GB2312 string" do -- 2.times do -- str = ("你好我是人\n" * 1000).encode("GB2312") -- io = SimpleIOMemory.new(str) -- io.set_encoding("GB2312") -- 1000.times do -- io.gets.should eq("你好我是人") -+ # Musl does not support GB2312 encoding. -+ {% unless flag?(:musl) %} -+ it "gets big GB2312 string" do -+ 2.times do -+ str = ("你好我是人\n" * 1000).encode("GB2312") -+ io = SimpleIOMemory.new(str) -+ io.set_encoding("GB2312") -+ 1000.times do -+ io.gets.should eq("你好我是人") -+ end - end - end -- end -+ {% end %} - - it "does gets on unicode with char and limit without off-by-one" do - io = SimpleIOMemory.new("test\nabc".encode("UCS-2LE")) -@@ -635,51 +638,54 @@ describe IO do - io.read_utf8_byte.should be_nil - end - -- it "reads utf8" do -- io = IO::Memory.new("你".encode("GB2312")) -- io.set_encoding("GB2312") -+ # Musl does not support GB2312 encoding. -+ {% unless flag?(:musl) %} -+ it "reads utf8" do -+ io = IO::Memory.new("你".encode("GB2312")) -+ io.set_encoding("GB2312") - -- buffer = uninitialized UInt8[1024] -- bytes_read = io.read_utf8(buffer.to_slice) # => 3 -- bytes_read.should eq(3) -- buffer.to_slice[0, bytes_read].to_a.should eq("你".bytes) -- end -+ buffer = uninitialized UInt8[1024] -+ bytes_read = io.read_utf8(buffer.to_slice) # => 3 -+ bytes_read.should eq(3) -+ buffer.to_slice[0, bytes_read].to_a.should eq("你".bytes) -+ end - -- it "raises on incomplete byte sequence" do -- io = SimpleIOMemory.new("好".byte_slice(0, 1)) -- io.set_encoding("GB2312") -- expect_raises ArgumentError, "Incomplete multibyte sequence" do -- io.read_char -+ it "raises on incomplete byte sequence" do -+ io = SimpleIOMemory.new("好".byte_slice(0, 1)) -+ io.set_encoding("GB2312") -+ expect_raises ArgumentError, "Incomplete multibyte sequence" do -+ io.read_char -+ end - end -- end - -- it "says invalid byte sequence" do -- io = SimpleIOMemory.new(Slice.new(1, 140_u8)) -- io.set_encoding("GB2312") -- expect_raises ArgumentError, "Invalid multibyte sequence" do -- io.read_char -+ it "says invalid byte sequence" do -+ io = SimpleIOMemory.new(Slice.new(1, 140_u8)) -+ io.set_encoding("GB2312") -+ expect_raises ArgumentError, "Invalid multibyte sequence" do -+ io.read_char -+ end - end -- end - -- it "skips invalid byte sequences" do -- string = String.build do |str| -- str.write "好".encode("GB2312") -- str.write_byte 140_u8 -- str.write "是".encode("GB2312") -+ it "skips invalid byte sequences" do -+ string = String.build do |str| -+ str.write "好".encode("GB2312") -+ str.write_byte 140_u8 -+ str.write "是".encode("GB2312") -+ end -+ io = SimpleIOMemory.new(string) -+ io.set_encoding("GB2312", invalid: :skip) -+ io.read_char.should eq('好') -+ io.read_char.should eq('是') -+ io.read_char.should be_nil - end -- io = SimpleIOMemory.new(string) -- io.set_encoding("GB2312", invalid: :skip) -- io.read_char.should eq('好') -- io.read_char.should eq('是') -- io.read_char.should be_nil -- end - -- it "says invalid 'invalid' option" do -- io = SimpleIOMemory.new -- expect_raises ArgumentError, "Valid values for `invalid` option are `nil` and `:skip`, not :foo" do -- io.set_encoding("GB2312", invalid: :foo) -+ it "says invalid 'invalid' option" do -+ io = SimpleIOMemory.new -+ expect_raises ArgumentError, "Valid values for `invalid` option are `nil` and `:skip`, not :foo" do -+ io.set_encoding("GB2312", invalid: :foo) -+ end - end -- end -+ {% end %} - - it "says invalid encoding" do - io = SimpleIOMemory.new("foo") -@@ -803,28 +809,31 @@ describe IO do - slice.should eq("hi-123-45.67".encode("UCS-2LE")) - end - -- it "raises on invalid byte sequence" do -- io = SimpleIOMemory.new -- io.set_encoding("GB2312") -- expect_raises ArgumentError, "Invalid multibyte sequence" do -- io.print "ñ" -+ # Musl does not support GB2312 encoding. -+ {% unless flag?(:musl) %} -+ it "raises on invalid byte sequence" do -+ io = SimpleIOMemory.new -+ io.set_encoding("GB2312") -+ expect_raises ArgumentError, "Invalid multibyte sequence" do -+ io.print "ñ" -+ end - end -- end - -- it "skips on invalid byte sequence" do -- io = SimpleIOMemory.new -- io.set_encoding("GB2312", invalid: :skip) -- io.print "ñ" -- io.print "foo" -- end -+ it "skips on invalid byte sequence" do -+ io = SimpleIOMemory.new -+ io.set_encoding("GB2312", invalid: :skip) -+ io.print "ñ" -+ io.print "foo" -+ end - -- it "raises on incomplete byte sequence" do -- io = SimpleIOMemory.new -- io.set_encoding("GB2312") -- expect_raises ArgumentError, "Incomplete multibyte sequence" do -- io.print "好".byte_slice(0, 1) -+ it "raises on incomplete byte sequence" do -+ io = SimpleIOMemory.new -+ io.set_encoding("GB2312") -+ expect_raises ArgumentError, "Incomplete multibyte sequence" do -+ io.print "好".byte_slice(0, 1) -+ end - end -- end -+ {% end %} - - it "says invalid encoding" do - io = SimpleIOMemory.new -diff --git a/spec/std/string_spec.cr b/spec/std/string_spec.cr -index 6fbdebc7d0..761398fb8f 100644 ---- a/spec/std/string_spec.cr -+++ b/spec/std/string_spec.cr -@@ -2285,35 +2285,38 @@ describe "String" do - end - end - -- it "raises if illegal byte sequence" do -- expect_raises ArgumentError, "Invalid multibyte sequence" do -- "ñ".encode("GB2312") -+ # Musl does not support GB2312 encoding. -+ {% unless flag?(:musl) %} -+ it "raises if illegal byte sequence" do -+ expect_raises ArgumentError, "Invalid multibyte sequence" do -+ "ñ".encode("GB2312") -+ end - end -- end - -- it "doesn't raise on invalid byte sequence" do -- "好ñ是".encode("GB2312", invalid: :skip).to_a.should eq([186, 195, 202, 199]) -- end -+ it "doesn't raise on invalid byte sequence" do -+ "好ñ是".encode("GB2312", invalid: :skip).to_a.should eq([186, 195, 202, 199]) -+ end - -- it "raises if incomplete byte sequence" do -- expect_raises ArgumentError, "Incomplete multibyte sequence" do -- "好".byte_slice(0, 1).encode("GB2312") -+ it "raises if incomplete byte sequence" do -+ expect_raises ArgumentError, "Incomplete multibyte sequence" do -+ "好".byte_slice(0, 1).encode("GB2312") -+ end - end -- end - -- it "doesn't raise if incomplete byte sequence" do -- ("好".byte_slice(0, 1) + "是").encode("GB2312", invalid: :skip).to_a.should eq([202, 199]) -- end -+ it "doesn't raise if incomplete byte sequence" do -+ ("好".byte_slice(0, 1) + "是").encode("GB2312", invalid: :skip).to_a.should eq([202, 199]) -+ end -+ -+ it "decodes with skip" do -+ bytes = Bytes[186, 195, 140, 202, 199] -+ String.new(bytes, "GB2312", invalid: :skip).should eq("好是") -+ end -+ {% end %} - - it "decodes" do - bytes = "Hello".encode("UTF-16LE") - String.new(bytes, "UTF-16LE").should eq("Hello") - end -- -- it "decodes with skip" do -- bytes = Bytes[186, 195, 140, 202, 199] -- String.new(bytes, "GB2312", invalid: :skip).should eq("好是") -- end - end - - it "inserts" do |