From ac8b1869c0b80fd948a6a50d2a737123b5fa5bd2 Mon Sep 17 00:00:00 2001 From: tenderlove Date: Wed, 9 Jan 2013 19:26:36 +0000 Subject: * ext/psych/lib/psych/visitors/yaml_tree.rb: ascii only binary strings will be dumped as unicode. Thanks Paul Kunysch! * test/psych/test_string.rb: appropriate test git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/psych/lib/psych/visitors/yaml_tree.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'ext/psych') diff --git a/ext/psych/lib/psych/visitors/yaml_tree.rb b/ext/psych/lib/psych/visitors/yaml_tree.rb index 5efb654aab..ce40a17eb3 100644 --- a/ext/psych/lib/psych/visitors/yaml_tree.rb +++ b/ext/psych/lib/psych/visitors/yaml_tree.rb @@ -221,9 +221,10 @@ module Psych end def binary? string - string.encoding == Encoding::ASCII_8BIT || + (string.encoding == Encoding::ASCII_8BIT && !string.ascii_only?) || string.index("\x00") || - string.count("\x00-\x7F", "^ -~\t\r\n").fdiv(string.length) > 0.3 + string.count("\x00-\x7F", "^ -~\t\r\n").fdiv(string.length) > 0.3 || + string.class != String end private :binary? -- cgit v1.2.3