diff options
-rw-r--r-- | ext/psych/depend | 3 | ||||
-rw-r--r-- | test/psych/helper.rb | 30 | ||||
-rw-r--r-- | test/psych/test_deprecated.rb | 2 | ||||
-rw-r--r-- | test/psych/test_encoding.rb | 6 |
4 files changed, 36 insertions, 5 deletions
diff --git a/ext/psych/depend b/ext/psych/depend new file mode 100644 index 0000000..79b6c53 --- /dev/null +++ b/ext/psych/depend @@ -0,0 +1,3 @@ +$(OBJS): $(HDRS) $(ruby_headers) \ + $(hdrdir)/ruby/encoding.h \ + $(hdrdir)/ruby/oniguruma.h diff --git a/test/psych/helper.rb b/test/psych/helper.rb index 0aae699..77ab0bb 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 1d853e1..fd2d329 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 4f26fa3..e370606 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 |