diff options
author | Jari Vetoniemi <jari.vetoniemi@indooratlas.com> | 2020-03-16 18:49:26 +0900 |
---|---|---|
committer | Jari Vetoniemi <jari.vetoniemi@indooratlas.com> | 2020-03-30 00:39:06 +0900 |
commit | fcbf63e62c627deae76c1b8cb8c0876c536ed811 (patch) | |
tree | 64cb17de3f41a2b6fef2368028fbd00349946994 /jni/ruby/test/psych/test_tree_builder.rb |
Fresh start
Diffstat (limited to 'jni/ruby/test/psych/test_tree_builder.rb')
-rw-r--r-- | jni/ruby/test/psych/test_tree_builder.rb | 79 |
1 files changed, 79 insertions, 0 deletions
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 |