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/visitors/test_depth_first.rb |
Fresh start
Diffstat (limited to 'jni/ruby/test/psych/visitors/test_depth_first.rb')
-rw-r--r-- | jni/ruby/test/psych/visitors/test_depth_first.rb | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/jni/ruby/test/psych/visitors/test_depth_first.rb b/jni/ruby/test/psych/visitors/test_depth_first.rb new file mode 100644 index 0000000..837c8e8 --- /dev/null +++ b/jni/ruby/test/psych/visitors/test_depth_first.rb @@ -0,0 +1,49 @@ +require 'psych/helper' + +module Psych + module Visitors + class TestDepthFirst < TestCase + class Collector < Struct.new(:calls) + def initialize(calls = []) + super + end + + def call obj + calls << obj + end + end + + def test_scalar + collector = Collector.new + visitor = Visitors::DepthFirst.new collector + visitor.accept Psych.parse_stream '--- hello' + + assert_equal 3, collector.calls.length + end + + def test_sequence + collector = Collector.new + visitor = Visitors::DepthFirst.new collector + visitor.accept Psych.parse_stream "---\n- hello" + + assert_equal 4, collector.calls.length + end + + def test_mapping + collector = Collector.new + visitor = Visitors::DepthFirst.new collector + visitor.accept Psych.parse_stream "---\nhello: world" + + assert_equal 5, collector.calls.length + end + + def test_alias + collector = Collector.new + visitor = Visitors::DepthFirst.new collector + visitor.accept Psych.parse_stream "--- &yay\n- foo\n- *yay\n" + + assert_equal 5, collector.calls.length + end + end + end +end |