simple-search 0.11.1 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -13,6 +13,7 @@ gem "activesupport", "~> 3.1"
13
13
  gem "actionpack", "~> 3.1"
14
14
 
15
15
  group :development do
16
+ gem "rspec"
16
17
  gem "shoulda", ">= 2.11"
17
18
  gem "rdoc", "~> 3.12"
18
19
  gem "bundler", "~> 1.0.0"
data/README.rdoc CHANGED
@@ -13,10 +13,6 @@ In your Gemfile:
13
13
 
14
14
  gem "simple-search" # Last officially released gem
15
15
 
16
- In your config/environment.rb
17
-
18
- require 'simple_search'
19
-
20
16
  In your controller:
21
17
 
22
18
  def index
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.11.1
1
+ 0.12.0
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "simple-search"
8
- s.version = "0.11.1"
8
+ s.version = "0.12.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Allen Kim"]
@@ -28,10 +28,10 @@ Gem::Specification.new do |s|
28
28
  "lib/simple_search/exception.rb",
29
29
  "lib/simple_search/view_helper.rb",
30
30
  "simple-search.gemspec",
31
- "test/helper.rb",
32
- "test/tables_models.rb",
33
- "test/test_active_record.rb",
34
- "test/test_view_helper.rb"
31
+ "spec/simple_search_active_record_spec.rb",
32
+ "spec/simple_search_view_helper_spec.rb",
33
+ "spec/spec_helper.rb",
34
+ "spec/spec_helper_tables_models.rb"
35
35
  ]
36
36
  s.homepage = "http://github.com/bighostkim/simple-search"
37
37
  s.licenses = ["MIT"]
@@ -46,6 +46,7 @@ Gem::Specification.new do |s|
46
46
  s.add_runtime_dependency(%q<activerecord>, ["~> 3.1"])
47
47
  s.add_runtime_dependency(%q<activesupport>, ["~> 3.1"])
48
48
  s.add_runtime_dependency(%q<actionpack>, ["~> 3.1"])
49
+ s.add_development_dependency(%q<rspec>, [">= 0"])
49
50
  s.add_development_dependency(%q<shoulda>, [">= 2.11"])
50
51
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
51
52
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
@@ -56,6 +57,7 @@ Gem::Specification.new do |s|
56
57
  s.add_dependency(%q<activerecord>, ["~> 3.1"])
57
58
  s.add_dependency(%q<activesupport>, ["~> 3.1"])
58
59
  s.add_dependency(%q<actionpack>, ["~> 3.1"])
60
+ s.add_dependency(%q<rspec>, [">= 0"])
59
61
  s.add_dependency(%q<shoulda>, [">= 2.11"])
60
62
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
61
63
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
@@ -67,6 +69,7 @@ Gem::Specification.new do |s|
67
69
  s.add_dependency(%q<activerecord>, ["~> 3.1"])
68
70
  s.add_dependency(%q<activesupport>, ["~> 3.1"])
69
71
  s.add_dependency(%q<actionpack>, ["~> 3.1"])
72
+ s.add_dependency(%q<rspec>, [">= 0"])
70
73
  s.add_dependency(%q<shoulda>, [">= 2.11"])
71
74
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
72
75
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
@@ -1,75 +1,77 @@
1
- require 'helper'
1
+ require 'spec_helper'
2
2
 
3
- class TestActiveRecord < Test::Unit::TestCase
3
+ describe SimpleSearch::ActiveRecord, "#simplesearch" do
4
4
 
5
- should "work with arel where conditions" do
5
+ it "work with arel where conditions" do
6
6
  posts_comments = Post.select('posts.*, comments.body as comment').joins(:comments)
7
7
  result = posts_comments.simplesearch('id_eq'=>1, 'subject_eq'=>'subject foo', 'body_eq'=>'body foo')
8
- assert_equal 1, result.first.id
8
+ result.first.id.should eq(1)
9
9
 
10
10
  result = posts_comments.simplesearch('id_gt'=>1, 'id_lt'=>3)
11
- assert_equal 2, result.first.id
11
+ result.first.id.should eq(2)
12
12
 
13
13
  result = posts_comments.simplesearch('id_ge'=>1, 'id_le'=>3)
14
- assert_equal 6, result.length
14
+ result.length.should eq(6)
15
15
 
16
16
  result = posts_comments.simplesearch('id_ne'=>1)
17
- assert_equal 4, result.length
17
+ result.length.should eq(4)
18
18
 
19
19
  result = posts_comments.simplesearch('id_in'=>'1,2')
20
- assert_equal 1, result.first.id
21
- assert_equal 2, result.last.id
20
+ result.first.id.should eq(1)
21
+ result.last.id.should eq(2)
22
22
 
23
23
  result = posts_comments.simplesearch('id_bt'=>'1..3')
24
- assert_equal 1, result.first.id
25
- assert_equal 3, result.last.id
24
+ result.first.id.should eq(1)
25
+ result.last.id.should eq(3)
26
26
 
27
27
  result = posts_comments.simplesearch('subject_sw'=>'subject')
28
- assert_equal 6, result.length
28
+ result.length.should eq(6)
29
29
 
30
30
  result = posts_comments.simplesearch('subject_ew'=>'foo')
31
- assert_equal 2, result.length
31
+ result.length.should eq(2)
32
32
 
33
33
  result = posts_comments.simplesearch('body_ct'=>'body')
34
- assert_equal 6, result.length
34
+ result.length.should eq(6)
35
35
 
36
36
  result = posts_comments.simplesearch('body_nc'=>'foo')
37
- assert_equal 4, result.length
37
+ result.length.should eq(4)
38
38
 
39
39
  result = posts_comments.simplesearch('comments.spam_flag_is'=>'NULL')
40
- assert_equal 4, result.length
40
+ result.length.should eq(4)
41
41
 
42
42
  result = posts_comments.simplesearch('comments.spam_flag_isnot'=>'NULL')
43
- assert_equal 2, result.length
43
+ result.length.should eq(2)
44
44
  end
45
45
 
46
- should "work with arel group conditions" do
46
+ it "work with arel group conditions" do
47
47
  posts_comments = Post.select('posts.*, count(comments.id) as num_comment').joins(:comments)
48
48
  result = posts_comments.simplesearch('group_by'=>'posts.id')
49
- assert_equal 3, result.length
49
+ result.length.should eq(3)
50
50
  end
51
51
 
52
- should "work with arel order conditions" do
52
+ it "work with arel order conditions" do
53
53
  posts_comments = Post.select('posts.*, comments.id as comment_id, comments.body as comment').joins(:comments)
54
54
  result = posts_comments.simplesearch('order_by'=>'comment_id')
55
- assert_equal 11, result.first.comment_id
55
+ result.first.comment_id.should eq(11)
56
56
  result = posts_comments.simplesearch('order_by'=>'comment_id desc')
57
- assert_equal 32, result.first.comment_id
57
+ result.first.comment_id.should eq(32)
58
58
  end
59
59
 
60
- should "work with arel limit and offset conditions" do
60
+ it "work with arel limit and offset conditions" do
61
61
  posts_comments = Post.select('posts.*, comments.id as comment_id, comments.body as comment').joins(:comments)
62
62
  result = posts_comments.simplesearch('order_by'=>'comment_id', 'page_by'=>2)
63
- assert_equal [11,12], result.map {|r| r.comment_id}
63
+ result.map {|r| r.comment_id}.should eq([11,12])
64
64
 
65
65
  result = posts_comments.simplesearch('order_by'=>'comment_id', 'page'=> 1, 'page_by'=>2)
66
- assert_equal [11,12], result.map {|r| r.comment_id}
66
+ result.map {|r| r.comment_id}.should eq([11,12])
67
67
 
68
68
  result = posts_comments.simplesearch('order_by'=>'comment_id', 'page'=> 2, 'page_by'=>2)
69
- assert_equal [21,22], result.map {|r| r.comment_id}
69
+ result.map {|r| r.comment_id}.should eq([21,22])
70
70
 
71
71
  result = posts_comments.simplesearch('order_by'=>'comment_id', 'page'=> 3, 'page_by'=>2)
72
- assert_equal [31,32], result.map {|r| r.comment_id}
72
+ result.map {|r| r.comment_id}.should eq([31,32])
73
73
  end
74
74
 
75
75
  end
76
+
77
+
@@ -0,0 +1,105 @@
1
+ require 'spec_helper'
2
+ require 'action_view/test_case'
3
+
4
+ class MyView < ActionView::Base
5
+ include SimpleSearch::ViewHelper
6
+ end
7
+
8
+ describe SimpleSearch::ViewHelper do
9
+ before(:all) do
10
+ @view = MyView.new
11
+ router = ActionDispatch::Routing::RouteSet.new
12
+ router.draw do
13
+ match ':controller(/:action(/:id(.:format)))'
14
+ end
15
+ @view.instance_variable_set(:@_routes, router)
16
+ end
17
+
18
+ describe "#order_link" do
19
+ it "generate order by link" do
20
+ @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
21
+ "QUERY_STRING"=>"controller=tests&a=1&b=2"})
22
+ @view.order_link(:foo).should match /order_by=foo/
23
+ @view.order_link(:foo_bar).should match />Foo Bar</
24
+ @view.order_link(:foo, "Custom Name").should match />Custom Name</
25
+ @view.order_link(:foo, "Name", :class=>:bar).should match /class=\"bar\"/
26
+
27
+ @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
28
+ "QUERY_STRING"=>"controller=tests&order_by=foo+asc&a=1&b=2"})
29
+ @view.order_link(:foo).should match /order_by=foo\+desc/
30
+ @view.order_link(:foo).should match />Foo &#9650;</
31
+
32
+ @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
33
+ "QUERY_STRING"=>"controller=tests&order_by=foo+desc&a=1&b=2"})
34
+ @view.order_link(:foo).should match /order_by=foo\+asc/
35
+ @view.order_link(:foo).should match />Foo &#9660;</
36
+
37
+ @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
38
+ "QUERY_STRING"=>"controller=tests&ss[order_by]=foo+desc&a=1&b=2"})
39
+ @view.order_link(:foo).should match /ss%5Border_by%5D=foo\+asc/
40
+ @view.order_link(:foo).should match />Foo &#9660;</
41
+ end
42
+ end
43
+
44
+ describe "#page_properties" do
45
+ it "generate page properties" do
46
+ @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
47
+ "QUERY_STRING"=>"controller=tests&page_by=2"})
48
+ arel = Post.select('posts.*, comments.*').joins(:comments).simplesearch(:page_by=>2)
49
+
50
+ @view.page_properties(arel).should == {:total_rows => 6, :last_page => 3, :current_page => 1, :rows_per_page => 2, :page_arr_key => nil}
51
+
52
+ @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
53
+ "QUERY_STRING"=>"controller=tests&ss[page_by]=2"})
54
+ @view.page_properties(arel).should == {:total_rows => 6, :last_page => 3, :current_page => 1, :rows_per_page => 2, :page_arr_key => "ss"}
55
+ end
56
+ end
57
+
58
+ describe "#page_params" do
59
+ it "generate url params for single page" do
60
+ @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests", "QUERY_STRING"=>"controller=tests&page=3&page_by=30"})
61
+ params = @view.page_params(3, 30) #page number, rows per page
62
+ params[:page_by].to_i.should == 30
63
+ params[:page].should == 3
64
+
65
+ @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests", "QUERY_STRING"=>"controller=tests&ss[page]=3&ss[page_by]=2"})
66
+ params = @view.page_params(3, 30, "ss")
67
+ params[:ss][:page_by].to_i.should == 30
68
+ params[:ss][:page].should == 3
69
+ end
70
+ end
71
+
72
+ describe "#page_url_params" do
73
+ it "generate url params for many pages" do
74
+ arel = Post.select('posts.*, post_likes.*').joins(:post_likes).simplesearch(:page_by=>30)
75
+ @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
76
+ "QUERY_STRING"=>"controller=tests&page=5&page_by=10"})
77
+ url_params = @view.page_url_params(arel)
78
+ url_params.keys.should == [1,3,4,5,6,7,30]
79
+ url_params[5][:page_by].to_i.should == 10
80
+ url_params[5][:page].to_i.should == 5
81
+
82
+ @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
83
+ "QUERY_STRING"=>"controller=tests&ss[page_by]=2"})
84
+ url_params = @view.page_url_params(arel)
85
+ url_params[1][:ss][:page_by].to_i.should == 2
86
+ url_params[1][:ss][:page].to_i.should == 1
87
+ end
88
+ end
89
+
90
+ describe "#page_urls" do
91
+ it "generate page urls" do
92
+ arel = Post.select('posts.*, post_likes.*').joins(:post_likes).simplesearch(:page_by=>30)
93
+ @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
94
+ "QUERY_STRING"=>"controller=tests&page=5&page_by=10"})
95
+ page_urls = @view.page_urls(arel)
96
+ page_urls.length.should == 9 # 1 ... 3 4 5 6 7 ... 10
97
+ page_urls[1].should eq "<span class='filler'>...</span>"
98
+ page_urls[7].should eq "<span class='filler'>...</span>"
99
+ end
100
+ end
101
+
102
+ end
103
+
104
+
105
+
@@ -1,5 +1,6 @@
1
1
  require 'rubygems'
2
2
  require 'bundler'
3
+
3
4
  begin
4
5
  Bundler.setup(:default, :development)
5
6
  rescue Bundler::BundlerError => e
@@ -7,10 +8,13 @@ rescue Bundler::BundlerError => e
7
8
  $stderr.puts "Run `bundle install` to install missing gems"
8
9
  exit e.status_code
9
10
  end
11
+
10
12
  require 'test/unit'
11
13
  require 'shoulda'
12
14
 
13
15
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
16
  $LOAD_PATH.unshift(File.dirname(__FILE__))
15
- require 'simple_search'
16
- require 'tables_models.rb'
17
+
18
+ require 'simple-search'
19
+
20
+ require 'spec_helper_tables_models.rb'
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: simple-search
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.11.1
5
+ version: 0.12.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Allen Kim
@@ -46,19 +46,30 @@ dependencies:
46
46
  prerelease: false
47
47
  version_requirements: *id003
48
48
  - !ruby/object:Gem::Dependency
49
- name: shoulda
49
+ name: rspec
50
50
  requirement: &id004 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
- version: "2.11"
55
+ version: "0"
56
56
  type: :development
57
57
  prerelease: false
58
58
  version_requirements: *id004
59
59
  - !ruby/object:Gem::Dependency
60
- name: rdoc
60
+ name: shoulda
61
61
  requirement: &id005 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: "2.11"
67
+ type: :development
68
+ prerelease: false
69
+ version_requirements: *id005
70
+ - !ruby/object:Gem::Dependency
71
+ name: rdoc
72
+ requirement: &id006 !ruby/object:Gem::Requirement
62
73
  none: false
63
74
  requirements:
64
75
  - - ~>
@@ -66,10 +77,10 @@ dependencies:
66
77
  version: "3.12"
67
78
  type: :development
68
79
  prerelease: false
69
- version_requirements: *id005
80
+ version_requirements: *id006
70
81
  - !ruby/object:Gem::Dependency
71
82
  name: bundler
72
- requirement: &id006 !ruby/object:Gem::Requirement
83
+ requirement: &id007 !ruby/object:Gem::Requirement
73
84
  none: false
74
85
  requirements:
75
86
  - - ~>
@@ -77,10 +88,10 @@ dependencies:
77
88
  version: 1.0.0
78
89
  type: :development
79
90
  prerelease: false
80
- version_requirements: *id006
91
+ version_requirements: *id007
81
92
  - !ruby/object:Gem::Dependency
82
93
  name: jeweler
83
- requirement: &id007 !ruby/object:Gem::Requirement
94
+ requirement: &id008 !ruby/object:Gem::Requirement
84
95
  none: false
85
96
  requirements:
86
97
  - - ~>
@@ -88,10 +99,10 @@ dependencies:
88
99
  version: 1.8.3
89
100
  type: :development
90
101
  prerelease: false
91
- version_requirements: *id007
102
+ version_requirements: *id008
92
103
  - !ruby/object:Gem::Dependency
93
104
  name: rcov
94
- requirement: &id008 !ruby/object:Gem::Requirement
105
+ requirement: &id009 !ruby/object:Gem::Requirement
95
106
  none: false
96
107
  requirements:
97
108
  - - ">="
@@ -99,10 +110,10 @@ dependencies:
99
110
  version: "0"
100
111
  type: :development
101
112
  prerelease: false
102
- version_requirements: *id008
113
+ version_requirements: *id009
103
114
  - !ruby/object:Gem::Dependency
104
115
  name: sqlite3
105
- requirement: &id009 !ruby/object:Gem::Requirement
116
+ requirement: &id010 !ruby/object:Gem::Requirement
106
117
  none: false
107
118
  requirements:
108
119
  - - "="
@@ -110,7 +121,7 @@ dependencies:
110
121
  version: 1.3.4
111
122
  type: :development
112
123
  prerelease: false
113
- version_requirements: *id009
124
+ version_requirements: *id010
114
125
  description: "\n\
115
126
  \t\tTranslates url commands for searching, paging, sorting, groupion against ActiveRecord and its associations.\n\
116
127
  \t\tProvides view helpers including links for order and urls for search, group, and page.\n\
@@ -135,10 +146,10 @@ files:
135
146
  - lib/simple_search/exception.rb
136
147
  - lib/simple_search/view_helper.rb
137
148
  - simple-search.gemspec
138
- - test/helper.rb
139
- - test/tables_models.rb
140
- - test/test_active_record.rb
141
- - test/test_view_helper.rb
149
+ - spec/simple_search_active_record_spec.rb
150
+ - spec/simple_search_view_helper_spec.rb
151
+ - spec/spec_helper.rb
152
+ - spec/spec_helper_tables_models.rb
142
153
  homepage: http://github.com/bighostkim/simple-search
143
154
  licenses:
144
155
  - MIT
@@ -152,7 +163,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
163
  requirements:
153
164
  - - ">="
154
165
  - !ruby/object:Gem::Version
155
- hash: -1662310510599246307
166
+ hash: 557426879898920140
156
167
  segments:
157
168
  - 0
158
169
  version: "0"
@@ -1,97 +0,0 @@
1
- require 'helper'
2
- require 'action_view/test_case'
3
-
4
- class TestViewHelper < Test::Unit::TestCase
5
- class MyView < ActionView::Base
6
- include SimpleSearch::ViewHelper
7
- end
8
-
9
- def setup
10
- @view = MyView.new
11
- router = ActionDispatch::Routing::RouteSet.new
12
- router.draw do
13
- match ':controller(/:action(/:id(.:format)))'
14
- end
15
- @view.instance_variable_set(:@_routes, router)
16
- end
17
-
18
- should "generate order by link" do
19
- @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
20
- "QUERY_STRING"=>"controller=tests&a=1&b=2"})
21
- assert_match "order_by=foo+asc", @view.order_link(:foo)
22
- assert_match ">Foo Bar<", @view.order_link(:foo_bar)
23
- assert_match ">Custom Name<", @view.order_link(:foo, "Custom Name")
24
- assert_match "class=\"bar\"", @view.order_link(:foo, "Name", :class=>:bar)
25
-
26
- @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
27
- "QUERY_STRING"=>"controller=tests&order_by=foo+asc&a=1&b=2"})
28
- assert_match "order_by=foo+desc", @view.order_link(:foo)
29
- assert_match ">Foo &amp;#9650;<", @view.order_link(:foo)
30
-
31
- @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
32
- "QUERY_STRING"=>"controller=tests&order_by=foo+desc&a=1&b=2"})
33
- assert_match "order_by=foo+asc", @view.order_link(:foo)
34
- assert_match ">Foo &amp;#9660;<", @view.order_link(:foo)
35
-
36
- @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
37
- "QUERY_STRING"=>"controller=tests&ss[order_by]=foo+desc&a=1&b=2"})
38
- assert_match "ss%5Border_by%5D=foo+asc", @view.order_link(:foo)
39
- assert_match ">Foo &amp;#9660;<", @view.order_link(:foo)
40
- end
41
-
42
- should "generate page properties" do
43
- @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
44
- "QUERY_STRING"=>"controller=tests&page_by=2"})
45
- arel = Post.select('posts.*, comments.*').joins(:comments).simplesearch(:page_by=>2)
46
-
47
- @view.page_properties(arel)
48
- assert_equal ({ :total_rows => 6, :last_page => 3, :current_page => 1,
49
- :rows_per_page => 2, :page_arr_key => nil }), @view.page_properties(arel)
50
-
51
- @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
52
- "QUERY_STRING"=>"controller=tests&ss[page_by]=2"})
53
- assert_equal ({ :total_rows => 6, :last_page => 3, :current_page => 1,
54
- :rows_per_page => 2, :page_arr_key => "ss" }), @view.page_properties(arel)
55
- end
56
-
57
- should "generate url params for single page" do
58
- @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
59
- "QUERY_STRING"=>"controller=tests&page_by=2"})
60
- params = @view.page_params(3)
61
- assert_equal 2, params[:page_by].to_i
62
- assert_equal 3, params[:page]
63
-
64
- @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
65
- "QUERY_STRING"=>"controller=tests&ss[page_by]=2"})
66
- params = @view.page_params(3, "ss")
67
- assert_equal 2, params[:ss][:page_by].to_i
68
- assert_equal 3, params[:ss][:page]
69
- end
70
-
71
- should "generate url params for many pages" do
72
- arel = Post.select('posts.*, post_likes.*').joins(:post_likes).simplesearch(:page_by=>30)
73
- @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
74
- "QUERY_STRING"=>"controller=tests&page=5&page_by=10"})
75
- url_params = @view.page_url_params(arel)
76
- assert_equal [1,3,4,5,6,7,30], url_params.keys
77
- assert_equal 10, url_params[5][:page_by].to_i
78
- assert_equal 5, url_params[5][:page].to_i
79
-
80
- @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
81
- "QUERY_STRING"=>"controller=tests&ss[page_by]=2"})
82
- url_params = @view.page_url_params(arel)
83
- assert_equal 2, url_params[1][:ss][:page_by].to_i
84
- assert_equal 1, url_params[1][:ss][:page].to_i
85
- end
86
-
87
- should "generate page urls" do
88
- arel = Post.select('posts.*, post_likes.*').joins(:post_likes).simplesearch(:page_by=>30)
89
- @view.request = ActionController::TestRequest.new({"SCRIPT_NAME"=>"/tests",
90
- "QUERY_STRING"=>"controller=tests&page=5&page_by=10"})
91
- page_urls = @view.page_urls(arel)
92
- assert_equal 9, page_urls.length # 1 ... 3 4 5 6 7 ... 10
93
- assert_equal "<span class='filler'>...</span>", page_urls[1]
94
- assert_equal "<span class='filler'>...</span>", page_urls[7]
95
- end
96
-
97
- end