mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 d85bf93776
			
		
	
	
		d85bf93776
		
	
	
	
	
		
			
			git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			79 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| 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
 |