Merge psych-3.0.0.beta3 from ruby/psych.

* Rely on encoding tags to determine if string should be dumped as binary.
    8949a47b8c
  * Specify "frozen_string_literal: true".
  * Support to binary release for mingw32 platform.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
hsbt 2017-07-14 06:15:58 +00:00
Родитель e870af8834
Коммит 0b396d5880
84 изменённых файлов: 144 добавлений и 108 удалений

Просмотреть файл

@ -1,5 +1,5 @@
# -*- coding: us-ascii -*-
# frozen_string_literal: false
# frozen_string_literal: true
require 'mkmf'
require 'fileutils'

Просмотреть файл

@ -1,11 +1,15 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/versions'
case RUBY_ENGINE
when 'jruby'
require 'psych_jars'
org.jruby.ext.psych.PsychLibrary.new.load(JRuby.runtime, false)
else
require 'psych.so'
begin
require "#{RUBY_VERSION[/\d+\.\d+/]}/psych.so"
rescue LoadError
require 'psych.so'
end
end
require 'psych/nodes'
require 'psych/streaming'

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/omap'
require 'psych/set'

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
###
# If an object defines +encode_with+, then an instance of Psych::Coder will

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
class Object
def self.yaml_tag url
Psych.add_tag(url, self)

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
class Exception < RuntimeError
end

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
###
# Psych::Handler is an abstract base class that defines the events used

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/tree_builder'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/handler'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
module JSON
module RubyEvents # :nodoc:

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/json/ruby_events'
require 'psych/json/yaml_events'

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/json/yaml_events'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
module JSON
module YAMLEvents # :nodoc:

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/nodes/node'
require 'psych/nodes/stream'
require 'psych/nodes/document'

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
module Nodes
###

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
module Nodes
###

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
module Nodes
###

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'stringio'
require 'psych/class_loader'
require 'psych/scalar_scanner'

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
module Nodes
###

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
module Nodes
###

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
module Nodes
###

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
class Omap < ::Hash
end

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
###
# YAML event parser class. This class parses a YAML document and calls

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'strscan'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
class Set < ::Hash
end

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
###
# Psych::Stream is a streaming YAML emitter. It will not buffer your YAML,

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
module Streaming
module ClassMethods

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/exception'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/handler'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
# The version is Psych you're using
VERSION = '3.0.0.beta2'

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/visitors/visitor'
require 'psych/visitors/to_ruby'
require 'psych/visitors/emitter'

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
module Visitors
class DepthFirst < Psych::Visitors::Visitor

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
module Visitors
class Emitter < Psych::Visitors::Visitor

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/json/ruby_events'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/scalar_scanner'
require 'psych/class_loader'
require 'psych/exception'

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Psych
module Visitors
class Visitor

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/tree_builder'
require 'psych/scalar_scanner'
require 'psych/class_loader'
@ -321,7 +321,7 @@ module Psych
end
@emitter.scalar o, nil, tag, plain, quote, style
else
maptag = '!ruby/string'
maptag = '!ruby/string'.dup
maptag << ":#{o.class}" unless o.class == ::String
register o, @emitter.start_mapping(nil, maptag, false, Nodes::Mapping::BLOCK)
@ -378,14 +378,18 @@ module Psych
def visit_Array o
if o.class == ::Array
register o, @emitter.start_sequence(nil, nil, true, Nodes::Sequence::BLOCK)
o.each { |c| accept c }
@emitter.end_sequence
visit_Enumerator o
else
visit_array_subclass o
end
end
def visit_Enumerator o
register o, @emitter.start_sequence(nil, nil, true, Nodes::Sequence::BLOCK)
o.each { |c| accept c }
@emitter.end_sequence
end
def visit_NilClass o
@emitter.scalar('', nil, 'tag:yaml.org,2002:null', true, false, Nodes::Scalar::ANY)
end
@ -411,15 +415,9 @@ module Psych
end
private
# FIXME: Remove the index and count checks in Psych 3.0
NULL = "\x00"
BINARY_RANGE = "\x00-\x7F"
WS_RANGE = "^ -~\t\r\n"
def binary? string
(string.encoding == Encoding::ASCII_8BIT && !string.ascii_only?) ||
string.index(NULL) ||
string.count(BINARY_RANGE, WS_RANGE).fdiv(string.length) > 0.3
string.encoding == Encoding::ASCII_8BIT && !string.ascii_only?
end
def visit_array_subclass o

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
module Kernel
###
# An alias for Psych.dump_stream meant to be used with IRB.

Просмотреть файл

@ -1,4 +1,5 @@
# -*- encoding: utf-8 -*-
# frozen_string_literal: true
Gem::Specification.new do |s|
s.name = "psych"
@ -17,7 +18,25 @@ DESCRIPTION
s.require_paths = ["lib"]
# for ruby core repository. It was generated by `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
s.files = [".gitignore", ".travis.yml", "CHANGELOG.rdoc", "Gemfile", "Mavenfile", "README.md", "Rakefile", "bin/console", "bin/setup", "ext/psych/.gitignore", "ext/psych/depend", "ext/psych/extconf.rb", "ext/psych/psych.c", "ext/psych/psych.h", "ext/psych/psych_emitter.c", "ext/psych/psych_emitter.h", "ext/psych/psych_parser.c", "ext/psych/psych_parser.h", "ext/psych/psych_to_ruby.c", "ext/psych/psych_to_ruby.h", "ext/psych/psych_yaml_tree.c", "ext/psych/psych_yaml_tree.h", "ext/psych/yaml/LICENSE", "ext/psych/yaml/api.c", "ext/psych/yaml/config.h", "ext/psych/yaml/dumper.c", "ext/psych/yaml/emitter.c", "ext/psych/yaml/loader.c", "ext/psych/yaml/parser.c", "ext/psych/yaml/reader.c", "ext/psych/yaml/scanner.c", "ext/psych/yaml/writer.c", "ext/psych/yaml/yaml.h", "ext/psych/yaml/yaml_private.h", "lib/psych.rb", "lib/psych/class_loader.rb", "lib/psych/coder.rb", "lib/psych/core_ext.rb", "lib/psych/exception.rb", "lib/psych/handler.rb", "lib/psych/handlers/document_stream.rb", "lib/psych/handlers/recorder.rb", "lib/psych/json/ruby_events.rb", "lib/psych/json/stream.rb", "lib/psych/json/tree_builder.rb", "lib/psych/json/yaml_events.rb", "lib/psych/nodes.rb", "lib/psych/nodes/alias.rb", "lib/psych/nodes/document.rb", "lib/psych/nodes/mapping.rb", "lib/psych/nodes/node.rb", "lib/psych/nodes/scalar.rb", "lib/psych/nodes/sequence.rb", "lib/psych/nodes/stream.rb", "lib/psych/omap.rb", "lib/psych/parser.rb", "lib/psych/scalar_scanner.rb", "lib/psych/set.rb", "lib/psych/stream.rb", "lib/psych/streaming.rb", "lib/psych/syntax_error.rb", "lib/psych/tree_builder.rb", "lib/psych/versions.rb", "lib/psych/visitors.rb","lib/psych/visitors/depth_first.rb", "lib/psych/visitors/emitter.rb", "lib/psych/visitors/json_tree.rb", "lib/psych/visitors/to_ruby.rb", "lib/psych/visitors/visitor.rb", "lib/psych/visitors/yaml_tree.rb", "lib/psych/y.rb", "psych.gemspec"]
s.files = [
".gitignore", ".travis.yml", "CHANGELOG.rdoc", "Gemfile", "Mavenfile", "README.md", "Rakefile", "bin/console",
"bin/setup", "ext/psych/.gitignore", "ext/psych/depend", "ext/psych/extconf.rb", "ext/psych/psych.c", "ext/psych/psych.h",
"ext/psych/psych_emitter.c", "ext/psych/psych_emitter.h", "ext/psych/psych_parser.c", "ext/psych/psych_parser.h",
"ext/psych/psych_to_ruby.c", "ext/psych/psych_to_ruby.h", "ext/psych/psych_yaml_tree.c", "ext/psych/psych_yaml_tree.h",
"ext/psych/yaml/LICENSE", "ext/psych/yaml/api.c", "ext/psych/yaml/config.h", "ext/psych/yaml/dumper.c",
"ext/psych/yaml/emitter.c", "ext/psych/yaml/loader.c", "ext/psych/yaml/parser.c", "ext/psych/yaml/reader.c",
"ext/psych/yaml/scanner.c", "ext/psych/yaml/writer.c", "ext/psych/yaml/yaml.h", "ext/psych/yaml/yaml_private.h",
"lib/psych.rb", "lib/psych/class_loader.rb", "lib/psych/coder.rb", "lib/psych/core_ext.rb", "lib/psych/exception.rb",
"lib/psych/handler.rb", "lib/psych/handlers/document_stream.rb", "lib/psych/handlers/recorder.rb",
"lib/psych/json/ruby_events.rb", "lib/psych/json/stream.rb", "lib/psych/json/tree_builder.rb",
"lib/psych/json/yaml_events.rb", "lib/psych/nodes.rb", "lib/psych/nodes/alias.rb", "lib/psych/nodes/document.rb",
"lib/psych/nodes/mapping.rb", "lib/psych/nodes/node.rb", "lib/psych/nodes/scalar.rb", "lib/psych/nodes/sequence.rb",
"lib/psych/nodes/stream.rb", "lib/psych/omap.rb", "lib/psych/parser.rb", "lib/psych/scalar_scanner.rb",
"lib/psych/set.rb", "lib/psych/stream.rb", "lib/psych/streaming.rb", "lib/psych/syntax_error.rb",
"lib/psych/tree_builder.rb", "lib/psych/versions.rb", "lib/psych/visitors.rb","lib/psych/visitors/depth_first.rb",
"lib/psych/visitors/emitter.rb", "lib/psych/visitors/json_tree.rb", "lib/psych/visitors/to_ruby.rb",
"lib/psych/visitors/visitor.rb", "lib/psych/visitors/yaml_tree.rb", "lib/psych/y.rb", "psych.gemspec"
]
s.rdoc_options = ["--main", "README.md"]
s.extra_rdoc_files = ["CHANGELOG.rdoc", "README.md"]
@ -31,11 +50,15 @@ DESCRIPTION
if RUBY_ENGINE == 'jruby'
s.platform = 'java'
s.files.concat ["ext/java/PsychEmitter.java", "ext/java/PsychLibrary.java", "ext/java/PsychParser.java", "ext/java/PsychToRuby.java", "ext/java/PsychYamlTree.java", "lib/psych_jars.rb", "lib/psych.jar"]
s.files.concat [
"ext/java/PsychEmitter.java", "ext/java/PsychLibrary.java", "ext/java/PsychParser.java", "ext/java/PsychToRuby.java",
"ext/java/PsychYamlTree.java", "lib/psych_jars.rb", "lib/psych.jar"
]
s.requirements = "jar org.yaml:snakeyaml, 1.18"
s.add_dependency 'jar-dependencies', '>= 0.1.7'
s.add_development_dependency 'ruby-maven'
else
s.extensions = ["ext/psych/extconf.rb"]
s.add_development_dependency 'rake-compiler-dock', ">= 0.6.1"
end
end

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/helper'
require 'psych/handlers/recorder'

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'minitest/autorun'
require 'stringio'
require 'tempfile'

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
class ObjectWithInstanceVariables

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych
@ -15,6 +15,12 @@ module Psych
@list = [{ :a => 'b' }, 'foo']
end
def test_enumerator
x = [1, 2, 3, 4]
y = Psych.load Psych.dump x.to_enum
assert_equal x, y
end
def test_another_subclass_with_attributes
y = Y.new.tap {|o| o.val = 1}
y << "foo" << "bar"

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
require 'date'

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
@ -7,7 +7,7 @@ module Psych
class TestEmitter < TestCase
def setup
super
@out = StringIO.new('')
@out = StringIO.new(''.dup)
@emitter = Psych::Emitter.new @out
end

Просмотреть файл

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
require 'delegate'

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
require 'bigdecimal'

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,5 +1,5 @@
# coding: utf-8
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
require 'stringio'
@ -84,7 +84,7 @@ class TestPsych < Psych::TestCase
def test_dump_io
hash = {'hello' => 'TGIF!'}
stringio = StringIO.new ''
stringio = StringIO.new ''.dup
assert_equal stringio, Psych.dump(hash, stringio)
assert_equal Psych.dump(hash), stringio.string
end

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/helper'
module Psych

Просмотреть файл

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
@ -8,5 +8,10 @@ module Psych
def test_utf_8
assert_equal "日本語", Psych.load("--- 日本語")
end
def test_some_bytes # Ticket #278
x = "\xEF\xBF\xBD\x1F"
assert_cycle x
end
end
end

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
require 'date'

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,5 +1,5 @@
# encoding: UTF-8
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych
@ -166,7 +166,7 @@ string: &70121654388580 !ruby/string
end
def test_nonascii_string_as_binary
string = "hello \x80 world!"
string = "hello \x80 world!".dup
string.force_encoding 'ascii-8bit'
yml = Psych.dump string
assert_match(/binary/, yml)
@ -174,7 +174,7 @@ string: &70121654388580 !ruby/string
end
def test_binary_string_null
string = "\x00"
string = "\x00\x92".b
yml = Psych.dump string
assert_match(/binary/, yml)
assert_equal string, Psych.load(yml)
@ -187,8 +187,8 @@ string: &70121654388580 !ruby/string
assert_equal string, Psych.load(yml)
end
def test_non_binary_string
string = binary_string(0.29)
def test_ascii_only_binary_string
string = "non bnry string".b
yml = Psych.dump string
refute_match(/binary/, yml)
assert_equal string, Psych.load(yml)
@ -202,7 +202,7 @@ string: &70121654388580 !ruby/string
end
def test_string_with_ivars
food = "is delicious"
food = "is delicious".dup
ivar = "on rock and roll"
food.instance_variable_set(:@we_built_this_city, ivar)
@ -220,9 +220,9 @@ string: &70121654388580 !ruby/string
end
def binary_string percentage = 0.31, length = 100
string = ''
string = ''.b
(percentage * length).to_i.times do |i|
string << "\b"
string << "\x92".b
end
string << 'a' * (length - string.length)
string

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
class PsychStructWithIvar < Struct.new(:foo)

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych
@ -90,7 +90,7 @@ module Psych
end
def assert_taintedness string
@parser.parse string.taint
@parser.parse string.dup.taint
end
end

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
module Psych

Просмотреть файл

@ -1,5 +1,5 @@
# -*- coding: us-ascii; mode: ruby; ruby-indent-level: 4; tab-width: 4 -*-
# frozen_string_literal: false
# frozen_string_literal: true
# vim:sw=4:ts=4
# $Id$
#

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
require 'tmpdir'

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require_relative 'helper'
require 'yaml/store'
require 'tmpdir'

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/helper'
module Psych

Просмотреть файл

@ -1,5 +1,5 @@
# coding: US-ASCII
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/helper'
module Psych

Просмотреть файл

@ -1,4 +1,4 @@
# frozen_string_literal: false
# frozen_string_literal: true
require 'psych/helper'
module Psych
@ -37,7 +37,7 @@ module Psych
end
def test_binary_formatting
gif = "GIF89a\f\x00\f\x00\x84\x00\x00\xFF\xFF\xF7\xF5\xF5\xEE\xE9\xE9\xE5fff\x00\x00\x00\xE7\xE7\xE7^^^\xF3\xF3\xED\x8E\x8E\x8E\xE0\xE0\xE0\x9F\x9F\x9F\x93\x93\x93\xA7\xA7\xA7\x9E\x9E\x9Eiiiccc\xA3\xA3\xA3\x84\x84\x84\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9!\xFE\x0EMade with GIMP\x00,\x00\x00\x00\x00\f\x00\f\x00\x00\x05, \x8E\x810\x9E\xE3@\x14\xE8i\x10\xC4\xD1\x8A\b\x1C\xCF\x80M$z\xEF\xFF0\x85p\xB8\xB01f\r\e\xCE\x01\xC3\x01\x1E\x10' \x82\n\x01\x00;"
gif = "GIF89a\f\x00\f\x00\x84\x00\x00\xFF\xFF\xF7\xF5\xF5\xEE\xE9\xE9\xE5fff\x00\x00\x00\xE7\xE7\xE7^^^\xF3\xF3\xED\x8E\x8E\x8E\xE0\xE0\xE0\x9F\x9F\x9F\x93\x93\x93\xA7\xA7\xA7\x9E\x9E\x9Eiiiccc\xA3\xA3\xA3\x84\x84\x84\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9\xFF\xFE\xF9!\xFE\x0EMade with GIMP\x00,\x00\x00\x00\x00\f\x00\f\x00\x00\x05, \x8E\x810\x9E\xE3@\x14\xE8i\x10\xC4\xD1\x8A\b\x1C\xCF\x80M$z\xEF\xFF0\x85p\xB8\xB01f\r\e\xCE\x01\xC3\x01\x1E\x10' \x82\n\x01\x00;".b
@v << gif
scalar = @v.tree.children.first.children.first
assert_equal Psych::Nodes::Scalar::LITERAL, scalar.style