pull/281/head
Rick Carlino 2016-10-13 13:42:25 -05:00
parent fd596b6b4d
commit 292fa20eea
2 changed files with 25 additions and 13 deletions

View File

@ -7,22 +7,30 @@
# CeleryScript::AstNode.new(JSON.parse(file_path).deep_symbolize_keys)
# end
# class LeafValue
# end
# class NodeValue
# end
# # class LeafValue
# # attr_reader :val
# # def initialize(val)
# # @val = val
# # end
# # end
# # class NodeValue
# # attr_reader :val
# # def initialize(val)
# # @val = val
# # end
# # end
# let (:corpus) do
# CeleryScript::Corpus
# .new
# .defineArg(:data_label, [Leaf.new(String)])
# .defineArg(:data_type, [Leaf.new(String)])
# .defineArg(:data_value, [Leaf.new(Fixnum),
# NodeValue.new(:var_get)])
# .defineArg(:x, [NodeValue.new(:blah)]) do |param, problem|
# .defineArg(:data_label, [String])
# .defineArg(:data_type, [String])
# .defineArg(:data_value, [Fixnum, :var_get])
# .defineArg(:x, [:blah]) do |param, problem|
# problem("Param can't be -1") if param < 0
# end
# .defineNode(:sequence, [:x], [:other, :whatever])
# # Kind: # args: # body:
# .defineNode(:sequence, [:x], [:other, :whatever])
# .defineNode(:blah, [:data_value, :data_type])
# .defineNode(:var_get, [:data_label])
# .defineNode(:whatever, [:data_type, :data_value])
@ -31,8 +39,11 @@
# end
# it "runs" do
# checker = CeleryScript::Checker.new(tree, corpus)
# ok = checker.run
# binding.pry
# begin
# checker = CeleryScript::Checker.new(tree, corpus)
# outcome = checker.run!
# rescue => CeleryScript::TypeCheckError
# binding.pry
# end
# end
# end

View File

@ -19,6 +19,7 @@ describe CeleryScript::TreeClimber do
end
it "searches the tree for a specific `kind`" do
# TODO: Remove this in the name of simplicity?
query = CeleryScript::TreeClimber.find_all_by_kind(node, "var_get")
expect(query.length).to eq(1)
expect(query.first.kind).to eq("var_get")