Sha256: 5bcd0246d598ddde4cb9c2ec9816c9bbeb9049f6f91c3a068f9107d2f9d909f8
Contents?: true
Size: 910 Bytes
Versions: 5
Compression:
Stored size: 910 Bytes
Contents
require 'spec_helper' require 'dentaku/ast/node' require 'dentaku/tokenizer' require 'dentaku/parser' describe Dentaku::AST::Node do it 'returns list of dependencies' do node = make_node('x + 5') expect(node.dependencies).to eq ['x'] node = make_node('5 < x') expect(node.dependencies).to eq ['x'] node = make_node('5 < 7') expect(node.dependencies).to eq [] node = make_node('(y * 7)') expect(node.dependencies).to eq ['y'] node = make_node('if(x > 5, y, z)') expect(node.dependencies).to eq ['x', 'y', 'z'] node = make_node('if(x > 5, y, z)') expect(node.dependencies('x' => 7)).to eq ['y', 'z'] end it 'returns unique list of dependencies' do node = make_node('x + x') expect(node.dependencies).to eq ['x'] end private def make_node(expression) Dentaku::Parser.new(Dentaku::Tokenizer.new.tokenize(expression)).parse end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
dentaku-2.0.4 | spec/ast/node_spec.rb |
dentaku-2.0.3 | spec/ast/node_spec.rb |
dentaku-2.0.2 | spec/ast/node_spec.rb |
dentaku-2.0.1 | spec/ast/node_spec.rb |
dentaku-2.0.0 | spec/ast/node_spec.rb |