summaryrefslogtreecommitdiff
path: root/test/irb
diff options
context:
space:
mode:
authoraycabta <aycabta@gmail.com>2021-07-10 22:32:51 +0900
committergit <svn-admin@ruby-lang.org>2021-07-11 06:12:07 +0900
commit947d0198e00b2ba991a566e503a66675de625c2f (patch)
tree6394c3d0d2ded8d43dc4fdeddd633c5b3860633c /test/irb
parent491ab2820aada99f53c328f83f0345acc517fc37 (diff)
[ruby/irb] Show LANG and LC_ALL env by irb_info
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> https://github.com/ruby/irb/commit/b431742430
Diffstat (limited to 'test/irb')
-rw-r--r--test/irb/test_cmd.rb47
1 files changed, 47 insertions, 0 deletions
diff --git a/test/irb/test_cmd.rb b/test/irb/test_cmd.rb
index 3db490ceab..e306137b10 100644
--- a/test/irb/test_cmd.rb
+++ b/test/irb/test_cmd.rb
@@ -69,6 +69,8 @@ module TestIRB
IRB.conf[:USE_MULTILINE] = true
IRB.conf[:USE_SINGLELINE] = false
IRB.conf[:VERBOSE] = false
+ lang_backup = ENV.delete("LANG")
+ lc_all_backup = ENV.delete("LC_ALL")
workspace = IRB::WorkSpace.new(self)
irb = IRB::Irb.new(workspace, TestInputMethod.new([]))
IRB.conf[:MAIN_CONTEXT] = irb.context
@@ -80,6 +82,9 @@ module TestIRB
RUBY_PLATFORM: .+
}x
assert_match expected, irb.context.main.irb_info.to_s
+ ensure
+ ENV["LANG"] = lang_backup
+ ENV["LC_ALL"] = lc_all_backup
end
def test_irb_info_singleline
@@ -89,6 +94,8 @@ module TestIRB
IRB.conf[:USE_MULTILINE] = false
IRB.conf[:USE_SINGLELINE] = true
IRB.conf[:VERBOSE] = false
+ lang_backup = ENV.delete("LANG")
+ lc_all_backup = ENV.delete("LC_ALL")
workspace = IRB::WorkSpace.new(self)
irb = IRB::Irb.new(workspace, TestInputMethod.new([]))
IRB.conf[:MAIN_CONTEXT] = irb.context
@@ -100,6 +107,9 @@ module TestIRB
RUBY_PLATFORM: .+
}x
assert_match expected, irb.context.main.irb_info.to_s
+ ensure
+ ENV["LANG"] = lang_backup
+ ENV["LC_ALL"] = lc_all_backup
end
def test_irb_info_multiline_without_rc_files
@@ -112,6 +122,8 @@ module TestIRB
IRB.conf[:USE_MULTILINE] = true
IRB.conf[:USE_SINGLELINE] = false
IRB.conf[:VERBOSE] = false
+ lang_backup = ENV.delete("LANG")
+ lc_all_backup = ENV.delete("LC_ALL")
workspace = IRB::WorkSpace.new(self)
irb = IRB::Irb.new(workspace, TestInputMethod.new([]))
IRB.conf[:MAIN_CONTEXT] = irb.context
@@ -127,6 +139,8 @@ module TestIRB
ENV["INPUTRC"] = inputrc_backup
IRB.__send__(:remove_const, :IRBRC_EXT)
IRB.const_set(:IRBRC_EXT, ext_backup)
+ ENV["LANG"] = lang_backup
+ ENV["LC_ALL"] = lc_all_backup
end
def test_irb_info_singleline_without_rc_files
@@ -139,6 +153,8 @@ module TestIRB
IRB.conf[:USE_MULTILINE] = false
IRB.conf[:USE_SINGLELINE] = true
IRB.conf[:VERBOSE] = false
+ lang_backup = ENV.delete("LANG")
+ lc_all_backup = ENV.delete("LC_ALL")
workspace = IRB::WorkSpace.new(self)
irb = IRB::Irb.new(workspace, TestInputMethod.new([]))
IRB.conf[:MAIN_CONTEXT] = irb.context
@@ -154,6 +170,37 @@ module TestIRB
ENV["INPUTRC"] = inputrc_backup
IRB.__send__(:remove_const, :IRBRC_EXT)
IRB.const_set(:IRBRC_EXT, ext_backup)
+ ENV["LANG"] = lang_backup
+ ENV["LC_ALL"] = lc_all_backup
+ end
+
+ def test_irb_info_lang
+ FileUtils.touch("#{@tmpdir}/.inputrc")
+ FileUtils.touch("#{@tmpdir}/.irbrc")
+ IRB.setup(__FILE__, argv: [])
+ IRB.conf[:USE_MULTILINE] = true
+ IRB.conf[:USE_SINGLELINE] = false
+ IRB.conf[:VERBOSE] = false
+ lang_backup = ENV.delete("LANG")
+ lc_all_backup = ENV.delete("LC_ALL")
+ ENV["LANG"] = "ja_JP.UTF-8"
+ ENV["LC_ALL"] = "en_US.UTF-8"
+ workspace = IRB::WorkSpace.new(self)
+ irb = IRB::Irb.new(workspace, TestInputMethod.new([]))
+ IRB.conf[:MAIN_CONTEXT] = irb.context
+ expected = %r{
+ Ruby\sversion: .+\n
+ IRB\sversion:\sirb .+\n
+ InputMethod:\sAbstract\sInputMethod\n
+ \.irbrc\spath: .+\n
+ RUBY_PLATFORM: .+\n
+ LANG\senv:\sja_JP\.UTF-8\n
+ LC_ALL\s env:\sen_US\.UTF-8\n
+ }x
+ assert_match expected, irb.context.main.irb_info.to_s
+ ensure
+ ENV["LANG"] = lang_backup
+ ENV["LC_ALL"] = lc_all_backup
end
def test_measure