sunspot_matchers 2.1.0.0 → 2.1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/sunspot_matchers/matchers.rb +1 -1
- data/lib/sunspot_matchers/test_helper.rb +27 -24
- data/lib/sunspot_matchers/version.rb +1 -1
- data/spec/sunspot_matchers_spec.rb +15 -0
- data/test/sunspot_matchers_test.rb +7 -0
- metadata +16 -26
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 2b9f2351c5011eeef1815a2cce609aadc5f4559c
|
4
|
+
data.tar.gz: d3fbf3dcfe3d888216656b1ed6f2073956e502a4
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7e04803a077016a0f44693b72539c84229b34ff517ab517e09b82223c906d846a645c6eda20459fbcac76435b20c64be584d525a936fad6a55a4a87ef5f3f233
|
7
|
+
data.tar.gz: 8ee3308066ab2d47b335b74deb1bb667e3bb11a5749f58d4cb669b1766cb733eabfca49bed0db597ac507c947e5cb1d3f473cafad1e74f514767b15eca175f08
|
@@ -107,7 +107,7 @@ module SunspotMatchers
|
|
107
107
|
comparison = [comparison] unless comparison.is_a?(Array)
|
108
108
|
filter_values(comparison).reject do |value|
|
109
109
|
next false unless actual
|
110
|
-
value_matcher = Regexp.new(Regexp.escape(value))
|
110
|
+
value_matcher = Regexp.new("^#{Regexp.escape(value)}")
|
111
111
|
actual.any?{ |actual_value| actual_value =~ value_matcher }
|
112
112
|
end
|
113
113
|
end
|
@@ -1,37 +1,40 @@
|
|
1
1
|
require 'sunspot'
|
2
|
-
require 'test/unit'
|
3
2
|
require File.expand_path('../matchers', __FILE__)
|
4
3
|
require File.expand_path('../sunspot_session_spy', __FILE__)
|
5
4
|
module SunspotMatchers
|
6
5
|
class HaveSearchParamsForSession
|
6
|
+
if const_defined? 'MiniTest'
|
7
|
+
include MiniTest::Assertions
|
8
|
+
else
|
7
9
|
include Test::Unit::Assertions
|
10
|
+
end
|
8
11
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
12
|
+
def initialize(session, method, *args, &block)
|
13
|
+
@session = session
|
14
|
+
@method = method
|
15
|
+
@args = [*args, block].compact
|
16
|
+
end
|
14
17
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
end
|
32
|
-
matcher_class.new(@session, @args)
|
18
|
+
def get_matcher
|
19
|
+
matcher_class = case @method
|
20
|
+
when :with
|
21
|
+
WithMatcher
|
22
|
+
when :without
|
23
|
+
WithoutMatcher
|
24
|
+
when :keywords, :fulltext
|
25
|
+
KeywordsMatcher
|
26
|
+
when :boost
|
27
|
+
BoostMatcher
|
28
|
+
when :facet
|
29
|
+
FacetMatcher
|
30
|
+
when :order_by
|
31
|
+
OrderByMatcher
|
32
|
+
when :paginate
|
33
|
+
PaginationMatcher
|
33
34
|
end
|
35
|
+
matcher_class.new(@session, @args)
|
34
36
|
end
|
37
|
+
end
|
35
38
|
|
36
39
|
|
37
40
|
class BeASearchForSession
|
@@ -218,6 +218,14 @@ describe "Sunspot Matchers" do
|
|
218
218
|
Sunspot.session.should_not have_search_params(:with, :blog_id, any_param)
|
219
219
|
end
|
220
220
|
|
221
|
+
it "should work with any_param negative match when without exists" do
|
222
|
+
Sunspot.search(Post) do
|
223
|
+
without :blog_id, 4
|
224
|
+
without :blog_id, 5
|
225
|
+
end
|
226
|
+
Sunspot.session.should_not have_search_params(:with, :blog_id, any_param)
|
227
|
+
end
|
228
|
+
|
221
229
|
it "should work with any_param negative match different field with query" do
|
222
230
|
Sunspot.search(Post) do
|
223
231
|
with :category_ids, 7
|
@@ -345,6 +353,13 @@ describe "Sunspot Matchers" do
|
|
345
353
|
Sunspot.session.should_not have_search_params(:without, :blog_id, any_param)
|
346
354
|
end
|
347
355
|
|
356
|
+
it "should work with any_param negative match when with exists" do
|
357
|
+
Sunspot.search(Post) do
|
358
|
+
with :blog_id, 4
|
359
|
+
end
|
360
|
+
Sunspot.session.should_not have_search_params(:without, :blog_id, any_param)
|
361
|
+
end
|
362
|
+
|
348
363
|
it "should work with any_param negative match different field without query" do
|
349
364
|
Sunspot.search(Post) do
|
350
365
|
without :category_ids, 4
|
@@ -89,6 +89,13 @@ class SunspotMatchersTest < Test::Unit::TestCase
|
|
89
89
|
assert_has_no_search_params Sunspot.session, :keywords, any_param
|
90
90
|
end
|
91
91
|
|
92
|
+
def test_match_fulltext
|
93
|
+
Sunspot.search(Post) do
|
94
|
+
fulltext 'great pizza'
|
95
|
+
end
|
96
|
+
assert_has_search_params Sunspot.session, :fulltext, 'great pizza'
|
97
|
+
end
|
98
|
+
|
92
99
|
def test_with_matcher_matches
|
93
100
|
Sunspot.search(Post) do
|
94
101
|
with :author_name, 'Mark Twain'
|
metadata
CHANGED
@@ -1,78 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sunspot_matchers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.0.
|
5
|
-
prerelease:
|
4
|
+
version: 2.1.0.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Joseph Palermo
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-
|
11
|
+
date: 2014-04-10 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: bundler
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 1.0.0
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: 1.0.0
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rspec
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- - ~>
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: 2.4.0
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- - ~>
|
38
|
+
- - "~>"
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: 2.4.0
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: sunspot
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- - ~>
|
45
|
+
- - "~>"
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: 2.1.0
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- - ~>
|
52
|
+
- - "~>"
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: 2.1.0
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rake
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - ">="
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - ">="
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
description: These matchers and assertions allow you to test what is happening inside
|
@@ -82,7 +73,7 @@ executables: []
|
|
82
73
|
extensions: []
|
83
74
|
extra_rdoc_files: []
|
84
75
|
files:
|
85
|
-
- .gitignore
|
76
|
+
- ".gitignore"
|
86
77
|
- Gemfile
|
87
78
|
- Gemfile.lock
|
88
79
|
- MIT-LICENSE
|
@@ -100,26 +91,25 @@ files:
|
|
100
91
|
homepage: https://github.com/pivotal/sunspot_matchers
|
101
92
|
licenses:
|
102
93
|
- MIT
|
94
|
+
metadata: {}
|
103
95
|
post_install_message:
|
104
96
|
rdoc_options: []
|
105
97
|
require_paths:
|
106
98
|
- lib
|
107
99
|
required_ruby_version: !ruby/object:Gem::Requirement
|
108
|
-
none: false
|
109
100
|
requirements:
|
110
|
-
- -
|
101
|
+
- - ">="
|
111
102
|
- !ruby/object:Gem::Version
|
112
103
|
version: '0'
|
113
104
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
105
|
requirements:
|
116
|
-
- -
|
106
|
+
- - ">="
|
117
107
|
- !ruby/object:Gem::Version
|
118
108
|
version: 1.3.6
|
119
109
|
requirements: []
|
120
110
|
rubyforge_project:
|
121
|
-
rubygems_version:
|
111
|
+
rubygems_version: 2.2.2
|
122
112
|
signing_key:
|
123
|
-
specification_version:
|
113
|
+
specification_version: 4
|
124
114
|
summary: RSpec matchers and Test::Unit assertions for testing Sunspot
|
125
115
|
test_files: []
|