From fcbf63e62c627deae76c1b8cb8c0876c536ed811 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 16 Mar 2020 18:49:26 +0900 Subject: Fresh start --- jni/ruby/test/psych/test_tree_builder.rb | 79 ++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 jni/ruby/test/psych/test_tree_builder.rb (limited to 'jni/ruby/test/psych/test_tree_builder.rb') diff --git a/jni/ruby/test/psych/test_tree_builder.rb b/jni/ruby/test/psych/test_tree_builder.rb new file mode 100644 index 0000000..7ad3ddd --- /dev/null +++ b/jni/ruby/test/psych/test_tree_builder.rb @@ -0,0 +1,79 @@ +require_relative 'helper' + +module Psych + class TestTreeBuilder < TestCase + def setup + super + @parser = Psych::Parser.new TreeBuilder.new + @parser.parse(<<-eoyml) +%YAML 1.1 +--- +- foo +- { + bar : &A !!str baz, + boo : *A +} +- *A + eoyml + @tree = @parser.handler.root + end + + def test_stream + assert_instance_of Nodes::Stream, @tree + end + + def test_documents + assert_equal 1, @tree.children.length + assert_instance_of Nodes::Document, @tree.children.first + doc = @tree.children.first + + assert_equal [1,1], doc.version + assert_equal [], doc.tag_directives + assert_equal false, doc.implicit + end + + def test_sequence + doc = @tree.children.first + assert_equal 1, doc.children.length + + seq = doc.children.first + assert_instance_of Nodes::Sequence, seq + assert_nil seq.anchor + assert_nil seq.tag + assert_equal true, seq.implicit + assert_equal Nodes::Sequence::BLOCK, seq.style + end + + def test_scalar + doc = @tree.children.first + seq = doc.children.first + + assert_equal 3, seq.children.length + scalar = seq.children.first + assert_instance_of Nodes::Scalar, scalar + assert_equal 'foo', scalar.value + assert_nil scalar.anchor + assert_nil scalar.tag + assert_equal true, scalar.plain + assert_equal false, scalar.quoted + assert_equal Nodes::Scalar::PLAIN, scalar.style + end + + def test_mapping + doc = @tree.children.first + seq = doc.children.first + map = seq.children[1] + + assert_instance_of Nodes::Mapping, map + end + + def test_alias + doc = @tree.children.first + seq = doc.children.first + assert_equal 3, seq.children.length + al = seq.children[2] + assert_instance_of Nodes::Alias, al + assert_equal 'A', al.anchor + end + end +end -- cgit v1.2.3