36 lines
872 B
Ruby
36 lines
872 B
Ruby
require './parser'
|
|
|
|
class QueryParserTester
|
|
describe 'Testing the Parser' do
|
|
before do
|
|
@evaluator = Query.new
|
|
end
|
|
|
|
it 'tests query with only one search term without quotes and without column name' do
|
|
@result = @evaluator.parse('-123')
|
|
|
|
expect(@result[:DEFAULT_COLUMN]).to eq '-123'
|
|
end
|
|
|
|
it 'tests query with only one search term with quotes and without column name' do
|
|
@result = @evaluator.parse('"OR 128"')
|
|
|
|
expect(@result[:DEFAULT_COLUMN]).to eq '"OR 128"'
|
|
end
|
|
|
|
it 'tests query with one column and search term without quotes' do
|
|
@result = @evaluator.parse('tag:mta')
|
|
|
|
expect(@result['tag']).to eq 'mta'
|
|
end
|
|
|
|
it 'tests query with one column and search term with quotes' do
|
|
@result = @evaluator.parse('tag:"tag 120"')
|
|
|
|
expect(@result['tag']).to eq '"tag 120"'
|
|
end
|
|
|
|
|
|
end
|
|
end
|