summaryrefslogtreecommitdiff
path: root/test/ruby/test_env.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby/test_env.rb')
-rw-r--r--test/ruby/test_env.rb16
1 files changed, 12 insertions, 4 deletions
diff --git a/test/ruby/test_env.rb b/test/ruby/test_env.rb
index cdadeac148..949913b590 100644
--- a/test/ruby/test_env.rb
+++ b/test/ruby/test_env.rb
@@ -2,7 +2,9 @@
require 'test/unit'
class TestEnv < Test::Unit::TestCase
- IGNORE_CASE = /bccwin|mswin|mingw/ =~ RUBY_PLATFORM
+ windows = /bccwin|mswin|mingw/ =~ RUBY_PLATFORM
+ IGNORE_CASE = windows
+ ENCODING = windows ? Encoding::UTF_8 : Encoding.find("locale")
PATH_ENV = "PATH"
INVALID_ENVVARS = [
"foo\0bar",
@@ -353,6 +355,13 @@ class TestEnv < Test::Unit::TestCase
end
end
+ def test_inspect_encoding
+ ENV.clear
+ key = "VAR\u{e5 e1 e2 e4 e3 101 3042}"
+ ENV[key] = "foo"
+ assert_equal(%{{#{(key.encode(ENCODING) rescue key.b).inspect}=>"foo"}}, ENV.inspect)
+ end
+
def test_to_a
ENV.clear
ENV["foo"] = "bar"
@@ -403,8 +412,7 @@ class TestEnv < Test::Unit::TestCase
assert_equal("foo", v)
end
assert_invalid_env {|var| ENV.assoc(var)}
- encoding = /mswin|mingw/ =~ RUBY_PLATFORM ? Encoding::UTF_8 : Encoding.find("locale")
- assert_equal(encoding, v.encoding)
+ assert_equal(ENCODING, v.encoding)
end
def test_has_value2
@@ -517,7 +525,7 @@ class TestEnv < Test::Unit::TestCase
assert_equal(huge_value, ENV["foo"])
end
- if /mswin|mingw/ =~ RUBY_PLATFORM
+ if windows
def windows_version
@windows_version ||= %x[ver][/Version (\d+)/, 1].to_i
end