From e8c62836a6292bf2f691de458b24ea50c51b452a Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Sun, 15 Dec 2019 23:13:16 +0900 Subject: IO#set_encoding_by_bom should err when encoding is already set Except for ASCII-8BIT. [Bug #16422] --- test/ruby/test_io_m17n.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'test/ruby/test_io_m17n.rb') diff --git a/test/ruby/test_io_m17n.rb b/test/ruby/test_io_m17n.rb index 022ff330b5..e5b0ef0585 100644 --- a/test/ruby/test_io_m17n.rb +++ b/test/ruby/test_io_m17n.rb @@ -2102,6 +2102,9 @@ EOT File.open(path, "rb") {|f| assert_equal(Encoding.find(name), f.set_encoding_by_bom) } + File.open(path, "rb", encoding: "iso-8859-1") {|f| + assert_raise(ArgumentError) {f.set_encoding_by_bom} + } } end end @@ -2114,6 +2117,10 @@ EOT bug3407 = '[ruby-core:30641]' result = File.read(path, encoding: 'BOM|UTF-8') assert_equal("a", result.b, bug3407) + + File.open(path, "rb", encoding: "iso-8859-1") {|f| + assert_raise(ArgumentError) {f.set_encoding_by_bom} + } } end @@ -2148,6 +2155,9 @@ EOT File.open(path, "rb") {|f| assert_nil(f.set_encoding_by_bom) } + File.open(path, "rb", encoding: "iso-8859-1") {|f| + assert_raise(ArgumentError) {f.set_encoding_by_bom} + } } end -- cgit v1.2.3