Sha256: 6a9ce82ed6002c9bda311f06c3e2d9ef01105388862a9bcabc382b42def0b0e6

Contents?: true

Size: 872 Bytes

Versions: 7

Compression:

Stored size: 872 Bytes

Contents

require 'murlsh'

describe Murlsh::SearchGrammar do
  subject { parser }
  let(:parser) { Murlsh::SearchGrammarParser.new }

  context 'when query is the empty string' do
    specify { parser.parse('').content.should == [] }
  end

  context 'when query is a single term' do
    specify { parser.parse('foo').content.should == %w{foo} }
  end

  context 'when query is multiple terms' do
    specify { parser.parse('foo bar').content.should == %w{foo bar} }
  end

  context 'when query has extra whitespace' do
    specify { parser.parse('   foo  bar ').content.should == %w{foo bar} }
  end

  context 'when query has quotes' do
    specify { parser.parse('"foo bar"').content.should == ['foo bar'] }
  end

  context 'when query has quotes and multiple terms' do
    specify {
      parser.parse('"foo bar" derp').content.should == ['foo bar', 'derp']
    }
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
murlsh-1.9.3 spec/search_grammar_spec.rb
murlsh-1.9.2 spec/search_grammar_spec.rb
murlsh-1.9.1 spec/search_grammar_spec.rb
murlsh-1.9.0 spec/search_grammar_spec.rb
murlsh-1.8.0 spec/search_grammar_spec.rb
murlsh-1.7.1 spec/search_grammar_spec.rb
murlsh-1.7.0 spec/search_grammar_spec.rb