rspec-solr 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml CHANGED
@@ -3,7 +3,6 @@ script: rake rspec
3
3
  rvm:
4
4
  - 1.9.3
5
5
  - 1.9.2
6
- - jruby-18mode
7
6
  - jruby-19mode
8
7
  notifications:
9
8
  email:
@@ -39,7 +39,7 @@ module RSpec
39
39
  if @before_expected
40
40
  "expected #{@actual.inspect} to #{name_to_sentence} #{doc_label_str(@expected)}#{expected_to_sentence} before #{doc_label_str(@before_expected)} matching #{@before_expected.inspect}"
41
41
  elsif @min_for_last_matching_doc_pos
42
- "expected each of the first #{@min_for_last_matching_doc_pos.to_s} documents to #{name_to_sentence}#{expected_to_sentence}: #{@actual.inspect}"
42
+ "expected each of the first #{@min_for_last_matching_doc_pos.to_s} documents to #{name_to_sentence}#{expected_to_sentence} in response: #{@actual.inspect}"
43
43
  elsif @max_doc_position
44
44
  "expected #{@actual.inspect} to #{name_to_sentence} #{doc_label_str(@expected)}#{expected_to_sentence} in first #{@max_doc_position.to_s} results"
45
45
  else
@@ -53,7 +53,7 @@ module RSpec
53
53
  if @before_expected
54
54
  "expected #{@actual.inspect} not to #{name_to_sentence} #{doc_label_str(@expected)}#{expected_to_sentence} before #{doc_label_str(@before_expected)} matching #{@before_expected.inspect}"
55
55
  elsif @min_for_last_matching_doc_pos
56
- "expected some of the first #{@min_for_last_matching_doc_pos.to_s} documents not to #{name_to_sentence}#{expected_to_sentence}: #{@actual.inspect}"
56
+ "expected some of the first #{@min_for_last_matching_doc_pos.to_s} documents not to #{name_to_sentence}#{expected_to_sentence} in response: #{@actual.inspect}"
57
57
  elsif @max_doc_position
58
58
  "expected #{@actual.inspect} not to #{name_to_sentence} #{doc_label_str(@expected)}#{expected_to_sentence} in first #{@max_doc_position.to_s} results"
59
59
  else
@@ -41,9 +41,8 @@ class RSpecSolr
41
41
  def has_document?(expected_doc, max_doc_position = nil, all_must_match = nil)
42
42
  if expected_doc.is_a?(Hash)
43
43
  if all_must_match
44
- first_non_match = docs.find_index { |doc|
45
- !doc_matches_all_criteria(doc, expected_doc)
46
- } >= max_doc_position
44
+ first_non_match = docs.find_index { |doc| !doc_matches_all_criteria(doc, expected_doc) }
45
+ (first_non_match ? first_non_match >= max_doc_position : true)
47
46
  else
48
47
  # we are happy if any doc meets all of our expectations
49
48
  docs.any? { |doc|
@@ -75,7 +74,7 @@ class RSpecSolr
75
74
  # a doc's fld values can be a String or an Array
76
75
  case exp_val
77
76
  when Regexp
78
- Array(doc[exp_fname]).any? { |val| val =~ exp_val }
77
+ return true if Array(doc[exp_fname]).any? { |val| val =~ exp_val }
79
78
  else
80
79
  Array(doc[exp_fname]).include?(exp_val)
81
80
  end
@@ -1,3 +1,3 @@
1
1
  class RSpecSolr
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
@@ -364,6 +364,7 @@ describe RSpecSolr do
364
364
  it "passes if Solr document in response matches regex in named field" do
365
365
  @solr_resp_5_docs.should include("id" => /\d{3}/)
366
366
  @solr_resp_5_docs.should include("fld" => /^va/) # 2 docs match
367
+ @solr_resp_5_docs.should include("fld" => /Va/i) # 2 docs match
367
368
  end
368
369
  it "passes if single value expectation is expressed as an Array" do
369
370
  @solr_resp_5_docs.should include("id" => [/111/])
@@ -12,6 +12,11 @@ describe RSpecSolr do
12
12
  @solr_resp.should include("fld" => "val").in_each_of_first(2).documents
13
13
  @solr_resp.should include("fld" => "val").in_each_of_first(2).results
14
14
  end
15
+ it "passes when all docs in range meet regex criteria" do
16
+ @solr_resp.should include("fld" => /val/).in_each_of_first(2)
17
+ @solr_resp.should include("fld" => /al/).in_each_of_first(2)
18
+ @solr_resp.should include("fld" => /Val/i).in_each_of_first(2)
19
+ end
15
20
  it "fails when doc in range doesn't meet criteria" do
16
21
  lambda {
17
22
  @solr_resp.should include("fld2" => "val2").in_each_of_first(2)
@@ -20,6 +25,14 @@ describe RSpecSolr do
20
25
  @solr_resp.should include("fld" => "val").in_each_of_first(3)
21
26
  }.should fail_matching('expected each of the first 3 documents to include {"fld"=>"val"}')
22
27
  end
28
+ it "fails when doc in range doesn't meet regex criteria" do
29
+ lambda {
30
+ @solr_resp.should include("fld2" => /l2/).in_each_of_first(2)
31
+ }.should fail_matching('expected each of the first 2 documents to include {"fld2"=>/l2/}')
32
+ lambda {
33
+ @solr_resp.should include("fld" => /al/).in_each_of_first(3)
34
+ }.should fail_matching('expected each of the first 3 documents to include {"fld"=>/al/}')
35
+ end
23
36
  end
24
37
  context "should_NOT" do
25
38
  it "fails when all docs in range meet criteria" do
@@ -33,10 +46,25 @@ describe RSpecSolr do
33
46
  @solr_resp.should_not include("fld" => "val").in_each_of_first(2).results
34
47
  }.should fail_matching('expected some of the first 2 documents not to include {"fld"=>"val"}')
35
48
  end
49
+ it "fails when all docs in range meet regex criteria" do
50
+ lambda {
51
+ @solr_resp.should_not include("fld" => /val/).in_each_of_first(2)
52
+ }.should fail_matching('expected some of the first 2 documents not to include {"fld"=>/val/}')
53
+ lambda {
54
+ @solr_resp.should_not include("fld" => /al/).in_each_of_first(2)
55
+ }.should fail_matching('expected some of the first 2 documents not to include {"fld"=>/al/}')
56
+ lambda {
57
+ @solr_resp.should_not include("fld" => /Val/i).in_each_of_first(2)
58
+ }.should fail_matching('expected some of the first 2 documents not to include {"fld"=>/Val/i}')
59
+ end
36
60
  it "passes when doc in range doesn't meet criteria" do
37
61
  @solr_resp.should_not include("fld" => "val").in_each_of_first(3)
38
62
  @solr_resp.should_not include("fld2" => "val2").in_each_of_first(2)
39
63
  end
64
+ it "passes when doc in range doesn't meet regex criteria" do
65
+ @solr_resp.should_not include("fld2" => /l2/).in_each_of_first(2)
66
+ @solr_resp.should_not include("fld" => /al/).in_each_of_first(3)
67
+ end
40
68
  end
41
69
  it "should expect a Hash for the include" do
42
70
  expect {
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-solr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-10-20 00:00:00.000000000 Z
13
+ date: 2012-10-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rspec
@@ -178,7 +178,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
178
178
  version: '0'
179
179
  segments:
180
180
  - 0
181
- hash: -2465877972703506306
181
+ hash: 3247708301967459464
182
182
  required_rubygems_version: !ruby/object:Gem::Requirement
183
183
  none: false
184
184
  requirements:
@@ -187,7 +187,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
187
187
  version: '0'
188
188
  segments:
189
189
  - 0
190
- hash: -2465877972703506306
190
+ hash: 3247708301967459464
191
191
  requirements: []
192
192
  rubyforge_project:
193
193
  rubygems_version: 1.8.24