Sha256: ce5203f63aab32eff5f9c4805bf916bdcedee970b894a90ed87fcd0f894928ac

Contents?: true

Size: 1.02 KB

Versions: 1

Compression:

Stored size: 1.02 KB

Contents

RSpec::Matchers.define :be_infix_operator do |operator|
  match { |node| node.kind_of?(ScopedSearch::QueryLanguage::AST::OperatorNode) && node.infix? && (operator.nil? || operator == node.operator) }
end

RSpec::Matchers.define :be_prefix_operator do |operator|
  match { |node| node.kind_of?(ScopedSearch::QueryLanguage::AST::OperatorNode) && node.prefix? && (operator.nil? || operator == node.operator) }
end

RSpec::Matchers.define :be_logical_operator do |operator|
  match { |node| node.kind_of?(ScopedSearch::QueryLanguage::AST::LogicalOperatorNode) && (operator.nil? || operator == node.operator) }
end

RSpec::Matchers.define :be_leaf_node do |value|
  match { |node| node.kind_of?(ScopedSearch::QueryLanguage::AST::LeafNode) && (value.nil? || value == node.value) }
end

RSpec::Matchers.define :tokenize_to do |*tokens|
  match { |str| tokens == ScopedSearch::QueryLanguage::Compiler.tokenize(str) }
end

RSpec::Matchers.define :parse_to do |tree|
  match { |str| tree == ScopedSearch::QueryLanguage::Compiler.parse(str).to_a }
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
scoped_search-2.2.1 spec/lib/matchers.rb