summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authornagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-17 17:24:56 +0000
committernagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-17 17:24:56 +0000
commit520133871f1dfdf9b454f7710f753343c37406cb (patch)
tree1c1b003f9ed7152c9fb24c3d57a888d04acf227b /test
parentc03f37d6096761fb9bb0a9efc2643213f74ea675 (diff)
merge revision(s) 39721:
* test/ruby/envutil.rb (EnvUtil.with_default_external): add for changing Encoding.default_external without warnings. * test/ruby/envutil.rb (EnvUtil.with_default_internal): ditto. * test/ruby/test_io_m17n.rb: use above with_default_external. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@41364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/envutil.rb24
-rw-r--r--test/ruby/test_io_m17n.rb38
2 files changed, 42 insertions, 20 deletions
diff --git a/test/ruby/envutil.rb b/test/ruby/envutil.rb
index 77ecd522f2..0aa97e4341 100644
--- a/test/ruby/envutil.rb
+++ b/test/ruby/envutil.rb
@@ -127,6 +127,30 @@ module EnvUtil
GC.stress = stress
end
module_function :under_gc_stress
+
+ def with_default_external(enc)
+ verbose, $VERBOSE = $VERBOSE, nil
+ origenc, Encoding.default_external = Encoding.default_external, enc
+ $VERBOSE = verbose
+ yield
+ ensure
+ verbose, $VERBOSE = $VERBOSE, nil
+ Encoding.default_external = origenc
+ $VERBOSE = verbose
+ end
+ module_function :with_default_external
+
+ def with_default_internal(enc)
+ verbose, $VERBOSE = $VERBOSE, nil
+ origenc, Encoding.default_internal = Encoding.default_internal, enc
+ $VERBOSE = verbose
+ yield
+ ensure
+ verbose, $VERBOSE = $VERBOSE, nil
+ Encoding.default_internal = origenc
+ $VERBOSE = verbose
+ end
+ module_function :with_default_internal
end
module Test
diff --git a/test/ruby/test_io_m17n.rb b/test/ruby/test_io_m17n.rb
index 031b0f4928..fc7b0ec377 100644
--- a/test/ruby/test_io_m17n.rb
+++ b/test/ruby/test_io_m17n.rb
@@ -479,14 +479,13 @@ EOT
with_tmpdir {
src = "\u3042"
generate_file('tmp', src)
- defext = Encoding.default_external
- Encoding.default_external = Encoding::UTF_8
- open("tmp", "rt") {|f|
- s = f.getc
- assert_equal(true, s.valid_encoding?)
- assert_equal("\u3042", s)
- }
- Encoding.default_external = defext
+ EnvUtil.with_default_external(Encoding::UTF_8) do
+ open("tmp", "rt") {|f|
+ s = f.getc
+ assert_equal(true, s.valid_encoding?)
+ assert_equal("\u3042", s)
+ }
+ end
}
end
@@ -494,17 +493,16 @@ EOT
with_tmpdir {
src = "\xE3\x81"
generate_file('tmp', src)
- defext = Encoding.default_external
- Encoding.default_external = Encoding::UTF_8
- open("tmp", "rt") {|f|
- s = f.getc
- assert_equal(false, s.valid_encoding?)
- assert_equal("\xE3".force_encoding("UTF-8"), s)
- s = f.getc
- assert_equal(false, s.valid_encoding?)
- assert_equal("\x81".force_encoding("UTF-8"), s)
- }
- Encoding.default_external = defext
+ EnvUtil.with_default_external(Encoding::UTF_8) do
+ open("tmp", "rt") {|f|
+ s = f.getc
+ assert_equal(false, s.valid_encoding?)
+ assert_equal("\xE3".force_encoding("UTF-8"), s)
+ s = f.getc
+ assert_equal(false, s.valid_encoding?)
+ assert_equal("\x81".force_encoding("UTF-8"), s)
+ }
+ end
}
end
@@ -1678,7 +1676,7 @@ EOT
u16 = "\x85\x35\0\r\x00\xa2\0\r\0\n\0\n".force_encoding("utf-16be")
i = "\e$B\x42\x22\e(B\r\e$B\x21\x71\e(B\r\n\n".force_encoding("iso-2022-jp")
n = system_newline
- un = n.encode("utf-16be").force_encoding("ascii-8bit")
+ n.encode("utf-16be").force_encoding("ascii-8bit")
assert_write("a\rb\r#{n}c#{n}", "wt", a)
assert_write("\xc2\xa2", "wt", e)