summaryrefslogtreecommitdiff
path: root/test/psych
diff options
context:
space:
mode:
authortenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-05-14 17:07:51 +0000
committertenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-05-14 17:07:51 +0000
commitd7f06a665c8e5b4ec83b6baa4a7532fc7ad7f24a (patch)
tree69cdc9936dcf7a24515547ab11dc263a4cc6f887 /test/psych
parent0b8f727d7b3cd162ccba570d17ebf1ae72bd120a (diff)
* test/psych/helper.rb: envutil is not available outside Ruby, so
port the functions from envutil to the test helper. * test/psych/test_deprecated.rb: ditto * test/psych/test_encoding.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/psych')
-rw-r--r--test/psych/helper.rb30
-rw-r--r--test/psych/test_deprecated.rb2
-rw-r--r--test/psych/test_encoding.rb6
3 files changed, 33 insertions, 5 deletions
diff --git a/test/psych/helper.rb b/test/psych/helper.rb
index 0aae69971e5..77ab0bb9d71 100644
--- a/test/psych/helper.rb
+++ b/test/psych/helper.rb
@@ -3,10 +3,38 @@ require 'stringio'
require 'tempfile'
require 'date'
require 'psych'
-require_relative '../ruby/envutil'
module Psych
class TestCase < MiniTest::Unit::TestCase
+ def self.suppress_warning
+ verbose, $VERBOSE = $VERBOSE, nil
+ yield
+ ensure
+ $VERBOSE = verbose
+ end
+
+ 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
+
+ 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
+
#
# Convert between Psych and the object to verify correct parsing and
# emitting
diff --git a/test/psych/test_deprecated.rb b/test/psych/test_deprecated.rb
index 1d853e13711..fd2d3299e30 100644
--- a/test/psych/test_deprecated.rb
+++ b/test/psych/test_deprecated.rb
@@ -147,7 +147,7 @@ module Psych
end
class YamlAs
- EnvUtil.suppress_warning do
+ TestCase.suppress_warning do
psych_yaml_as 'helloworld' # this should be yaml_as but to avoid syck
end
end
diff --git a/test/psych/test_encoding.rb b/test/psych/test_encoding.rb
index 4f26fa3c9c2..e370606c771 100644
--- a/test/psych/test_encoding.rb
+++ b/test/psych/test_encoding.rb
@@ -110,8 +110,8 @@ module Psych
end
def test_to_yaml_is_valid
- EnvUtil.with_default_external(Encoding::US_ASCII) do
- EnvUtil.with_default_internal(nil) do
+ with_default_external(Encoding::US_ASCII) do
+ with_default_internal(nil) do
s = "こんにちは!"
# If no encoding is specified, use UTF-8
assert_equal Encoding::UTF_8, Psych.dump(s).encoding
@@ -182,7 +182,7 @@ module Psych
end
def test_default_internal
- EnvUtil.with_default_internal(Encoding::EUC_JP) do
+ with_default_internal(Encoding::EUC_JP) do
str = "壁に耳あり、障子に目あり"
assert_equal @utf8, str.encoding