Sha256: 302229c1ec9f5e17c1c0a75d65fe548cdf9b3120b5ae316b5e1c4046c4bed2b4
Contents?: true
Size: 1.55 KB
Versions: 2
Compression:
Stored size: 1.55 KB
Contents
# -*- coding: utf-8 -*- require File.join(File.dirname(__FILE__), "..", "..", "spec_helper") describe TreeNodeVisitor do it "should initialize correctly" do visitor = TreeNodeVisitor.new do on_enter_node do |tree_node| @entered_node = true end on_exit_node do |tree_node| @exit_node = true end on_leaf do |leaf_node| @visit_leaf = true end end visitor.enter_node(nil) visitor.instance_eval{ @entered_node }.should be_true visitor.exit_node(nil) visitor.instance_eval{ @exit_node }.should be_true visitor.visit_leaf(nil) visitor.instance_eval{ @visit_leaf }.should be_true end it "should initialize correctly" do visitor = TreeNodeVisitor.new do on_enter_node do |node, parent| @node = node @parent = parent end on_exit_node do |node, parent| @node = node @parent = parent end on_leaf do |leaf, parent| @leaf = leaf @parent = parent end end visitor.instance_eval{ @stack = ["p"] } visitor.enter_node("n") visitor.instance_eval{ @node }.should == "n" visitor.instance_eval{ @parent }.should == "p" visitor.instance_eval{ @stack }.should have(2).node visitor.exit_node("n") visitor.instance_eval{ @node }.should == "n" visitor.instance_eval{ @stack }.should have(1).node visitor.instance_eval{ @stack = ["p"] } visitor.visit_leaf("l") visitor.instance_eval{ @leaf }.should == "l" visitor.instance_eval{ @parent }.should == "p" end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
tree.rb-0.3.12 | spec/tree_rb/core/tree_node_visitor_dsl_spec.rb |
tree.rb-0.3.11 | spec/tree_rb/core/tree_node_visitor_dsl_spec.rb |