blob: aa222fa1e9c3661aec7ae7b77381a244b973c5ec (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
require 'chef_zero/solr/solr_parser'
require 'chef_zero/solr/solr_doc'
#p = ChefZero::Solr::SolrParser.new('chef_environment:prod AND roles:redis_history_server AND -redis_slaveof:[a TO z]')
describe ChefZero::Solr::SolrParser do
let (:all_docs) do
docs = []
[{'foo' => 1},
{'foo' => 7}].each_with_index do |h, i|
docs.push ChefZero::Solr::SolrDoc.new(h, i)
end
docs
end
it "handles terms" do
q = ChefZero::Solr::SolrParser.new('foo:7').parse
results = all_docs.select {|doc| q.matches_doc?(doc) }
results.size.should eq(1)
end
it "handles ranges" do
q = ChefZero::Solr::SolrParser.new('foo:[1 TO 5]').parse
results = all_docs.select {|doc| q.matches_doc?(doc) }
results.size.should eq(1)
end
end
|