sorting_table_for 0.2.2 → 0.3.0

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.
Files changed (47) hide show
  1. data/CHANGELOG.mdown +6 -0
  2. data/MIT-LICENSE +1 -1
  3. data/README.mdown +7 -7
  4. data/Rakefile +32 -8
  5. data/lib/sorting_table_for/format_cell.rb +1 -5
  6. data/lib/sorting_table_for/tools.rb +0 -8
  7. data/lib/sorting_table_for/version.rb +3 -0
  8. data/spec/dummy/README.rdoc +261 -0
  9. data/spec/dummy/Rakefile +7 -0
  10. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  11. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  12. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  13. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  14. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  15. data/spec/dummy/config.ru +4 -0
  16. data/spec/dummy/config/application.rb +59 -0
  17. data/spec/dummy/config/boot.rb +10 -0
  18. data/spec/dummy/config/database.yml +25 -0
  19. data/spec/dummy/config/environment.rb +5 -0
  20. data/spec/dummy/config/environments/development.rb +37 -0
  21. data/spec/dummy/config/environments/production.rb +67 -0
  22. data/spec/dummy/config/environments/test.rb +37 -0
  23. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  24. data/spec/dummy/config/initializers/inflections.rb +15 -0
  25. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  26. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  27. data/spec/dummy/config/initializers/session_store.rb +8 -0
  28. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  29. data/spec/dummy/config/locales/en.yml +5 -0
  30. data/spec/dummy/config/routes.rb +58 -0
  31. data/spec/dummy/db/test.sqlite3 +0 -0
  32. data/spec/dummy/public/404.html +26 -0
  33. data/spec/dummy/public/422.html +26 -0
  34. data/spec/dummy/public/500.html +25 -0
  35. data/spec/dummy/public/favicon.ico +0 -0
  36. data/spec/dummy/script/rails +6 -0
  37. data/spec/fixtures/sorting_table_for_user.rb +4 -10
  38. data/spec/helpers/builder_spec.rb +13 -13
  39. data/spec/helpers/caption_spec.rb +19 -19
  40. data/spec/helpers/cell_value_spec.rb +23 -23
  41. data/spec/helpers/column_spec.rb +81 -79
  42. data/spec/helpers/footer_spec.rb +46 -46
  43. data/spec/helpers/header_spec.rb +74 -84
  44. data/spec/locales/{test_rails3.yml → test_rails.yml} +0 -0
  45. data/spec/spec_helper.rb +10 -45
  46. metadata +120 -12
  47. data/spec/locales/test.yml +0 -104
@@ -8,7 +8,7 @@ include SortingTableForSpecHelper
8
8
  describe SortingTableFor, :type => :helper do
9
9
 
10
10
  before :all do
11
- (SortingTableFor::Tools::rails3?) ? routes_rails3 : routes_rails2
11
+ routes_rails
12
12
  end
13
13
 
14
14
  before :each do
@@ -22,7 +22,7 @@ describe SortingTableFor, :type => :helper do
22
22
  it "should set nothing" do
23
23
  helper.sorting_table_for(@users) do |table|
24
24
  html = table.footers
25
- html.should_not have_comp_tag("tfoot")
25
+ html.should_not have_selector("tfoot")
26
26
  end
27
27
  end
28
28
 
@@ -33,50 +33,50 @@ describe SortingTableFor, :type => :helper do
33
33
  it "should set a footer with argument" do
34
34
  helper.sorting_table_for(@users) do |table|
35
35
  html = table.footers 'hello'
36
- html.should have_comp_tag("tfoot", :count => 1)
37
- html.should have_comp_tag("tr", :count => 1)
38
- html.should have_comp_tag("td", :count => 1)
36
+ html.should have_selector("tfoot", :count => 1)
37
+ html.should have_selector("tr", :count => 1)
38
+ html.should have_selector("td", :count => 1)
39
39
  end
40
40
  end
41
41
 
42
42
  it "should set a footer with multiple arguments" do
43
43
  helper.sorting_table_for(@users) do |table|
44
44
  html = table.footers 'hello', 'hi', 'footer'
45
- html.should have_comp_tag("tfoot", :count => 1)
46
- html.should have_comp_tag("tr", :count => 1)
47
- html.should have_comp_tag("td", :count => 3)
45
+ html.should have_selector("tfoot", :count => 1)
46
+ html.should have_selector("tr", :count => 1)
47
+ html.should have_selector("td", :count => 3)
48
48
  end
49
49
  end
50
50
 
51
51
  it "should set i18n" do
52
52
  helper.sorting_table_for(@users) do |table|
53
53
  html = table.footers :username
54
- html.should have_comp_tag('td', :text => 'UserFoot')
54
+ html.should have_selector('td', :content => 'UserFoot')
55
55
  end
56
56
  end
57
57
 
58
58
  it "should set i18n for multiple arguments" do
59
59
  helper.sorting_table_for(@users) do |table|
60
60
  html = table.footers :username, :price
61
- html.should have_comp_tag('td:nth-child(1)', :text => 'UserFoot')
62
- html.should have_comp_tag('td:nth-child(2)', :text => 'PriceFoot')
61
+ html.should have_selector('td:nth-child(1)', :content => 'UserFoot')
62
+ html.should have_selector('td:nth-child(2)', :content => 'PriceFoot')
63
63
  end
64
64
  end
65
65
 
66
66
  it "should works with colspan" do
67
67
  helper.sorting_table_for(@users) do |table|
68
68
  html = table.footers :username, :colspan => 5
69
- html.should have_comp_tag('td[colspan="5"]')
69
+ html.should have_selector('td[colspan="5"]')
70
70
  end
71
71
  end
72
72
 
73
73
  it "should be customize with html" do
74
74
  table_html = helper.sorting_table_for(@users, :html => { :class => 'table_class', :id => 'table_id' }) do |table|
75
75
  html = table.footers :username, :html => { :class => 'header_class', :id => 'header_id' }
76
- html.should have_comp_tag("tr[class=header_class][id=header_id]")
76
+ html.should have_selector("tr[class=header_class][id=header_id]")
77
77
  end
78
78
  helper.output_buffer.concat(table_html)
79
- helper.output_buffer.should have_comp_tag("table[class='table_class sorting_table_for'][id=table_id]")
79
+ helper.output_buffer.should have_selector("table[class='table_class sorting_table_for'][id=table_id]")
80
80
  end
81
81
 
82
82
  end
@@ -88,9 +88,9 @@ describe SortingTableFor, :type => :helper do
88
88
  html = table.footers do
89
89
  table.footer 'hello'
90
90
  end
91
- html.should have_comp_tag("tfoot", :count => 1)
92
- html.should have_comp_tag("tr", :count => 1)
93
- html.should have_comp_tag("td", :count => 1)
91
+ html.should have_selector("tfoot", :count => 1)
92
+ html.should have_selector("tr", :count => 1)
93
+ html.should have_selector("td", :count => 1)
94
94
  end
95
95
  end
96
96
 
@@ -101,9 +101,9 @@ describe SortingTableFor, :type => :helper do
101
101
  table.footer 'hi'
102
102
  table.footer 'footer'
103
103
  end
104
- html.should have_comp_tag("tfoot", :count => 1)
105
- html.should have_comp_tag("tr", :count => 1)
106
- html.should have_comp_tag("td", :count => 3)
104
+ html.should have_selector("tfoot", :count => 1)
105
+ html.should have_selector("tr", :count => 1)
106
+ html.should have_selector("td", :count => 3)
107
107
  end
108
108
  end
109
109
 
@@ -112,7 +112,7 @@ describe SortingTableFor, :type => :helper do
112
112
  html = table.footers do
113
113
  table.footer :username
114
114
  end
115
- html.should have_comp_tag('td', :text => 'UserFoot')
115
+ html.should have_selector('td', :content => 'UserFoot')
116
116
  end
117
117
  end
118
118
 
@@ -122,8 +122,8 @@ describe SortingTableFor, :type => :helper do
122
122
  table.footer :username
123
123
  table.footer :price
124
124
  end
125
- html.should have_comp_tag('td:nth-child(1)', :text => 'UserFoot')
126
- html.should have_comp_tag('td:nth-child(2)', :text => 'PriceFoot')
125
+ html.should have_selector('td:nth-child(1)', :content => 'UserFoot')
126
+ html.should have_selector('td:nth-child(2)', :content => 'PriceFoot')
127
127
  end
128
128
  end
129
129
 
@@ -132,7 +132,7 @@ describe SortingTableFor, :type => :helper do
132
132
  html = table.footers do
133
133
  table.footer :username, :colspan => 5
134
134
  end
135
- html.should have_comp_tag('td[colspan="5"]')
135
+ html.should have_selector('td[colspan="5"]')
136
136
  end
137
137
  end
138
138
 
@@ -143,13 +143,13 @@ describe SortingTableFor, :type => :helper do
143
143
  table.footer :firstname, :html => { :class => 'cell_2_class', :id => 'cell_2_id', :title => 'hello_2' }
144
144
  table.footer 'hello', :html => { :class => 'cell_3_class', :id => 'cell_3_id', :title => 'hello_3' }
145
145
  end
146
- html.should have_comp_tag("tr[class=header_class][id=header_id]")
147
- html.should have_comp_tag("td:nth-child(1)[class='cell_1_class'][id=cell_1_id][title=hello_1]")
148
- html.should have_comp_tag("td:nth-child(2)[class='cell_2_class'][id=cell_2_id][title=hello_2]")
149
- html.should have_comp_tag("td:nth-child(3)[class=cell_3_class][id=cell_3_id][title=hello_3]")
146
+ html.should have_selector("tr[class=header_class][id=header_id]")
147
+ html.should have_selector("td:nth-child(1)[class='cell_1_class'][id=cell_1_id][title=hello_1]")
148
+ html.should have_selector("td:nth-child(2)[class='cell_2_class'][id=cell_2_id][title=hello_2]")
149
+ html.should have_selector("td:nth-child(3)[class=cell_3_class][id=cell_3_id][title=hello_3]")
150
150
  end
151
151
  helper.output_buffer.concat(table_html)
152
- helper.output_buffer.should have_comp_tag("table[class='table_class sorting_table_for'][id=table_id]")
152
+ helper.output_buffer.should have_selector("table[class='table_class sorting_table_for'][id=table_id]")
153
153
  end
154
154
 
155
155
  end
@@ -163,9 +163,9 @@ describe SortingTableFor, :type => :helper do
163
163
  'hello'
164
164
  end
165
165
  end
166
- html.should have_comp_tag("tfoot", :count => 1)
167
- html.should have_comp_tag("tr", :count => 1)
168
- html.should have_comp_tag("td", :count => 1)
166
+ html.should have_selector("tfoot", :count => 1)
167
+ html.should have_selector("tr", :count => 1)
168
+ html.should have_selector("td", :count => 1)
169
169
  end
170
170
  end
171
171
 
@@ -182,9 +182,9 @@ describe SortingTableFor, :type => :helper do
182
182
  'footer'
183
183
  end
184
184
  end
185
- html.should have_comp_tag("tfoot", :count => 1)
186
- html.should have_comp_tag("tr", :count => 1)
187
- html.should have_comp_tag("td", :count => 3)
185
+ html.should have_selector("tfoot", :count => 1)
186
+ html.should have_selector("tr", :count => 1)
187
+ html.should have_selector("td", :count => 3)
188
188
  end
189
189
  end
190
190
 
@@ -195,7 +195,7 @@ describe SortingTableFor, :type => :helper do
195
195
  :username
196
196
  end
197
197
  end
198
- html.should_not have_comp_tag('td', :text => 'UserFoot')
198
+ html.should_not have_selector('td', :content => 'UserFoot')
199
199
  end
200
200
  end
201
201
 
@@ -209,8 +209,8 @@ describe SortingTableFor, :type => :helper do
209
209
  :price
210
210
  end
211
211
  end
212
- html.should_not have_comp_tag('td:nth-child(1)', :text => 'UserFoot')
213
- html.should_not have_comp_tag('td:nth-child(2)', :text => 'PriceFoot')
212
+ html.should_not have_selector('td:nth-child(1)', :content => 'UserFoot')
213
+ html.should_not have_selector('td:nth-child(2)', :content => 'PriceFoot')
214
214
  end
215
215
  end
216
216
 
@@ -221,7 +221,7 @@ describe SortingTableFor, :type => :helper do
221
221
  :username
222
222
  end
223
223
  end
224
- html.should have_comp_tag('td[colspan="5"]')
224
+ html.should have_selector('td[colspan="5"]')
225
225
  end
226
226
  end
227
227
 
@@ -238,13 +238,13 @@ describe SortingTableFor, :type => :helper do
238
238
  'hello'
239
239
  end
240
240
  end
241
- html.should have_comp_tag("tr[class=header_class][id=header_id]")
242
- html.should have_comp_tag("td:nth-child(1)[class='cell_1_class'][id=cell_1_id][title=hello_1]")
243
- html.should have_comp_tag("td:nth-child(2)[class='cell_2_class'][id=cell_2_id][title=hello_2]")
244
- html.should have_comp_tag("td:nth-child(3)[class=cell_3_class][id=cell_3_id][title=hello_3]")
241
+ html.should have_selector("tr[class=header_class][id=header_id]")
242
+ html.should have_selector("td:nth-child(1)[class='cell_1_class'][id=cell_1_id][title=hello_1]")
243
+ html.should have_selector("td:nth-child(2)[class='cell_2_class'][id=cell_2_id][title=hello_2]")
244
+ html.should have_selector("td:nth-child(3)[class=cell_3_class][id=cell_3_id][title=hello_3]")
245
245
  end
246
246
  helper.output_buffer.concat(table_html)
247
- helper.output_buffer.should have_comp_tag("table[class='table_class sorting_table_for'][id=table_id]")
247
+ helper.output_buffer.should have_selector("table[class='table_class sorting_table_for'][id=table_id]")
248
248
  end
249
249
 
250
250
  end
@@ -260,8 +260,8 @@ describe SortingTableFor, :type => :helper do
260
260
  SortingTableFor::TableBuilder.i18n_add_footer_action_scope = :header
261
261
  helper.sorting_table_for(@users) do |table|
262
262
  html = table.footers :username, :price
263
- html.should have_comp_tag('td:nth-child(1)', :text => 'Usernames')
264
- html.should have_comp_tag('td:nth-child(2)', :text => 'Prices')
263
+ html.should have_selector('td:nth-child(1)', :content => 'Usernames')
264
+ html.should have_selector('td:nth-child(2)', :content => 'Prices')
265
265
  end
266
266
  end
267
267
 
@@ -8,10 +8,11 @@ include SortingTableForSpecHelper
8
8
  describe SortingTableFor, :type => :helper do
9
9
 
10
10
  before :all do
11
- (SortingTableFor::Tools::rails3?) ? routes_rails3 : routes_rails2
11
+ routes_rails
12
12
  end
13
13
 
14
14
  before :each do
15
+ SortingTableFor::TableBuilder.default_actions = [:edit, :delete]
15
16
  @users = SortingTableForUser.all
16
17
  helper.stub!(:params).and_return({ :controller => 'sorting_table_for_users', :action => 'index' })
17
18
  helper.output_buffer = ''
@@ -24,44 +25,44 @@ describe SortingTableFor, :type => :helper do
24
25
  it "should works" do
25
26
  helper.sorting_table_for(@users) do |table|
26
27
  html = table.headers
27
- html.should have_comp_tag("thead", :count => 1)
28
- html.should have_comp_tag("tr", :count => 1)
29
- html.should have_comp_tag("th", :count => 11)
28
+ html.should have_selector("thead", :count => 1)
29
+ html.should have_selector("tr", :count => 1)
30
+ html.should have_selector("th", :count => 11)
30
31
  end
31
32
  end
32
33
 
33
34
  it "should add sorting class on th" do
34
35
  helper.sorting_table_for(@users) do |table|
35
- table.headers.should have_comp_tag("th[class='cur-sort-not']", :count => 9)
36
+ table.headers.should have_selector("th[class='cur-sort-not']", :count => 9)
36
37
  end
37
38
  end
38
39
 
39
40
  it "should have link for sorting" do
40
41
  helper.sorting_table_for(@users) do |table|
41
- table.headers.should have_comp_tag("a", :count => 9)
42
+ table.headers.should have_selector("a", :count => 9)
42
43
  end
43
44
  end
44
45
 
45
46
  it "should not sort" do
46
47
  helper.sorting_table_for(@users, :sort => false) do |table|
47
- table.headers.should_not have_comp_tag("th[class='cur-sort-not']")
48
- table.headers.should_not have_comp_tag("a")
48
+ table.headers.should_not have_selector("th[class='cur-sort-not']")
49
+ table.headers.should_not have_selector("a")
49
50
  end
50
51
  end
51
52
 
52
53
  it "should be customize with html" do
53
54
  table_html = helper.sorting_table_for(@users, :html => { :class => 'table_class', :id => 'table_id' }) do |table|
54
55
  html = table.headers(:html => { :class => 'header_class', :id => 'header_id' })
55
- html.should have_comp_tag("tr[class=header_class][id=header_id]")
56
+ html.should have_selector("tr[class=header_class][id=header_id]")
56
57
  end
57
58
  helper.output_buffer.concat(table_html)
58
- helper.output_buffer.should have_comp_tag("table[class='table_class sorting_table_for'][id=table_id]")
59
+ helper.output_buffer.should have_selector("table[class='table_class sorting_table_for'][id=table_id]")
59
60
  end
60
61
 
61
62
  it "should have option colspan" do
62
63
  table_html = helper.sorting_table_for(@users) do |table|
63
64
  html = table.headers :colspan => 5
64
- html.should have_comp_tag('th[colspan="5"]', :count => SortingTableForUser.content_columns.size)
65
+ html.should have_selector('th[colspan="5"]', :count => SortingTableForUser.content_columns.size)
65
66
  end
66
67
  end
67
68
 
@@ -71,58 +72,58 @@ describe SortingTableFor, :type => :helper do
71
72
 
72
73
  it "should choose one column" do
73
74
  helper.sorting_table_for(@users) do |table|
74
- table.headers(:username).should have_comp_tag("th", :count => 1)
75
+ table.headers(:username).should have_selector("th", :count => 1)
75
76
  end
76
77
  end
77
78
 
78
79
  it "should choose multi columns" do
79
80
  helper.sorting_table_for(@users) do |table|
80
- table.headers(:username, :price).should have_comp_tag("th", :count => 2)
81
+ table.headers(:username, :price).should have_selector("th", :count => 2)
81
82
  end
82
83
  end
83
84
 
84
85
  it "should choose multi columns and one action" do
85
86
  helper.sorting_table_for(@users) do |table|
86
- table.headers(:username, :price, :actions => :edit).should have_comp_tag("th", :count => 3)
87
+ table.headers(:username, :price, :actions => :edit).should have_selector("th", :count => 3)
87
88
  end
88
89
  end
89
90
 
90
91
  it "should choose multi columns and actions" do
91
92
  helper.sorting_table_for(@users) do |table|
92
- table.headers(:username, :price, :actions => [:edit, :edit_password]).should have_comp_tag("th", :count => 4)
93
+ table.headers(:username, :price, :actions => [:edit, :edit_password]).should have_selector("th", :count => 4)
93
94
  end
94
95
  end
95
96
 
96
97
  it "should works with non symbol field" do
97
98
  helper.sorting_table_for(@users) do |table|
98
99
  html = table.headers(:username, 'test', image_tag('rails.png'))
99
- html.should have_comp_tag("th", :count => 3)
100
- html.should have_comp_tag("th:nth-child(2)", :text => 'test')
101
- html.should have_comp_tag("th:nth-child(3) img")
100
+ html.should have_selector("th", :count => 3)
101
+ html.should have_selector("th:nth-child(2)", :content => 'test')
102
+ html.should have_selector("th:nth-child(3) img")
102
103
  end
103
104
  end
104
105
 
105
106
  it "should works with non key symbol" do
106
107
  helper.sorting_table_for(@users) do |table|
107
- table.headers(:username, :test).should have_comp_tag("th", :count => 2)
108
+ table.headers(:username, :test).should have_selector("th", :count => 2)
108
109
  end
109
110
  end
110
111
 
111
112
  it "should works with i18n for symbol" do
112
113
  helper.sorting_table_for(@users) do |table|
113
114
  html = table.headers(:username, :firstname, 'hello', :my_fake, :actions => :edit)
114
- html.should have_comp_tag("th:nth-child(1)", :text => 'Usernames')
115
- html.should have_comp_tag("th:nth-child(2)", :text => 'Firstnames')
116
- html.should have_comp_tag("th:nth-child(3)", :text => 'hello')
117
- html.should have_comp_tag("th:nth-child(4)", :text => 'Hello fake')
118
- html.should have_comp_tag("th:nth-child(5)", :text => 'Edit users')
115
+ html.should have_selector("th:nth-child(1)", :content => 'Usernames')
116
+ html.should have_selector("th:nth-child(2)", :content => 'Firstnames')
117
+ html.should have_selector("th:nth-child(3)", :content => 'hello')
118
+ html.should have_selector("th:nth-child(4)", :content => 'Hello fake')
119
+ html.should have_selector("th:nth-child(5)", :content => 'Edit users')
119
120
  end
120
121
  end
121
122
 
122
123
  it "should have option colspan" do
123
124
  table_html = helper.sorting_table_for(@users) do |table|
124
125
  html = table.headers :username, :colspan => 5
125
- html.should have_comp_tag('th[colspan="5"]', :count => 1)
126
+ html.should have_selector('th[colspan="5"]', :count => 1)
126
127
  end
127
128
  end
128
129
 
@@ -135,9 +136,9 @@ describe SortingTableFor, :type => :helper do
135
136
  html = table.headers do
136
137
  table.header(:username)
137
138
  end
138
- html.should have_comp_tag("thead", :count => 1)
139
- html.should have_comp_tag("tr", :count => 1)
140
- html.should have_comp_tag("th", :count => 1)
139
+ html.should have_selector("thead", :count => 1)
140
+ html.should have_selector("tr", :count => 1)
141
+ html.should have_selector("th", :count => 1)
141
142
  end
142
143
  end
143
144
 
@@ -150,11 +151,11 @@ describe SortingTableFor, :type => :helper do
150
151
  table.header image_tag('rails.png')
151
152
  table.header I18n.t('my_test', :scope => [:fake_scope])
152
153
  end
153
- html.should have_comp_tag("th", :count => 5)
154
- html.should have_comp_tag("th[class=cur-sort-not]", :count => 2)
155
- html.should have_comp_tag("th:nth-child(3)", :text => 'test')
156
- html.should have_comp_tag("th:nth-child(4) img")
157
- html.should have_comp_tag('th:nth-child(5)', :text => 'Hello')
154
+ html.should have_selector("th", :count => 5)
155
+ html.should have_selector("th[class=cur-sort-not]", :count => 2)
156
+ html.should have_selector("th:nth-child(3)", :content => 'test')
157
+ html.should have_selector("th:nth-child(4) img")
158
+ html.should have_selector('th:nth-child(5)', :content => 'Hello')
158
159
  end
159
160
  end
160
161
 
@@ -165,13 +166,13 @@ describe SortingTableFor, :type => :helper do
165
166
  table.header :firstname, :html => { :class => 'cell_2_class', :id => 'cell_2_id', :title => 'hello_2' }
166
167
  table.header 'hello', :html => { :class => 'cell_3_class', :id => 'cell_3_id', :title => 'hello_3' }
167
168
  end
168
- html.should have_comp_tag("tr[class=header_class][id=header_id]")
169
- html.should have_comp_tag("th:nth-child(1)[class='cell_1_class cur-sort-not'][id=cell_1_id][title=hello_1]")
170
- html.should have_comp_tag("th:nth-child(2)[class='cell_2_class cur-sort-not'][id=cell_2_id][title=hello_2]")
171
- html.should have_comp_tag("th:nth-child(3)[class=cell_3_class][id=cell_3_id][title=hello_3]")
169
+ html.should have_selector("tr[class=header_class][id=header_id]")
170
+ html.should have_selector("th:nth-child(1)[class='cell_1_class cur-sort-not'][id=cell_1_id][title=hello_1]")
171
+ html.should have_selector("th:nth-child(2)[class='cell_2_class cur-sort-not'][id=cell_2_id][title=hello_2]")
172
+ html.should have_selector("th:nth-child(3)[class=cell_3_class][id=cell_3_id][title=hello_3]")
172
173
  end
173
174
  helper.output_buffer.concat(table_html)
174
- helper.output_buffer.should have_comp_tag("table[class='table_class sorting_table_for'][id=table_id]")
175
+ helper.output_buffer.should have_selector("table[class='table_class sorting_table_for'][id=table_id]")
175
176
  end
176
177
 
177
178
  it "should works with i18n for symbol" do
@@ -183,11 +184,11 @@ describe SortingTableFor, :type => :helper do
183
184
  table.header :my_fake
184
185
  table.header :action => :edit
185
186
  end
186
- html.should have_comp_tag("th:nth-child(1)", :text => 'Usernames')
187
- html.should have_comp_tag("th:nth-child(2)", :text => 'Firstnames')
188
- html.should have_comp_tag("th:nth-child(3)", :text => 'hello')
189
- html.should have_comp_tag("th:nth-child(4)", :text => 'Hello fake')
190
- html.should have_comp_tag("th:nth-child(5)", :text => 'Edit users')
187
+ html.should have_selector("th:nth-child(1)", :content => 'Usernames')
188
+ html.should have_selector("th:nth-child(2)", :content => 'Firstnames')
189
+ html.should have_selector("th:nth-child(3)", :content => 'hello')
190
+ html.should have_selector("th:nth-child(4)", :content => 'Hello fake')
191
+ html.should have_selector("th:nth-child(5)", :content => 'Edit users')
191
192
  end
192
193
  end
193
194
 
@@ -197,7 +198,7 @@ describe SortingTableFor, :type => :helper do
197
198
  table.header :username
198
199
  table.header :price
199
200
  end
200
- html.should_not have_comp_tag("th[class=cur-sort-not]")
201
+ html.should_not have_selector("th[class=cur-sort-not]")
201
202
  end
202
203
  end
203
204
 
@@ -207,8 +208,8 @@ describe SortingTableFor, :type => :helper do
207
208
  table.header :username, :sort => true
208
209
  table.header :price, :sort => false
209
210
  end
210
- html.should have_comp_tag("th:nth-child(1)[class=cur-sort-not]")
211
- html.should_not have_comp_tag("th:nth-child(2)[class=cur-sort-not]")
211
+ html.should have_selector("th:nth-child(1)[class=cur-sort-not]")
212
+ html.should_not have_selector("th:nth-child(2)[class=cur-sort-not]")
212
213
  end
213
214
  end
214
215
 
@@ -218,8 +219,8 @@ describe SortingTableFor, :type => :helper do
218
219
  table.header :username, :sort => true
219
220
  table.header :price, :sort => false
220
221
  end
221
- html.should have_comp_tag("th:nth-child(1)[class=cur-sort-not]")
222
- html.should_not have_comp_tag("th:nth-child(2)[class=cur-sort-not]")
222
+ html.should have_selector("th:nth-child(1)[class=cur-sort-not]")
223
+ html.should_not have_selector("th:nth-child(2)[class=cur-sort-not]")
223
224
  end
224
225
  end
225
226
 
@@ -228,8 +229,8 @@ describe SortingTableFor, :type => :helper do
228
229
  html = table.headers do
229
230
  table.header 'my name', :sort_as => :username
230
231
  end
231
- html.should have_comp_tag("th:nth-child(1)", :text => 'my name')
232
- html.should have_comp_tag("th:nth-child(1)[class=cur-sort-not]")
232
+ html.should have_selector("th:nth-child(1)", :content => 'my name')
233
+ html.should have_selector("th:nth-child(1)[class=cur-sort-not]")
233
234
  end
234
235
  end
235
236
 
@@ -239,9 +240,9 @@ describe SortingTableFor, :type => :helper do
239
240
  table.header 'my name', :sort_as => :username, :sort => true
240
241
  table.header :price
241
242
  end
242
- html.should have_comp_tag("th:nth-child(1)", :text => 'my name')
243
- html.should have_comp_tag("th:nth-child(1)[class=cur-sort-not]")
244
- html.should_not have_comp_tag("th:nth-child(2)[class=cur-sort-not]")
243
+ html.should have_selector("th:nth-child(1)", :content => 'my name')
244
+ html.should have_selector("th:nth-child(1)[class=cur-sort-not]")
245
+ html.should_not have_selector("th:nth-child(2)[class=cur-sort-not]")
245
246
  end
246
247
  end
247
248
 
@@ -251,8 +252,8 @@ describe SortingTableFor, :type => :helper do
251
252
  table.header :username, :colspan => 5
252
253
  table.header :price, :colspan => 3
253
254
  end
254
- html.should have_comp_tag('th[colspan="5"]', :count => 1)
255
- html.should have_comp_tag('th[colspan="3"]', :count => 1)
255
+ html.should have_selector('th[colspan="5"]', :count => 1)
256
+ html.should have_selector('th[colspan="3"]', :count => 1)
256
257
  end
257
258
  end
258
259
 
@@ -270,7 +271,7 @@ describe SortingTableFor, :type => :helper do
270
271
  :firstname
271
272
  end
272
273
  end
273
- html.should have_comp_tag("th", :count => 2)
274
+ html.should have_selector("th", :count => 2)
274
275
  end
275
276
  end
276
277
 
@@ -281,7 +282,7 @@ describe SortingTableFor, :type => :helper do
281
282
  :username
282
283
  end
283
284
  end
284
- html.should_not have_comp_tag("a")
285
+ html.should_not have_selector("a")
285
286
  end
286
287
  end
287
288
 
@@ -292,7 +293,7 @@ describe SortingTableFor, :type => :helper do
292
293
  :username
293
294
  end
294
295
  end
295
- html.should_not have_comp_tag("th[class=cur-sort-not]")
296
+ html.should_not have_selector("th[class=cur-sort-not]")
296
297
  end
297
298
  end
298
299
 
@@ -309,13 +310,9 @@ describe SortingTableFor, :type => :helper do
309
310
  I18n.t(:my_test, :scope => :fake_scope)
310
311
  end
311
312
  end
312
- if SortingTableFor::Tools::rails3?
313
- html.should have_comp_tag("th:nth-child(1)", :text => '')
314
- else
315
- html.should have_comp_tag("th:nth-child(1)", :text => 'username')
316
- end
317
- html.should have_comp_tag("th:nth-child(2)", :text => 'firstname')
318
- html.should have_comp_tag("th:nth-child(3)", :text => 'Hello')
313
+ html.should have_selector("th:nth-child(1)", :content => '')
314
+ html.should have_selector("th:nth-child(2)", :content => 'firstname')
315
+ html.should have_selector("th:nth-child(3)", :content => 'Hello')
319
316
  end
320
317
  end
321
318
 
@@ -332,13 +329,13 @@ describe SortingTableFor, :type => :helper do
332
329
  'hello'
333
330
  end
334
331
  end
335
- html.should have_comp_tag("tr[class=header_class][id=header_id]")
336
- html.should have_comp_tag("th:nth-child(1)[class='cell_1_class'][id=cell_1_id][title=hello_1]")
337
- html.should have_comp_tag("th:nth-child(2)[class='cell_2_class'][id=cell_2_id][title=hello_2]")
338
- html.should have_comp_tag("th:nth-child(3)[class=cell_3_class][id=cell_3_id][title=hello_3]")
332
+ html.should have_selector("tr[class=header_class][id=header_id]")
333
+ html.should have_selector("th:nth-child(1)[class='cell_1_class'][id=cell_1_id][title=hello_1]")
334
+ html.should have_selector("th:nth-child(2)[class='cell_2_class'][id=cell_2_id][title=hello_2]")
335
+ html.should have_selector("th:nth-child(3)[class=cell_3_class][id=cell_3_id][title=hello_3]")
339
336
  end
340
337
  helper.output_buffer.concat(table_html)
341
- helper.output_buffer.should have_comp_tag("table[class='table_class sorting_table_for'][id=table_id]")
338
+ helper.output_buffer.should have_selector("table[class='table_class sorting_table_for'][id=table_id]")
342
339
  end
343
340
 
344
341
  it "should have option colspan" do
@@ -351,8 +348,8 @@ describe SortingTableFor, :type => :helper do
351
348
  'my_colspan_2'
352
349
  end
353
350
  end
354
- html.should have_comp_tag('th[colspan="5"]', :count => 1)
355
- html.should have_comp_tag('th[colspan="3"]', :count => 1)
351
+ html.should have_selector('th[colspan="5"]', :count => 1)
352
+ html.should have_selector('th[colspan="3"]', :count => 1)
356
353
  end
357
354
  end
358
355
 
@@ -371,28 +368,21 @@ describe SortingTableFor, :type => :helper do
371
368
  it "should edit reserved columns" do
372
369
  SortingTableFor::TableBuilder.reserved_columns = [:id, :firstname, :lastname, :position, :salary, :price, :active, :created_at, :updated_at]
373
370
  helper.sorting_table_for(@users) do |table|
374
- table.headers.should have_comp_tag("th", :count => 3)
371
+ table.headers.should have_selector("th", :count => 3)
375
372
  end
376
373
  end
377
374
 
378
375
  it "should edit params sort table" do
379
- pending("Check if the link is edit")
380
376
  SortingTableFor::TableBuilder.params_sort_table = :hello_table
381
377
  helper.sorting_table_for(@users) do |table|
378
+ table.headers.include?("<a href=\"/sorting_table_for_users?hello_table%5Busername%5D=asc\">").should be_true
382
379
  end
383
380
  end
384
381
 
385
382
  it "should edit default actions" do
386
383
  SortingTableFor::TableBuilder.default_actions = [:show, :edit_password, :edit, :delete]
387
384
  helper.sorting_table_for(@users) do |table|
388
- table.headers.should have_comp_tag("th", :count => SortingTableForUser.column_names.size + 3)
389
- end
390
- end
391
-
392
- it "should edit default actions" do
393
- pending('check if the link is valid')
394
- SortingTableFor::TableBuilder.default_actions = [:show, :edit_password]
395
- helper.sorting_table_for(@users) do |table|
385
+ table.headers.should have_selector("th", :count => SortingTableForUser.column_names.size + 3)
396
386
  end
397
387
  end
398
388
 
@@ -400,8 +390,8 @@ describe SortingTableFor, :type => :helper do
400
390
  SortingTableFor::TableBuilder.i18n_add_header_action_scope = :footer
401
391
  helper.sorting_table_for(@users) do |table|
402
392
  html = table.headers :username, :price
403
- html.should have_comp_tag('th:nth-child(1)', :text => 'UserFoot')
404
- html.should have_comp_tag('th:nth-child(2)', :text => 'PriceFoot')
393
+ html.should have_selector('th:nth-child(1)', :content => 'UserFoot')
394
+ html.should have_selector('th:nth-child(2)', :content => 'PriceFoot')
405
395
  end
406
396
  end
407
397