From a2831955b26a07241c8c45ab2affdbafd4a36db2 Mon Sep 17 00:00:00 2001 From: akr Date: Sat, 21 Oct 2017 06:22:53 +0000 Subject: lib/open-uri.rb: accept :encoding option as well as encoding in mode string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/open-uri/test_open-uri.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'test/open-uri/test_open-uri.rb') diff --git a/test/open-uri/test_open-uri.rb b/test/open-uri/test_open-uri.rb index 49b3e3da06..3feed423a0 100644 --- a/test/open-uri/test_open-uri.rb +++ b/test/open-uri/test_open-uri.rb @@ -604,6 +604,24 @@ class TestOpenURI < Test::Unit::TestCase assert_equal(content_ej, f.read) assert_equal("text/plain", f.content_type) assert_equal("euc-jp", f.charset) + assert_equal(Encoding::EUC_JP, f.read.encoding) + } + open("#{url}/ej/", 'r:utf-8') {|f| + # override charset with encoding option + assert_equal(content_ej.dup.force_encoding('utf-8'), f.read) + assert_equal("text/plain", f.content_type) + assert_equal("euc-jp", f.charset) + assert_equal(Encoding::UTF_8, f.read.encoding) + } + open("#{url}/ej/", :encoding=>'utf-8') {|f| + # override charset with encoding option + assert_equal(content_ej.dup.force_encoding('utf-8'), f.read) + assert_equal("text/plain", f.content_type) + assert_equal("euc-jp", f.charset) + assert_equal(Encoding::UTF_8, f.read.encoding) + } + assert_raise(ArgumentError) { + open("#{url}/ej/", 'r:utf-8', :encoding=>'utf-8') {|f| } } open("#{url}/nc/") {|f| assert_equal("aa", f.read) -- cgit v1.2.3