summaryrefslogtreecommitdiff
path: root/spec/ruby/core/encoding/compatible_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/encoding/compatible_spec.rb')
-rw-r--r--spec/ruby/core/encoding/compatible_spec.rb634
1 files changed, 324 insertions, 310 deletions
diff --git a/spec/ruby/core/encoding/compatible_spec.rb b/spec/ruby/core/encoding/compatible_spec.rb
index d5b958ea0b..0d620e5bf3 100644
--- a/spec/ruby/core/encoding/compatible_spec.rb
+++ b/spec/ruby/core/encoding/compatible_spec.rb
@@ -1,4 +1,4 @@
-# -*- encoding: binary -*-
+# encoding: binary
require_relative '../../spec_helper'
@@ -55,7 +55,7 @@ describe "Encoding.compatible? String, String" do
it "returns nil if the second's Encoding is not ASCII compatible" do
a = "abc".dup.force_encoding("UTF-8")
b = "1234".dup.force_encoding("UTF-16LE")
- Encoding.compatible?(a, b).should be_nil
+ Encoding.compatible?(a, b).should == nil
end
end
@@ -69,7 +69,7 @@ describe "Encoding.compatible? String, String" do
end
it "returns nil if the second encoding is ASCII compatible but neither String's encoding is ASCII only" do
- Encoding.compatible?("\xff", "\u3042".encode("utf-8")).should be_nil
+ Encoding.compatible?("\xff", "\u3042".encode("utf-8")).should == nil
end
end
@@ -79,15 +79,15 @@ describe "Encoding.compatible? String, String" do
end
it "returns nil when the second String is US-ASCII" do
- Encoding.compatible?(@str, "def".encode("us-ascii")).should be_nil
+ Encoding.compatible?(@str, "def".encode("us-ascii")).should == nil
end
it "returns nil when the second String is BINARY and ASCII only" do
- Encoding.compatible?(@str, "\x7f").should be_nil
+ Encoding.compatible?(@str, "\x7f").should == nil
end
it "returns nil when the second String is BINARY but not ASCII only" do
- Encoding.compatible?(@str, "\xff").should be_nil
+ Encoding.compatible?(@str, "\xff").should == nil
end
it "returns the Encoding when the second's Encoding is not ASCII compatible but the same as the first's Encoding" do
@@ -110,15 +110,15 @@ describe "Encoding.compatible? String, String" do
end
it "returns nil when the second's Encoding is BINARY but not ASCII only" do
- Encoding.compatible?(@str, "\xff").should be_nil
+ Encoding.compatible?(@str, "\xff").should == nil
end
it "returns nil when the second's Encoding is invalid and ASCII only" do
- Encoding.compatible?(@str, "\x7f".dup.force_encoding("utf-16be")).should be_nil
+ Encoding.compatible?(@str, "\x7f\x7f".dup.force_encoding("utf-16be")).should == nil
end
it "returns nil when the second's Encoding is invalid and not ASCII only" do
- Encoding.compatible?(@str, "\xff".dup.force_encoding("utf-16be")).should be_nil
+ Encoding.compatible?(@str, "\xff\xff".dup.force_encoding("utf-16be")).should == nil
end
it "returns the Encoding when the second's Encoding is invalid but the same as the first" do
@@ -171,7 +171,7 @@ describe "Encoding.compatible? String, String" do
# Use the following script to regenerate the matrix:
#
# ```
-# # -*- encoding: binary -*-
+# # encoding: binary
#
# ENCODINGS = [
# "US-ASCII",
@@ -186,8 +186,8 @@ describe "Encoding.compatible? String, String" do
#
# VALUES = {
# empty: "",
-# :"7bits" => "\x01",
-# non7bits: "\x81"
+# :"7bits" => "\x01\x01",
+# non7bits: "\x01\x81"
# }
#
# ENCODINGS.product(TYPES, ENCODINGS, TYPES).each do |encoding1, type1, encoding2, type2|
@@ -202,329 +202,329 @@ describe "Encoding.compatible? String, String" do
matrix = [
["US-ASCII", "", "US-ASCII", "", "US-ASCII"],
- ["US-ASCII", "", "US-ASCII", "\x01", "US-ASCII"],
- ["US-ASCII", "", "US-ASCII", "\x81", "US-ASCII"],
+ ["US-ASCII", "", "US-ASCII", "\x01\x01", "US-ASCII"],
+ ["US-ASCII", "", "US-ASCII", "\x01\x81", "US-ASCII"],
["US-ASCII", "", "UTF-8", "", "US-ASCII"],
- ["US-ASCII", "", "UTF-8", "\u0001", "US-ASCII"],
- ["US-ASCII", "", "UTF-8", "\x81", "UTF-8"],
+ ["US-ASCII", "", "UTF-8", "\u0001\u0001", "US-ASCII"],
+ ["US-ASCII", "", "UTF-8", "\u0001\x81", "UTF-8"],
["US-ASCII", "", "ASCII-8BIT", "", "US-ASCII"],
- ["US-ASCII", "", "ASCII-8BIT", "\x01", "US-ASCII"],
- ["US-ASCII", "", "ASCII-8BIT", "\x81", "ASCII-8BIT"],
+ ["US-ASCII", "", "ASCII-8BIT", "\x01\x01", "US-ASCII"],
+ ["US-ASCII", "", "ASCII-8BIT", "\x01\x81", "ASCII-8BIT"],
["US-ASCII", "", "ISO-8859-1", "", "US-ASCII"],
- ["US-ASCII", "", "ISO-8859-1", "\x01", "US-ASCII"],
- ["US-ASCII", "", "ISO-8859-1", "\x81", "ISO-8859-1"],
+ ["US-ASCII", "", "ISO-8859-1", "\x01\x01", "US-ASCII"],
+ ["US-ASCII", "", "ISO-8859-1", "\x01\x81", "ISO-8859-1"],
["US-ASCII", "", "UTF-16BE", "", "US-ASCII"],
- ["US-ASCII", "", "UTF-16BE", "\x01", "UTF-16BE"],
- ["US-ASCII", "", "UTF-16BE", "\x81", "UTF-16BE"],
+ ["US-ASCII", "", "UTF-16BE", "\u0101", "UTF-16BE"],
+ ["US-ASCII", "", "UTF-16BE", "\u0181", "UTF-16BE"],
["US-ASCII", "", "ISO-2022-JP", "", "US-ASCII"],
- ["US-ASCII", "", "ISO-2022-JP", "\x01", "ISO-2022-JP"],
- ["US-ASCII", "", "ISO-2022-JP", "\x81", "ISO-2022-JP"],
- ["US-ASCII", "\x01", "US-ASCII", "", "US-ASCII"],
- ["US-ASCII", "\x01", "US-ASCII", "\x01", "US-ASCII"],
- ["US-ASCII", "\x01", "US-ASCII", "\x81", "US-ASCII"],
- ["US-ASCII", "\x01", "UTF-8", "", "US-ASCII"],
- ["US-ASCII", "\x01", "UTF-8", "\u0001", "US-ASCII"],
- ["US-ASCII", "\x01", "UTF-8", "\x81", "UTF-8"],
- ["US-ASCII", "\x01", "ASCII-8BIT", "", "US-ASCII"],
- ["US-ASCII", "\x01", "ASCII-8BIT", "\x01", "US-ASCII"],
- ["US-ASCII", "\x01", "ASCII-8BIT", "\x81", "ASCII-8BIT"],
- ["US-ASCII", "\x01", "ISO-8859-1", "", "US-ASCII"],
- ["US-ASCII", "\x01", "ISO-8859-1", "\x01", "US-ASCII"],
- ["US-ASCII", "\x01", "ISO-8859-1", "\x81", "ISO-8859-1"],
- ["US-ASCII", "\x01", "UTF-16BE", "", "US-ASCII"],
- ["US-ASCII", "\x01", "UTF-16BE", "\x01", nil],
- ["US-ASCII", "\x01", "UTF-16BE", "\x81", nil],
- ["US-ASCII", "\x01", "ISO-2022-JP", "", "US-ASCII"],
- ["US-ASCII", "\x01", "ISO-2022-JP", "\x01", nil],
- ["US-ASCII", "\x01", "ISO-2022-JP", "\x81", nil],
- ["US-ASCII", "\x81", "US-ASCII", "", "US-ASCII"],
- ["US-ASCII", "\x81", "US-ASCII", "\x01", "US-ASCII"],
- ["US-ASCII", "\x81", "US-ASCII", "\x81", "US-ASCII"],
- ["US-ASCII", "\x81", "UTF-8", "", "US-ASCII"],
- ["US-ASCII", "\x81", "UTF-8", "\u0001", "US-ASCII"],
- ["US-ASCII", "\x81", "UTF-8", "\x81", nil],
- ["US-ASCII", "\x81", "ASCII-8BIT", "", "US-ASCII"],
- ["US-ASCII", "\x81", "ASCII-8BIT", "\x01", "US-ASCII"],
- ["US-ASCII", "\x81", "ASCII-8BIT", "\x81", nil],
- ["US-ASCII", "\x81", "ISO-8859-1", "", "US-ASCII"],
- ["US-ASCII", "\x81", "ISO-8859-1", "\x01", "US-ASCII"],
- ["US-ASCII", "\x81", "ISO-8859-1", "\x81", nil],
- ["US-ASCII", "\x81", "UTF-16BE", "", "US-ASCII"],
- ["US-ASCII", "\x81", "UTF-16BE", "\x01", nil],
- ["US-ASCII", "\x81", "UTF-16BE", "\x81", nil],
- ["US-ASCII", "\x81", "ISO-2022-JP", "", "US-ASCII"],
- ["US-ASCII", "\x81", "ISO-2022-JP", "\x01", nil],
- ["US-ASCII", "\x81", "ISO-2022-JP", "\x81", nil],
+ ["US-ASCII", "", "ISO-2022-JP", "\x01\x01", "ISO-2022-JP"],
+ ["US-ASCII", "", "ISO-2022-JP", "\x01\x81", "ISO-2022-JP"],
+ ["US-ASCII", "\x01\x01", "US-ASCII", "", "US-ASCII"],
+ ["US-ASCII", "\x01\x01", "US-ASCII", "\x01\x01", "US-ASCII"],
+ ["US-ASCII", "\x01\x01", "US-ASCII", "\x01\x81", "US-ASCII"],
+ ["US-ASCII", "\x01\x01", "UTF-8", "", "US-ASCII"],
+ ["US-ASCII", "\x01\x01", "UTF-8", "\u0001\u0001", "US-ASCII"],
+ ["US-ASCII", "\x01\x01", "UTF-8", "\u0001\x81", "UTF-8"],
+ ["US-ASCII", "\x01\x01", "ASCII-8BIT", "", "US-ASCII"],
+ ["US-ASCII", "\x01\x01", "ASCII-8BIT", "\x01\x01", "US-ASCII"],
+ ["US-ASCII", "\x01\x01", "ASCII-8BIT", "\x01\x81", "ASCII-8BIT"],
+ ["US-ASCII", "\x01\x01", "ISO-8859-1", "", "US-ASCII"],
+ ["US-ASCII", "\x01\x01", "ISO-8859-1", "\x01\x01", "US-ASCII"],
+ ["US-ASCII", "\x01\x01", "ISO-8859-1", "\x01\x81", "ISO-8859-1"],
+ ["US-ASCII", "\x01\x01", "UTF-16BE", "", "US-ASCII"],
+ ["US-ASCII", "\x01\x01", "UTF-16BE", "\u0101", nil],
+ ["US-ASCII", "\x01\x01", "UTF-16BE", "\u0181", nil],
+ ["US-ASCII", "\x01\x01", "ISO-2022-JP", "", "US-ASCII"],
+ ["US-ASCII", "\x01\x01", "ISO-2022-JP", "\x01\x01", nil],
+ ["US-ASCII", "\x01\x01", "ISO-2022-JP", "\x01\x81", nil],
+ ["US-ASCII", "\x01\x81", "US-ASCII", "", "US-ASCII"],
+ ["US-ASCII", "\x01\x81", "US-ASCII", "\x01\x01", "US-ASCII"],
+ ["US-ASCII", "\x01\x81", "US-ASCII", "\x01\x81", "US-ASCII"],
+ ["US-ASCII", "\x01\x81", "UTF-8", "", "US-ASCII"],
+ ["US-ASCII", "\x01\x81", "UTF-8", "\u0001\u0001", "US-ASCII"],
+ ["US-ASCII", "\x01\x81", "UTF-8", "\u0001\x81", nil],
+ ["US-ASCII", "\x01\x81", "ASCII-8BIT", "", "US-ASCII"],
+ ["US-ASCII", "\x01\x81", "ASCII-8BIT", "\x01\x01", "US-ASCII"],
+ ["US-ASCII", "\x01\x81", "ASCII-8BIT", "\x01\x81", nil],
+ ["US-ASCII", "\x01\x81", "ISO-8859-1", "", "US-ASCII"],
+ ["US-ASCII", "\x01\x81", "ISO-8859-1", "\x01\x01", "US-ASCII"],
+ ["US-ASCII", "\x01\x81", "ISO-8859-1", "\x01\x81", nil],
+ ["US-ASCII", "\x01\x81", "UTF-16BE", "", "US-ASCII"],
+ ["US-ASCII", "\x01\x81", "UTF-16BE", "\u0101", nil],
+ ["US-ASCII", "\x01\x81", "UTF-16BE", "\u0181", nil],
+ ["US-ASCII", "\x01\x81", "ISO-2022-JP", "", "US-ASCII"],
+ ["US-ASCII", "\x01\x81", "ISO-2022-JP", "\x01\x01", nil],
+ ["US-ASCII", "\x01\x81", "ISO-2022-JP", "\x01\x81", nil],
["UTF-8", "", "US-ASCII", "", "UTF-8"],
- ["UTF-8", "", "US-ASCII", "\x01", "UTF-8"],
- ["UTF-8", "", "US-ASCII", "\x81", "US-ASCII"],
+ ["UTF-8", "", "US-ASCII", "\x01\x01", "UTF-8"],
+ ["UTF-8", "", "US-ASCII", "\x01\x81", "US-ASCII"],
["UTF-8", "", "UTF-8", "", "UTF-8"],
- ["UTF-8", "", "UTF-8", "\u0001", "UTF-8"],
- ["UTF-8", "", "UTF-8", "\x81", "UTF-8"],
+ ["UTF-8", "", "UTF-8", "\u0001\u0001", "UTF-8"],
+ ["UTF-8", "", "UTF-8", "\u0001\x81", "UTF-8"],
["UTF-8", "", "ASCII-8BIT", "", "UTF-8"],
- ["UTF-8", "", "ASCII-8BIT", "\x01", "UTF-8"],
- ["UTF-8", "", "ASCII-8BIT", "\x81", "ASCII-8BIT"],
+ ["UTF-8", "", "ASCII-8BIT", "\x01\x01", "UTF-8"],
+ ["UTF-8", "", "ASCII-8BIT", "\x01\x81", "ASCII-8BIT"],
["UTF-8", "", "ISO-8859-1", "", "UTF-8"],
- ["UTF-8", "", "ISO-8859-1", "\x01", "UTF-8"],
- ["UTF-8", "", "ISO-8859-1", "\x81", "ISO-8859-1"],
+ ["UTF-8", "", "ISO-8859-1", "\x01\x01", "UTF-8"],
+ ["UTF-8", "", "ISO-8859-1", "\x01\x81", "ISO-8859-1"],
["UTF-8", "", "UTF-16BE", "", "UTF-8"],
- ["UTF-8", "", "UTF-16BE", "\x01", "UTF-16BE"],
- ["UTF-8", "", "UTF-16BE", "\x81", "UTF-16BE"],
+ ["UTF-8", "", "UTF-16BE", "\u0101", "UTF-16BE"],
+ ["UTF-8", "", "UTF-16BE", "\u0181", "UTF-16BE"],
["UTF-8", "", "ISO-2022-JP", "", "UTF-8"],
- ["UTF-8", "", "ISO-2022-JP", "\x01", "ISO-2022-JP"],
- ["UTF-8", "", "ISO-2022-JP", "\x81", "ISO-2022-JP"],
- ["UTF-8", "\u0001", "US-ASCII", "", "UTF-8"],
- ["UTF-8", "\u0001", "US-ASCII", "\x01", "UTF-8"],
- ["UTF-8", "\u0001", "US-ASCII", "\x81", "US-ASCII"],
- ["UTF-8", "\u0001", "UTF-8", "", "UTF-8"],
- ["UTF-8", "\u0001", "UTF-8", "\u0001", "UTF-8"],
- ["UTF-8", "\u0001", "UTF-8", "\x81", "UTF-8"],
- ["UTF-8", "\u0001", "ASCII-8BIT", "", "UTF-8"],
- ["UTF-8", "\u0001", "ASCII-8BIT", "\x01", "UTF-8"],
- ["UTF-8", "\u0001", "ASCII-8BIT", "\x81", "ASCII-8BIT"],
- ["UTF-8", "\u0001", "ISO-8859-1", "", "UTF-8"],
- ["UTF-8", "\u0001", "ISO-8859-1", "\x01", "UTF-8"],
- ["UTF-8", "\u0001", "ISO-8859-1", "\x81", "ISO-8859-1"],
- ["UTF-8", "\u0001", "UTF-16BE", "", "UTF-8"],
- ["UTF-8", "\u0001", "UTF-16BE", "\x01", nil],
- ["UTF-8", "\u0001", "UTF-16BE", "\x81", nil],
- ["UTF-8", "\u0001", "ISO-2022-JP", "", "UTF-8"],
- ["UTF-8", "\u0001", "ISO-2022-JP", "\x01", nil],
- ["UTF-8", "\u0001", "ISO-2022-JP", "\x81", nil],
- ["UTF-8", "\x81", "US-ASCII", "", "UTF-8"],
- ["UTF-8", "\x81", "US-ASCII", "\x01", "UTF-8"],
- ["UTF-8", "\x81", "US-ASCII", "\x81", nil],
- ["UTF-8", "\x81", "UTF-8", "", "UTF-8"],
- ["UTF-8", "\x81", "UTF-8", "\u0001", "UTF-8"],
- ["UTF-8", "\x81", "UTF-8", "\x81", "UTF-8"],
- ["UTF-8", "\x81", "ASCII-8BIT", "", "UTF-8"],
- ["UTF-8", "\x81", "ASCII-8BIT", "\x01", "UTF-8"],
- ["UTF-8", "\x81", "ASCII-8BIT", "\x81", nil],
- ["UTF-8", "\x81", "ISO-8859-1", "", "UTF-8"],
- ["UTF-8", "\x81", "ISO-8859-1", "\x01", "UTF-8"],
- ["UTF-8", "\x81", "ISO-8859-1", "\x81", nil],
- ["UTF-8", "\x81", "UTF-16BE", "", "UTF-8"],
- ["UTF-8", "\x81", "UTF-16BE", "\x01", nil],
- ["UTF-8", "\x81", "UTF-16BE", "\x81", nil],
- ["UTF-8", "\x81", "ISO-2022-JP", "", "UTF-8"],
- ["UTF-8", "\x81", "ISO-2022-JP", "\x01", nil],
- ["UTF-8", "\x81", "ISO-2022-JP", "\x81", nil],
+ ["UTF-8", "", "ISO-2022-JP", "\x01\x01", "ISO-2022-JP"],
+ ["UTF-8", "", "ISO-2022-JP", "\x01\x81", "ISO-2022-JP"],
+ ["UTF-8", "\u0001\u0001", "US-ASCII", "", "UTF-8"],
+ ["UTF-8", "\u0001\u0001", "US-ASCII", "\x01\x01", "UTF-8"],
+ ["UTF-8", "\u0001\u0001", "US-ASCII", "\x01\x81", "US-ASCII"],
+ ["UTF-8", "\u0001\u0001", "UTF-8", "", "UTF-8"],
+ ["UTF-8", "\u0001\u0001", "UTF-8", "\u0001\u0001", "UTF-8"],
+ ["UTF-8", "\u0001\u0001", "UTF-8", "\u0001\x81", "UTF-8"],
+ ["UTF-8", "\u0001\u0001", "ASCII-8BIT", "", "UTF-8"],
+ ["UTF-8", "\u0001\u0001", "ASCII-8BIT", "\x01\x01", "UTF-8"],
+ ["UTF-8", "\u0001\u0001", "ASCII-8BIT", "\x01\x81", "ASCII-8BIT"],
+ ["UTF-8", "\u0001\u0001", "ISO-8859-1", "", "UTF-8"],
+ ["UTF-8", "\u0001\u0001", "ISO-8859-1", "\x01\x01", "UTF-8"],
+ ["UTF-8", "\u0001\u0001", "ISO-8859-1", "\x01\x81", "ISO-8859-1"],
+ ["UTF-8", "\u0001\u0001", "UTF-16BE", "", "UTF-8"],
+ ["UTF-8", "\u0001\u0001", "UTF-16BE", "\u0101", nil],
+ ["UTF-8", "\u0001\u0001", "UTF-16BE", "\u0181", nil],
+ ["UTF-8", "\u0001\u0001", "ISO-2022-JP", "", "UTF-8"],
+ ["UTF-8", "\u0001\u0001", "ISO-2022-JP", "\x01\x01", nil],
+ ["UTF-8", "\u0001\u0001", "ISO-2022-JP", "\x01\x81", nil],
+ ["UTF-8", "\u0001\x81", "US-ASCII", "", "UTF-8"],
+ ["UTF-8", "\u0001\x81", "US-ASCII", "\x01\x01", "UTF-8"],
+ ["UTF-8", "\u0001\x81", "US-ASCII", "\x01\x81", nil],
+ ["UTF-8", "\u0001\x81", "UTF-8", "", "UTF-8"],
+ ["UTF-8", "\u0001\x81", "UTF-8", "\u0001\u0001", "UTF-8"],
+ ["UTF-8", "\u0001\x81", "UTF-8", "\u0001\x81", "UTF-8"],
+ ["UTF-8", "\u0001\x81", "ASCII-8BIT", "", "UTF-8"],
+ ["UTF-8", "\u0001\x81", "ASCII-8BIT", "\x01\x01", "UTF-8"],
+ ["UTF-8", "\u0001\x81", "ASCII-8BIT", "\x01\x81", nil],
+ ["UTF-8", "\u0001\x81", "ISO-8859-1", "", "UTF-8"],
+ ["UTF-8", "\u0001\x81", "ISO-8859-1", "\x01\x01", "UTF-8"],
+ ["UTF-8", "\u0001\x81", "ISO-8859-1", "\x01\x81", nil],
+ ["UTF-8", "\u0001\x81", "UTF-16BE", "", "UTF-8"],
+ ["UTF-8", "\u0001\x81", "UTF-16BE", "\u0101", nil],
+ ["UTF-8", "\u0001\x81", "UTF-16BE", "\u0181", nil],
+ ["UTF-8", "\u0001\x81", "ISO-2022-JP", "", "UTF-8"],
+ ["UTF-8", "\u0001\x81", "ISO-2022-JP", "\x01\x01", nil],
+ ["UTF-8", "\u0001\x81", "ISO-2022-JP", "\x01\x81", nil],
["ASCII-8BIT", "", "US-ASCII", "", "ASCII-8BIT"],
- ["ASCII-8BIT", "", "US-ASCII", "\x01", "ASCII-8BIT"],
- ["ASCII-8BIT", "", "US-ASCII", "\x81", "US-ASCII"],
+ ["ASCII-8BIT", "", "US-ASCII", "\x01\x01", "ASCII-8BIT"],
+ ["ASCII-8BIT", "", "US-ASCII", "\x01\x81", "US-ASCII"],
["ASCII-8BIT", "", "UTF-8", "", "ASCII-8BIT"],
- ["ASCII-8BIT", "", "UTF-8", "\u0001", "ASCII-8BIT"],
- ["ASCII-8BIT", "", "UTF-8", "\x81", "UTF-8"],
+ ["ASCII-8BIT", "", "UTF-8", "\u0001\u0001", "ASCII-8BIT"],
+ ["ASCII-8BIT", "", "UTF-8", "\u0001\x81", "UTF-8"],
["ASCII-8BIT", "", "ASCII-8BIT", "", "ASCII-8BIT"],
- ["ASCII-8BIT", "", "ASCII-8BIT", "\x01", "ASCII-8BIT"],
- ["ASCII-8BIT", "", "ASCII-8BIT", "\x81", "ASCII-8BIT"],
+ ["ASCII-8BIT", "", "ASCII-8BIT", "\x01\x01", "ASCII-8BIT"],
+ ["ASCII-8BIT", "", "ASCII-8BIT", "\x01\x81", "ASCII-8BIT"],
["ASCII-8BIT", "", "ISO-8859-1", "", "ASCII-8BIT"],
- ["ASCII-8BIT", "", "ISO-8859-1", "\x01", "ASCII-8BIT"],
- ["ASCII-8BIT", "", "ISO-8859-1", "\x81", "ISO-8859-1"],
+ ["ASCII-8BIT", "", "ISO-8859-1", "\x01\x01", "ASCII-8BIT"],
+ ["ASCII-8BIT", "", "ISO-8859-1", "\x01\x81", "ISO-8859-1"],
["ASCII-8BIT", "", "UTF-16BE", "", "ASCII-8BIT"],
- ["ASCII-8BIT", "", "UTF-16BE", "\x01", "UTF-16BE"],
- ["ASCII-8BIT", "", "UTF-16BE", "\x81", "UTF-16BE"],
+ ["ASCII-8BIT", "", "UTF-16BE", "\u0101", "UTF-16BE"],
+ ["ASCII-8BIT", "", "UTF-16BE", "\u0181", "UTF-16BE"],
["ASCII-8BIT", "", "ISO-2022-JP", "", "ASCII-8BIT"],
- ["ASCII-8BIT", "", "ISO-2022-JP", "\x01", "ISO-2022-JP"],
- ["ASCII-8BIT", "", "ISO-2022-JP", "\x81", "ISO-2022-JP"],
- ["ASCII-8BIT", "\x01", "US-ASCII", "", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x01", "US-ASCII", "\x01", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x01", "US-ASCII", "\x81", "US-ASCII"],
- ["ASCII-8BIT", "\x01", "UTF-8", "", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x01", "UTF-8", "\u0001", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x01", "UTF-8", "\x81", "UTF-8"],
- ["ASCII-8BIT", "\x01", "ASCII-8BIT", "", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x01", "ASCII-8BIT", "\x01", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x01", "ASCII-8BIT", "\x81", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x01", "ISO-8859-1", "", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x01", "ISO-8859-1", "\x01", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x01", "ISO-8859-1", "\x81", "ISO-8859-1"],
- ["ASCII-8BIT", "\x01", "UTF-16BE", "", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x01", "UTF-16BE", "\x01", nil],
- ["ASCII-8BIT", "\x01", "UTF-16BE", "\x81", nil],
- ["ASCII-8BIT", "\x01", "ISO-2022-JP", "", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x01", "ISO-2022-JP", "\x01", nil],
- ["ASCII-8BIT", "\x01", "ISO-2022-JP", "\x81", nil],
- ["ASCII-8BIT", "\x81", "US-ASCII", "", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x81", "US-ASCII", "\x01", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x81", "US-ASCII", "\x81", nil],
- ["ASCII-8BIT", "\x81", "UTF-8", "", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x81", "UTF-8", "\u0001", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x81", "UTF-8", "\x81", nil],
- ["ASCII-8BIT", "\x81", "ASCII-8BIT", "", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x81", "ASCII-8BIT", "\x01", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x81", "ASCII-8BIT", "\x81", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x81", "ISO-8859-1", "", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x81", "ISO-8859-1", "\x01", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x81", "ISO-8859-1", "\x81", nil],
- ["ASCII-8BIT", "\x81", "UTF-16BE", "", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x81", "UTF-16BE", "\x01", nil],
- ["ASCII-8BIT", "\x81", "UTF-16BE", "\x81", nil],
- ["ASCII-8BIT", "\x81", "ISO-2022-JP", "", "ASCII-8BIT"],
- ["ASCII-8BIT", "\x81", "ISO-2022-JP", "\x01", nil],
- ["ASCII-8BIT", "\x81", "ISO-2022-JP", "\x81", nil],
+ ["ASCII-8BIT", "", "ISO-2022-JP", "\x01\x01", "ISO-2022-JP"],
+ ["ASCII-8BIT", "", "ISO-2022-JP", "\x01\x81", "ISO-2022-JP"],
+ ["ASCII-8BIT", "\x01\x01", "US-ASCII", "", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x01", "US-ASCII", "\x01\x01", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x01", "US-ASCII", "\x01\x81", "US-ASCII"],
+ ["ASCII-8BIT", "\x01\x01", "UTF-8", "", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x01", "UTF-8", "\u0001\u0001", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x01", "UTF-8", "\u0001\x81", "UTF-8"],
+ ["ASCII-8BIT", "\x01\x01", "ASCII-8BIT", "", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x01", "ASCII-8BIT", "\x01\x01", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x01", "ASCII-8BIT", "\x01\x81", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x01", "ISO-8859-1", "", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x01", "ISO-8859-1", "\x01\x01", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x01", "ISO-8859-1", "\x01\x81", "ISO-8859-1"],
+ ["ASCII-8BIT", "\x01\x01", "UTF-16BE", "", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x01", "UTF-16BE", "\u0101", nil],
+ ["ASCII-8BIT", "\x01\x01", "UTF-16BE", "\u0181", nil],
+ ["ASCII-8BIT", "\x01\x01", "ISO-2022-JP", "", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x01", "ISO-2022-JP", "\x01\x01", nil],
+ ["ASCII-8BIT", "\x01\x01", "ISO-2022-JP", "\x01\x81", nil],
+ ["ASCII-8BIT", "\x01\x81", "US-ASCII", "", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x81", "US-ASCII", "\x01\x01", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x81", "US-ASCII", "\x01\x81", nil],
+ ["ASCII-8BIT", "\x01\x81", "UTF-8", "", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x81", "UTF-8", "\u0001\u0001", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x81", "UTF-8", "\u0001\x81", nil],
+ ["ASCII-8BIT", "\x01\x81", "ASCII-8BIT", "", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x81", "ASCII-8BIT", "\x01\x01", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x81", "ASCII-8BIT", "\x01\x81", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x81", "ISO-8859-1", "", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x81", "ISO-8859-1", "\x01\x01", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x81", "ISO-8859-1", "\x01\x81", nil],
+ ["ASCII-8BIT", "\x01\x81", "UTF-16BE", "", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x81", "UTF-16BE", "\u0101", nil],
+ ["ASCII-8BIT", "\x01\x81", "UTF-16BE", "\u0181", nil],
+ ["ASCII-8BIT", "\x01\x81", "ISO-2022-JP", "", "ASCII-8BIT"],
+ ["ASCII-8BIT", "\x01\x81", "ISO-2022-JP", "\x01\x01", nil],
+ ["ASCII-8BIT", "\x01\x81", "ISO-2022-JP", "\x01\x81", nil],
["ISO-8859-1", "", "US-ASCII", "", "ISO-8859-1"],
- ["ISO-8859-1", "", "US-ASCII", "\x01", "ISO-8859-1"],
- ["ISO-8859-1", "", "US-ASCII", "\x81", "US-ASCII"],
+ ["ISO-8859-1", "", "US-ASCII", "\x01\x01", "ISO-8859-1"],
+ ["ISO-8859-1", "", "US-ASCII", "\x01\x81", "US-ASCII"],
["ISO-8859-1", "", "UTF-8", "", "ISO-8859-1"],
- ["ISO-8859-1", "", "UTF-8", "\u0001", "ISO-8859-1"],
- ["ISO-8859-1", "", "UTF-8", "\x81", "UTF-8"],
+ ["ISO-8859-1", "", "UTF-8", "\u0001\u0001", "ISO-8859-1"],
+ ["ISO-8859-1", "", "UTF-8", "\u0001\x81", "UTF-8"],
["ISO-8859-1", "", "ASCII-8BIT", "", "ISO-8859-1"],
- ["ISO-8859-1", "", "ASCII-8BIT", "\x01", "ISO-8859-1"],
- ["ISO-8859-1", "", "ASCII-8BIT", "\x81", "ASCII-8BIT"],
+ ["ISO-8859-1", "", "ASCII-8BIT", "\x01\x01", "ISO-8859-1"],
+ ["ISO-8859-1", "", "ASCII-8BIT", "\x01\x81", "ASCII-8BIT"],
["ISO-8859-1", "", "ISO-8859-1", "", "ISO-8859-1"],
- ["ISO-8859-1", "", "ISO-8859-1", "\x01", "ISO-8859-1"],
- ["ISO-8859-1", "", "ISO-8859-1", "\x81", "ISO-8859-1"],
+ ["ISO-8859-1", "", "ISO-8859-1", "\x01\x01", "ISO-8859-1"],
+ ["ISO-8859-1", "", "ISO-8859-1", "\x01\x81", "ISO-8859-1"],
["ISO-8859-1", "", "UTF-16BE", "", "ISO-8859-1"],
- ["ISO-8859-1", "", "UTF-16BE", "\x01", "UTF-16BE"],
- ["ISO-8859-1", "", "UTF-16BE", "\x81", "UTF-16BE"],
+ ["ISO-8859-1", "", "UTF-16BE", "\u0101", "UTF-16BE"],
+ ["ISO-8859-1", "", "UTF-16BE", "\u0181", "UTF-16BE"],
["ISO-8859-1", "", "ISO-2022-JP", "", "ISO-8859-1"],
- ["ISO-8859-1", "", "ISO-2022-JP", "\x01", "ISO-2022-JP"],
- ["ISO-8859-1", "", "ISO-2022-JP", "\x81", "ISO-2022-JP"],
- ["ISO-8859-1", "\x01", "US-ASCII", "", "ISO-8859-1"],
- ["ISO-8859-1", "\x01", "US-ASCII", "\x01", "ISO-8859-1"],
- ["ISO-8859-1", "\x01", "US-ASCII", "\x81", "US-ASCII"],
- ["ISO-8859-1", "\x01", "UTF-8", "", "ISO-8859-1"],
- ["ISO-8859-1", "\x01", "UTF-8", "\u0001", "ISO-8859-1"],
- ["ISO-8859-1", "\x01", "UTF-8", "\x81", "UTF-8"],
- ["ISO-8859-1", "\x01", "ASCII-8BIT", "", "ISO-8859-1"],
- ["ISO-8859-1", "\x01", "ASCII-8BIT", "\x01", "ISO-8859-1"],
- ["ISO-8859-1", "\x01", "ASCII-8BIT", "\x81", "ASCII-8BIT"],
- ["ISO-8859-1", "\x01", "ISO-8859-1", "", "ISO-8859-1"],
- ["ISO-8859-1", "\x01", "ISO-8859-1", "\x01", "ISO-8859-1"],
- ["ISO-8859-1", "\x01", "ISO-8859-1", "\x81", "ISO-8859-1"],
- ["ISO-8859-1", "\x01", "UTF-16BE", "", "ISO-8859-1"],
- ["ISO-8859-1", "\x01", "UTF-16BE", "\x01", nil],
- ["ISO-8859-1", "\x01", "UTF-16BE", "\x81", nil],
- ["ISO-8859-1", "\x01", "ISO-2022-JP", "", "ISO-8859-1"],
- ["ISO-8859-1", "\x01", "ISO-2022-JP", "\x01", nil],
- ["ISO-8859-1", "\x01", "ISO-2022-JP", "\x81", nil],
- ["ISO-8859-1", "\x81", "US-ASCII", "", "ISO-8859-1"],
- ["ISO-8859-1", "\x81", "US-ASCII", "\x01", "ISO-8859-1"],
- ["ISO-8859-1", "\x81", "US-ASCII", "\x81", nil],
- ["ISO-8859-1", "\x81", "UTF-8", "", "ISO-8859-1"],
- ["ISO-8859-1", "\x81", "UTF-8", "\u0001", "ISO-8859-1"],
- ["ISO-8859-1", "\x81", "UTF-8", "\x81", nil],
- ["ISO-8859-1", "\x81", "ASCII-8BIT", "", "ISO-8859-1"],
- ["ISO-8859-1", "\x81", "ASCII-8BIT", "\x01", "ISO-8859-1"],
- ["ISO-8859-1", "\x81", "ASCII-8BIT", "\x81", nil],
- ["ISO-8859-1", "\x81", "ISO-8859-1", "", "ISO-8859-1"],
- ["ISO-8859-1", "\x81", "ISO-8859-1", "\x01", "ISO-8859-1"],
- ["ISO-8859-1", "\x81", "ISO-8859-1", "\x81", "ISO-8859-1"],
- ["ISO-8859-1", "\x81", "UTF-16BE", "", "ISO-8859-1"],
- ["ISO-8859-1", "\x81", "UTF-16BE", "\x01", nil],
- ["ISO-8859-1", "\x81", "UTF-16BE", "\x81", nil],
- ["ISO-8859-1", "\x81", "ISO-2022-JP", "", "ISO-8859-1"],
- ["ISO-8859-1", "\x81", "ISO-2022-JP", "\x01", nil],
- ["ISO-8859-1", "\x81", "ISO-2022-JP", "\x81", nil],
+ ["ISO-8859-1", "", "ISO-2022-JP", "\x01\x01", "ISO-2022-JP"],
+ ["ISO-8859-1", "", "ISO-2022-JP", "\x01\x81", "ISO-2022-JP"],
+ ["ISO-8859-1", "\x01\x01", "US-ASCII", "", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x01", "US-ASCII", "\x01\x01", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x01", "US-ASCII", "\x01\x81", "US-ASCII"],
+ ["ISO-8859-1", "\x01\x01", "UTF-8", "", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x01", "UTF-8", "\u0001\u0001", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x01", "UTF-8", "\u0001\x81", "UTF-8"],
+ ["ISO-8859-1", "\x01\x01", "ASCII-8BIT", "", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x01", "ASCII-8BIT", "\x01\x01", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x01", "ASCII-8BIT", "\x01\x81", "ASCII-8BIT"],
+ ["ISO-8859-1", "\x01\x01", "ISO-8859-1", "", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x01", "ISO-8859-1", "\x01\x01", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x01", "ISO-8859-1", "\x01\x81", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x01", "UTF-16BE", "", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x01", "UTF-16BE", "\u0101", nil],
+ ["ISO-8859-1", "\x01\x01", "UTF-16BE", "\u0181", nil],
+ ["ISO-8859-1", "\x01\x01", "ISO-2022-JP", "", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x01", "ISO-2022-JP", "\x01\x01", nil],
+ ["ISO-8859-1", "\x01\x01", "ISO-2022-JP", "\x01\x81", nil],
+ ["ISO-8859-1", "\x01\x81", "US-ASCII", "", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x81", "US-ASCII", "\x01\x01", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x81", "US-ASCII", "\x01\x81", nil],
+ ["ISO-8859-1", "\x01\x81", "UTF-8", "", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x81", "UTF-8", "\u0001\u0001", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x81", "UTF-8", "\u0001\x81", nil],
+ ["ISO-8859-1", "\x01\x81", "ASCII-8BIT", "", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x81", "ASCII-8BIT", "\x01\x01", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x81", "ASCII-8BIT", "\x01\x81", nil],
+ ["ISO-8859-1", "\x01\x81", "ISO-8859-1", "", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x81", "ISO-8859-1", "\x01\x01", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x81", "ISO-8859-1", "\x01\x81", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x81", "UTF-16BE", "", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x81", "UTF-16BE", "\u0101", nil],
+ ["ISO-8859-1", "\x01\x81", "UTF-16BE", "\u0181", nil],
+ ["ISO-8859-1", "\x01\x81", "ISO-2022-JP", "", "ISO-8859-1"],
+ ["ISO-8859-1", "\x01\x81", "ISO-2022-JP", "\x01\x01", nil],
+ ["ISO-8859-1", "\x01\x81", "ISO-2022-JP", "\x01\x81", nil],
["UTF-16BE", "", "US-ASCII", "", "UTF-16BE"],
- ["UTF-16BE", "", "US-ASCII", "\x01", "US-ASCII"],
- ["UTF-16BE", "", "US-ASCII", "\x81", "US-ASCII"],
+ ["UTF-16BE", "", "US-ASCII", "\x01\x01", "US-ASCII"],
+ ["UTF-16BE", "", "US-ASCII", "\x01\x81", "US-ASCII"],
["UTF-16BE", "", "UTF-8", "", "UTF-16BE"],
- ["UTF-16BE", "", "UTF-8", "\u0001", "UTF-8"],
- ["UTF-16BE", "", "UTF-8", "\x81", "UTF-8"],
+ ["UTF-16BE", "", "UTF-8", "\u0001\u0001", "UTF-8"],
+ ["UTF-16BE", "", "UTF-8", "\u0001\x81", "UTF-8"],
["UTF-16BE", "", "ASCII-8BIT", "", "UTF-16BE"],
- ["UTF-16BE", "", "ASCII-8BIT", "\x01", "ASCII-8BIT"],
- ["UTF-16BE", "", "ASCII-8BIT", "\x81", "ASCII-8BIT"],
+ ["UTF-16BE", "", "ASCII-8BIT", "\x01\x01", "ASCII-8BIT"],
+ ["UTF-16BE", "", "ASCII-8BIT", "\x01\x81", "ASCII-8BIT"],
["UTF-16BE", "", "ISO-8859-1", "", "UTF-16BE"],
- ["UTF-16BE", "", "ISO-8859-1", "\x01", "ISO-8859-1"],
- ["UTF-16BE", "", "ISO-8859-1", "\x81", "ISO-8859-1"],
+ ["UTF-16BE", "", "ISO-8859-1", "\x01\x01", "ISO-8859-1"],
+ ["UTF-16BE", "", "ISO-8859-1", "\x01\x81", "ISO-8859-1"],
["UTF-16BE", "", "UTF-16BE", "", "UTF-16BE"],
- ["UTF-16BE", "", "UTF-16BE", "\x01", "UTF-16BE"],
- ["UTF-16BE", "", "UTF-16BE", "\x81", "UTF-16BE"],
+ ["UTF-16BE", "", "UTF-16BE", "\u0101", "UTF-16BE"],
+ ["UTF-16BE", "", "UTF-16BE", "\u0181", "UTF-16BE"],
["UTF-16BE", "", "ISO-2022-JP", "", "UTF-16BE"],
- ["UTF-16BE", "", "ISO-2022-JP", "\x01", "ISO-2022-JP"],
- ["UTF-16BE", "", "ISO-2022-JP", "\x81", "ISO-2022-JP"],
- ["UTF-16BE", "\x01", "US-ASCII", "", "UTF-16BE"],
- ["UTF-16BE", "\x01", "US-ASCII", "\x01", nil],
- ["UTF-16BE", "\x01", "US-ASCII", "\x81", nil],
- ["UTF-16BE", "\x01", "UTF-8", "", "UTF-16BE"],
- ["UTF-16BE", "\x01", "UTF-8", "\u0001", nil],
- ["UTF-16BE", "\x01", "UTF-8", "\x81", nil],
- ["UTF-16BE", "\x01", "ASCII-8BIT", "", "UTF-16BE"],
- ["UTF-16BE", "\x01", "ASCII-8BIT", "\x01", nil],
- ["UTF-16BE", "\x01", "ASCII-8BIT", "\x81", nil],
- ["UTF-16BE", "\x01", "ISO-8859-1", "", "UTF-16BE"],
- ["UTF-16BE", "\x01", "ISO-8859-1", "\x01", nil],
- ["UTF-16BE", "\x01", "ISO-8859-1", "\x81", nil],
- ["UTF-16BE", "\x01", "UTF-16BE", "", "UTF-16BE"],
- ["UTF-16BE", "\x01", "UTF-16BE", "\x01", "UTF-16BE"],
- ["UTF-16BE", "\x01", "UTF-16BE", "\x81", "UTF-16BE"],
- ["UTF-16BE", "\x01", "ISO-2022-JP", "", "UTF-16BE"],
- ["UTF-16BE", "\x01", "ISO-2022-JP", "\x01", nil],
- ["UTF-16BE", "\x01", "ISO-2022-JP", "\x81", nil],
- ["UTF-16BE", "\x81", "US-ASCII", "", "UTF-16BE"],
- ["UTF-16BE", "\x81", "US-ASCII", "\x01", nil],
- ["UTF-16BE", "\x81", "US-ASCII", "\x81", nil],
- ["UTF-16BE", "\x81", "UTF-8", "", "UTF-16BE"],
- ["UTF-16BE", "\x81", "UTF-8", "\u0001", nil],
- ["UTF-16BE", "\x81", "UTF-8", "\x81", nil],
- ["UTF-16BE", "\x81", "ASCII-8BIT", "", "UTF-16BE"],
- ["UTF-16BE", "\x81", "ASCII-8BIT", "\x01", nil],
- ["UTF-16BE", "\x81", "ASCII-8BIT", "\x81", nil],
- ["UTF-16BE", "\x81", "ISO-8859-1", "", "UTF-16BE"],
- ["UTF-16BE", "\x81", "ISO-8859-1", "\x01", nil],
- ["UTF-16BE", "\x81", "ISO-8859-1", "\x81", nil],
- ["UTF-16BE", "\x81", "UTF-16BE", "", "UTF-16BE"],
- ["UTF-16BE", "\x81", "UTF-16BE", "\x01", "UTF-16BE"],
- ["UTF-16BE", "\x81", "UTF-16BE", "\x81", "UTF-16BE"],
- ["UTF-16BE", "\x81", "ISO-2022-JP", "", "UTF-16BE"],
- ["UTF-16BE", "\x81", "ISO-2022-JP", "\x01", nil],
- ["UTF-16BE", "\x81", "ISO-2022-JP", "\x81", nil],
+ ["UTF-16BE", "", "ISO-2022-JP", "\x01\x01", "ISO-2022-JP"],
+ ["UTF-16BE", "", "ISO-2022-JP", "\x01\x81", "ISO-2022-JP"],
+ ["UTF-16BE", "\u0101", "US-ASCII", "", "UTF-16BE"],
+ ["UTF-16BE", "\u0101", "US-ASCII", "\x01\x01", nil],
+ ["UTF-16BE", "\u0101", "US-ASCII", "\x01\x81", nil],
+ ["UTF-16BE", "\u0101", "UTF-8", "", "UTF-16BE"],
+ ["UTF-16BE", "\u0101", "UTF-8", "\u0001\u0001", nil],
+ ["UTF-16BE", "\u0101", "UTF-8", "\u0001\x81", nil],
+ ["UTF-16BE", "\u0101", "ASCII-8BIT", "", "UTF-16BE"],
+ ["UTF-16BE", "\u0101", "ASCII-8BIT", "\x01\x01", nil],
+ ["UTF-16BE", "\u0101", "ASCII-8BIT", "\x01\x81", nil],
+ ["UTF-16BE", "\u0101", "ISO-8859-1", "", "UTF-16BE"],
+ ["UTF-16BE", "\u0101", "ISO-8859-1", "\x01\x01", nil],
+ ["UTF-16BE", "\u0101", "ISO-8859-1", "\x01\x81", nil],
+ ["UTF-16BE", "\u0101", "UTF-16BE", "", "UTF-16BE"],
+ ["UTF-16BE", "\u0101", "UTF-16BE", "\u0101", "UTF-16BE"],
+ ["UTF-16BE", "\u0101", "UTF-16BE", "\u0181", "UTF-16BE"],
+ ["UTF-16BE", "\u0101", "ISO-2022-JP", "", "UTF-16BE"],
+ ["UTF-16BE", "\u0101", "ISO-2022-JP", "\x01\x01", nil],
+ ["UTF-16BE", "\u0101", "ISO-2022-JP", "\x01\x81", nil],
+ ["UTF-16BE", "\u0181", "US-ASCII", "", "UTF-16BE"],
+ ["UTF-16BE", "\u0181", "US-ASCII", "\x01\x01", nil],
+ ["UTF-16BE", "\u0181", "US-ASCII", "\x01\x81", nil],
+ ["UTF-16BE", "\u0181", "UTF-8", "", "UTF-16BE"],
+ ["UTF-16BE", "\u0181", "UTF-8", "\u0001\u0001", nil],
+ ["UTF-16BE", "\u0181", "UTF-8", "\u0001\x81", nil],
+ ["UTF-16BE", "\u0181", "ASCII-8BIT", "", "UTF-16BE"],
+ ["UTF-16BE", "\u0181", "ASCII-8BIT", "\x01\x01", nil],
+ ["UTF-16BE", "\u0181", "ASCII-8BIT", "\x01\x81", nil],
+ ["UTF-16BE", "\u0181", "ISO-8859-1", "", "UTF-16BE"],
+ ["UTF-16BE", "\u0181", "ISO-8859-1", "\x01\x01", nil],
+ ["UTF-16BE", "\u0181", "ISO-8859-1", "\x01\x81", nil],
+ ["UTF-16BE", "\u0181", "UTF-16BE", "", "UTF-16BE"],
+ ["UTF-16BE", "\u0181", "UTF-16BE", "\u0101", "UTF-16BE"],
+ ["UTF-16BE", "\u0181", "UTF-16BE", "\u0181", "UTF-16BE"],
+ ["UTF-16BE", "\u0181", "ISO-2022-JP", "", "UTF-16BE"],
+ ["UTF-16BE", "\u0181", "ISO-2022-JP", "\x01\x01", nil],
+ ["UTF-16BE", "\u0181", "ISO-2022-JP", "\x01\x81", nil],
["ISO-2022-JP", "", "US-ASCII", "", "ISO-2022-JP"],
- ["ISO-2022-JP", "", "US-ASCII", "\x01", "US-ASCII"],
- ["ISO-2022-JP", "", "US-ASCII", "\x81", "US-ASCII"],
+ ["ISO-2022-JP", "", "US-ASCII", "\x01\x01", "US-ASCII"],
+ ["ISO-2022-JP", "", "US-ASCII", "\x01\x81", "US-ASCII"],
["ISO-2022-JP", "", "UTF-8", "", "ISO-2022-JP"],
- ["ISO-2022-JP", "", "UTF-8", "\u0001", "UTF-8"],
- ["ISO-2022-JP", "", "UTF-8", "\x81", "UTF-8"],
+ ["ISO-2022-JP", "", "UTF-8", "\u0001\u0001", "UTF-8"],
+ ["ISO-2022-JP", "", "UTF-8", "\u0001\x81", "UTF-8"],
["ISO-2022-JP", "", "ASCII-8BIT", "", "ISO-2022-JP"],
- ["ISO-2022-JP", "", "ASCII-8BIT", "\x01", "ASCII-8BIT"],
- ["ISO-2022-JP", "", "ASCII-8BIT", "\x81", "ASCII-8BIT"],
+ ["ISO-2022-JP", "", "ASCII-8BIT", "\x01\x01", "ASCII-8BIT"],
+ ["ISO-2022-JP", "", "ASCII-8BIT", "\x01\x81", "ASCII-8BIT"],
["ISO-2022-JP", "", "ISO-8859-1", "", "ISO-2022-JP"],
- ["ISO-2022-JP", "", "ISO-8859-1", "\x01", "ISO-8859-1"],
- ["ISO-2022-JP", "", "ISO-8859-1", "\x81", "ISO-8859-1"],
+ ["ISO-2022-JP", "", "ISO-8859-1", "\x01\x01", "ISO-8859-1"],
+ ["ISO-2022-JP", "", "ISO-8859-1", "\x01\x81", "ISO-8859-1"],
["ISO-2022-JP", "", "UTF-16BE", "", "ISO-2022-JP"],
- ["ISO-2022-JP", "", "UTF-16BE", "\x01", "UTF-16BE"],
- ["ISO-2022-JP", "", "UTF-16BE", "\x81", "UTF-16BE"],
+ ["ISO-2022-JP", "", "UTF-16BE", "\u0101", "UTF-16BE"],
+ ["ISO-2022-JP", "", "UTF-16BE", "\u0181", "UTF-16BE"],
["ISO-2022-JP", "", "ISO-2022-JP", "", "ISO-2022-JP"],
- ["ISO-2022-JP", "", "ISO-2022-JP", "\x01", "ISO-2022-JP"],
- ["ISO-2022-JP", "", "ISO-2022-JP", "\x81", "ISO-2022-JP"],
- ["ISO-2022-JP", "\x01", "US-ASCII", "", "ISO-2022-JP"],
- ["ISO-2022-JP", "\x01", "US-ASCII", "\x01", nil],
- ["ISO-2022-JP", "\x01", "US-ASCII", "\x81", nil],
- ["ISO-2022-JP", "\x01", "UTF-8", "", "ISO-2022-JP"],
- ["ISO-2022-JP", "\x01", "UTF-8", "\u0001", nil],
- ["ISO-2022-JP", "\x01", "UTF-8", "\x81", nil],
- ["ISO-2022-JP", "\x01", "ASCII-8BIT", "", "ISO-2022-JP"],
- ["ISO-2022-JP", "\x01", "ASCII-8BIT", "\x01", nil],
- ["ISO-2022-JP", "\x01", "ASCII-8BIT", "\x81", nil],
- ["ISO-2022-JP", "\x01", "ISO-8859-1", "", "ISO-2022-JP"],
- ["ISO-2022-JP", "\x01", "ISO-8859-1", "\x01", nil],
- ["ISO-2022-JP", "\x01", "ISO-8859-1", "\x81", nil],
- ["ISO-2022-JP", "\x01", "UTF-16BE", "", "ISO-2022-JP"],
- ["ISO-2022-JP", "\x01", "UTF-16BE", "\x01", nil],
- ["ISO-2022-JP", "\x01", "UTF-16BE", "\x81", nil],
- ["ISO-2022-JP", "\x01", "ISO-2022-JP", "", "ISO-2022-JP"],
- ["ISO-2022-JP", "\x01", "ISO-2022-JP", "\x01", "ISO-2022-JP"],
- ["ISO-2022-JP", "\x01", "ISO-2022-JP", "\x81", "ISO-2022-JP"],
- ["ISO-2022-JP", "\x81", "US-ASCII", "", "ISO-2022-JP"],
- ["ISO-2022-JP", "\x81", "US-ASCII", "\x01", nil],
- ["ISO-2022-JP", "\x81", "US-ASCII", "\x81", nil],
- ["ISO-2022-JP", "\x81", "UTF-8", "", "ISO-2022-JP"],
- ["ISO-2022-JP", "\x81", "UTF-8", "\u0001", nil],
- ["ISO-2022-JP", "\x81", "UTF-8", "\x81", nil],
- ["ISO-2022-JP", "\x81", "ASCII-8BIT", "", "ISO-2022-JP"],
- ["ISO-2022-JP", "\x81", "ASCII-8BIT", "\x01", nil],
- ["ISO-2022-JP", "\x81", "ASCII-8BIT", "\x81", nil],
- ["ISO-2022-JP", "\x81", "ISO-8859-1", "", "ISO-2022-JP"],
- ["ISO-2022-JP", "\x81", "ISO-8859-1", "\x01", nil],
- ["ISO-2022-JP", "\x81", "ISO-8859-1", "\x81", nil],
- ["ISO-2022-JP", "\x81", "UTF-16BE", "", "ISO-2022-JP"],
- ["ISO-2022-JP", "\x81", "UTF-16BE", "\x01", nil],
- ["ISO-2022-JP", "\x81", "UTF-16BE", "\x81", nil],
- ["ISO-2022-JP", "\x81", "ISO-2022-JP", "", "ISO-2022-JP"],
- ["ISO-2022-JP", "\x81", "ISO-2022-JP", "\x01", "ISO-2022-JP"],
- ["ISO-2022-JP", "\x81", "ISO-2022-JP", "\x81", "ISO-2022-JP"],
+ ["ISO-2022-JP", "", "ISO-2022-JP", "\x01\x01", "ISO-2022-JP"],
+ ["ISO-2022-JP", "", "ISO-2022-JP", "\x01\x81", "ISO-2022-JP"],
+ ["ISO-2022-JP", "\x01\x01", "US-ASCII", "", "ISO-2022-JP"],
+ ["ISO-2022-JP", "\x01\x01", "US-ASCII", "\x01\x01", nil],
+ ["ISO-2022-JP", "\x01\x01", "US-ASCII", "\x01\x81", nil],
+ ["ISO-2022-JP", "\x01\x01", "UTF-8", "", "ISO-2022-JP"],
+ ["ISO-2022-JP", "\x01\x01", "UTF-8", "\u0001\u0001", nil],
+ ["ISO-2022-JP", "\x01\x01", "UTF-8", "\u0001\x81", nil],
+ ["ISO-2022-JP", "\x01\x01", "ASCII-8BIT", "", "ISO-2022-JP"],
+ ["ISO-2022-JP", "\x01\x01", "ASCII-8BIT", "\x01\x01", nil],
+ ["ISO-2022-JP", "\x01\x01", "ASCII-8BIT", "\x01\x81", nil],
+ ["ISO-2022-JP", "\x01\x01", "ISO-8859-1", "", "ISO-2022-JP"],
+ ["ISO-2022-JP", "\x01\x01", "ISO-8859-1", "\x01\x01", nil],
+ ["ISO-2022-JP", "\x01\x01", "ISO-8859-1", "\x01\x81", nil],
+ ["ISO-2022-JP", "\x01\x01", "UTF-16BE", "", "ISO-2022-JP"],
+ ["ISO-2022-JP", "\x01\x01", "UTF-16BE", "\u0101", nil],
+ ["ISO-2022-JP", "\x01\x01", "UTF-16BE", "\u0181", nil],
+ ["ISO-2022-JP", "\x01\x01", "ISO-2022-JP", "", "ISO-2022-JP"],
+ ["ISO-2022-JP", "\x01\x01", "ISO-2022-JP", "\x01\x01", "ISO-2022-JP"],
+ ["ISO-2022-JP", "\x01\x01", "ISO-2022-JP", "\x01\x81", "ISO-2022-JP"],
+ ["ISO-2022-JP", "\x01\x81", "US-ASCII", "", "ISO-2022-JP"],
+ ["ISO-2022-JP", "\x01\x81", "US-ASCII", "\x01\x01", nil],
+ ["ISO-2022-JP", "\x01\x81", "US-ASCII", "\x01\x81", nil],
+ ["ISO-2022-JP", "\x01\x81", "UTF-8", "", "ISO-2022-JP"],
+ ["ISO-2022-JP", "\x01\x81", "UTF-8", "\u0001\u0001", nil],
+ ["ISO-2022-JP", "\x01\x81", "UTF-8", "\u0001\x81", nil],
+ ["ISO-2022-JP", "\x01\x81", "ASCII-8BIT", "", "ISO-2022-JP"],
+ ["ISO-2022-JP", "\x01\x81", "ASCII-8BIT", "\x01\x01", nil],
+ ["ISO-2022-JP", "\x01\x81", "ASCII-8BIT", "\x01\x81", nil],
+ ["ISO-2022-JP", "\x01\x81", "ISO-8859-1", "", "ISO-2022-JP"],
+ ["ISO-2022-JP", "\x01\x81", "ISO-8859-1", "\x01\x01", nil],
+ ["ISO-2022-JP", "\x01\x81", "ISO-8859-1", "\x01\x81", nil],
+ ["ISO-2022-JP", "\x01\x81", "UTF-16BE", "", "ISO-2022-JP"],
+ ["ISO-2022-JP", "\x01\x81", "UTF-16BE", "\u0101", nil],
+ ["ISO-2022-JP", "\x01\x81", "UTF-16BE", "\u0181", nil],
+ ["ISO-2022-JP", "\x01\x81", "ISO-2022-JP", "", "ISO-2022-JP"],
+ ["ISO-2022-JP", "\x01\x81", "ISO-2022-JP", "\x01\x01", "ISO-2022-JP"],
+ ["ISO-2022-JP", "\x01\x81", "ISO-2022-JP", "\x01\x81", "ISO-2022-JP"],
]
matrix.each do |encoding1, value1, encoding2, value2, compatible_encoding|
@@ -557,6 +557,11 @@ describe "Encoding.compatible? String, Regexp" do
[Encoding, "\x82\xa0".dup.force_encoding("shift_jis"), Encoding::Shift_JIS],
].should be_computed_by(:compatible?, /abc/)
end
+
+ it "returns the Regexp's Encoding if the String is ASCII only and the Regexp is not" do
+ r = Regexp.new("\xa4\xa2".dup.force_encoding("euc-jp"))
+ Encoding.compatible?("hello".dup.force_encoding("utf-8"), r).should == Encoding::EUC_JP
+ end
end
describe "Encoding.compatible? String, Symbol" do
@@ -584,11 +589,11 @@ end
describe "Encoding.compatible? String, Encoding" do
it "returns nil if the String's encoding is not ASCII compatible" do
- Encoding.compatible?("abc".encode("utf-32le"), Encoding::US_ASCII).should be_nil
+ Encoding.compatible?("abc".encode("utf-32le"), Encoding::US_ASCII).should == nil
end
it "returns nil if the Encoding is not ASCII compatible" do
- Encoding.compatible?("abc".encode("us-ascii"), Encoding::UTF_32LE).should be_nil
+ Encoding.compatible?("abc".encode("us-ascii"), Encoding::UTF_32LE).should == nil
end
it "returns the String's encoding if the Encoding is US-ASCII" do
@@ -609,7 +614,7 @@ describe "Encoding.compatible? String, Encoding" do
end
it "returns nil if the String's encoding is ASCII compatible but the string is not ASCII only" do
- Encoding.compatible?("\u3042".encode("utf-8"), Encoding::BINARY).should be_nil
+ Encoding.compatible?("\u3042".encode("utf-8"), Encoding::BINARY).should == nil
end
end
@@ -619,6 +624,15 @@ describe "Encoding.compatible? Regexp, String" do
Encoding.compatible?(/abc/, str).should == Encoding::US_ASCII
end
+ it "returns the String's Encoding when the String is ASCII only with a different encoding" do
+ r = Regexp.new("\xa4\xa2".dup.force_encoding("euc-jp"))
+ Encoding.compatible?(r, "hello".dup.force_encoding("utf-8")).should == Encoding::UTF_8
+ end
+
+ it "returns the Regexp's Encoding if the String has the same non-ASCII encoding" do
+ r = Regexp.new("\xa4\xa2".dup.force_encoding("euc-jp"))
+ Encoding.compatible?(r, "hello".dup.force_encoding("euc-jp")).should == Encoding::EUC_JP
+ end
end
describe "Encoding.compatible? Regexp, Regexp" do
@@ -727,32 +741,32 @@ end
describe "Encoding.compatible? Object, Object" do
it "returns nil for Object, String" do
- Encoding.compatible?(Object.new, "abc").should be_nil
+ Encoding.compatible?(Object.new, "abc").should == nil
end
it "returns nil for Object, Regexp" do
- Encoding.compatible?(Object.new, /./).should be_nil
+ Encoding.compatible?(Object.new, /./).should == nil
end
it "returns nil for Object, Symbol" do
- Encoding.compatible?(Object.new, :sym).should be_nil
+ Encoding.compatible?(Object.new, :sym).should == nil
end
it "returns nil for String, Object" do
- Encoding.compatible?("abc", Object.new).should be_nil
+ Encoding.compatible?("abc", Object.new).should == nil
end
it "returns nil for Regexp, Object" do
- Encoding.compatible?(/./, Object.new).should be_nil
+ Encoding.compatible?(/./, Object.new).should == nil
end
it "returns nil for Symbol, Object" do
- Encoding.compatible?(:sym, Object.new).should be_nil
+ Encoding.compatible?(:sym, Object.new).should == nil
end
end
describe "Encoding.compatible? nil, nil" do
it "returns nil" do
- Encoding.compatible?(nil, nil).should be_nil
+ Encoding.compatible?(nil, nil).should == nil
end
end