actionpack 2.1.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of actionpack might be problematic. Click here for more details.

Files changed (60) hide show
  1. data/CHANGELOG +17 -0
  2. data/Rakefile +10 -6
  3. data/lib/action_controller.rb +0 -0
  4. data/lib/action_controller/assertions/response_assertions.rb +1 -1
  5. data/lib/action_controller/assertions/selector_assertions.rb +26 -46
  6. data/lib/action_controller/base.rb +8 -4
  7. data/lib/action_controller/dispatcher.rb +1 -1
  8. data/lib/action_controller/filters.rb +194 -195
  9. data/lib/action_controller/polymorphic_routes.rb +25 -12
  10. data/lib/action_controller/record_identifier.rb +20 -13
  11. data/lib/action_controller/request.rb +9 -6
  12. data/lib/action_controller/request_profiler.rb +0 -0
  13. data/lib/action_controller/response.rb +0 -0
  14. data/lib/action_controller/routing.rb +5 -1
  15. data/lib/action_controller/routing/builder.rb +1 -2
  16. data/lib/action_controller/routing/segments.rb +1 -1
  17. data/lib/action_controller/templates/rescues/layout.erb +1 -1
  18. data/lib/action_controller/test_process.rb +4 -2
  19. data/lib/action_controller/vendor/html-scanner/html/document.rb +1 -1
  20. data/lib/action_controller/verification.rb +1 -1
  21. data/lib/action_pack/version.rb +1 -1
  22. data/lib/action_view/base.rb +7 -3
  23. data/lib/action_view/helpers/asset_tag_helper.rb +14 -11
  24. data/lib/action_view/helpers/date_helper.rb +3 -3
  25. data/lib/action_view/helpers/form_helper.rb +5 -1
  26. data/lib/action_view/helpers/form_options_helper.rb +2 -2
  27. data/lib/action_view/helpers/form_tag_helper.rb +5 -3
  28. data/lib/action_view/helpers/javascript_helper.rb +4 -4
  29. data/lib/action_view/helpers/prototype_helper.rb +7 -7
  30. data/lib/action_view/helpers/tag_helper.rb +4 -3
  31. data/lib/action_view/helpers/text_helper.rb +1 -1
  32. data/lib/action_view/helpers/url_helper.rb +3 -5
  33. data/lib/action_view/partial_template.rb +1 -1
  34. data/test/controller/action_pack_assertions_test.rb +24 -5
  35. data/test/controller/assert_select_test.rb +6 -1
  36. data/test/controller/base_test.rb +37 -1
  37. data/test/controller/cgi_test.rb +0 -0
  38. data/test/controller/dispatcher_test.rb +2 -2
  39. data/test/controller/html-scanner/document_test.rb +25 -0
  40. data/test/controller/integration_upload_test.rb +1 -1
  41. data/test/controller/new_render_test.rb +22 -3
  42. data/test/controller/polymorphic_routes_test.rb +33 -0
  43. data/test/controller/redirect_test.rb +0 -0
  44. data/test/controller/render_test.rb +1 -1
  45. data/test/controller/request_test.rb +6 -0
  46. data/test/controller/resources_test.rb +15 -17
  47. data/test/controller/routing_test.rb +22 -2
  48. data/test/controller/session/cookie_store_test.rb +0 -0
  49. data/test/controller/test_test.rb +11 -2
  50. data/test/controller/verification_test.rb +34 -17
  51. data/test/fixtures/test/render_file_from_template.html.erb +1 -0
  52. data/test/template/date_helper_test.rb +59 -8
  53. data/test/template/deprecated_erb_variable_test.rb +9 -0
  54. data/test/template/form_options_helper_test.rb +505 -514
  55. data/test/template/form_tag_helper_test.rb +13 -0
  56. data/test/template/javascript_helper_test.rb +7 -4
  57. data/test/template/prototype_helper_test.rb +14 -6
  58. data/test/template/text_helper_test.rb +1 -0
  59. data/test/template/url_helper_test.rb +11 -1
  60. metadata +8 -4
@@ -0,0 +1,9 @@
1
+ require 'abstract_unit'
2
+
3
+ class DeprecatedErbVariableTest < ActionView::TestCase
4
+ def test_setting_erb_variable_warns
5
+ assert_deprecated 'erb_variable' do
6
+ ActionView::Base.erb_variable = '_erbout'
7
+ end
8
+ end
9
+ end
@@ -1,66 +1,43 @@
1
1
  require 'abstract_unit'
2
2
 
3
- class MockTimeZone
4
- attr_reader :name
5
-
6
- def initialize( name )
7
- @name = name
8
- end
9
-
10
- def self.all
11
- [ "A", "B", "C", "D", "E" ].map { |s| new s }
12
- end
13
-
14
- def ==( z )
15
- z && @name == z.name
16
- end
17
-
18
- def to_s
19
- @name
20
- end
21
- end
22
-
23
- ActionView::Helpers::FormOptionsHelper::TimeZone = MockTimeZone
24
-
25
- class FormOptionsHelperTest < ActionView::TestCase
26
- tests ActionView::Helpers::FormOptionsHelper
27
-
28
- silence_warnings do
29
- Post = Struct.new('Post', :title, :author_name, :body, :secret, :written_on, :category, :origin)
30
- Continent = Struct.new('Continent', :continent_name, :countries)
31
- Country = Struct.new('Country', :country_id, :country_name)
32
- Firm = Struct.new('Firm', :time_zone)
33
- Album = Struct.new('Album', :id, :title, :genre)
34
- end
3
+ TZInfo::Timezone.cattr_reader :loaded_zones
4
+
5
+ uses_mocha "FormOptionsHelperTest" do
6
+ class FormOptionsHelperTest < ActionView::TestCase
7
+ tests ActionView::Helpers::FormOptionsHelper
8
+
9
+ silence_warnings do
10
+ Post = Struct.new('Post', :title, :author_name, :body, :secret, :written_on, :category, :origin)
11
+ Continent = Struct.new('Continent', :continent_name, :countries)
12
+ Country = Struct.new('Country', :country_id, :country_name)
13
+ Firm = Struct.new('Firm', :time_zone)
14
+ Album = Struct.new('Album', :id, :title, :genre)
15
+ end
35
16
 
36
- def test_collection_options
37
- @posts = [
38
- Post.new("<Abe> went home", "<Abe>", "To a little house", "shh!"),
39
- Post.new("Babe went home", "Babe", "To a little house", "shh!"),
40
- Post.new("Cabe went home", "Cabe", "To a little house", "shh!")
41
- ]
42
-
43
- assert_dom_equal(
44
- "<option value=\"&lt;Abe&gt;\">&lt;Abe&gt; went home</option>\n<option value=\"Babe\">Babe went home</option>\n<option value=\"Cabe\">Cabe went home</option>",
45
- options_from_collection_for_select(@posts, "author_name", "title")
46
- )
47
- end
17
+ def setup
18
+ @fake_timezones = %w(A B C D E).inject([]) do |zones, id|
19
+ tz = TZInfo::Timezone.loaded_zones[id] = stub(:name => id, :to_s => id)
20
+ ActiveSupport::TimeZone.stubs(:[]).with(id).returns(tz)
21
+ zones << tz
22
+ end
23
+ ActiveSupport::TimeZone.stubs(:all).returns(@fake_timezones)
24
+ end
48
25
 
26
+ def test_collection_options
27
+ @posts = [
28
+ Post.new("<Abe> went home", "<Abe>", "To a little house", "shh!"),
29
+ Post.new("Babe went home", "Babe", "To a little house", "shh!"),
30
+ Post.new("Cabe went home", "Cabe", "To a little house", "shh!")
31
+ ]
49
32
 
50
- def test_collection_options_with_preselected_value
51
- @posts = [
52
- Post.new("<Abe> went home", "<Abe>", "To a little house", "shh!"),
53
- Post.new("Babe went home", "Babe", "To a little house", "shh!"),
54
- Post.new("Cabe went home", "Cabe", "To a little house", "shh!")
55
- ]
33
+ assert_dom_equal(
34
+ "<option value=\"&lt;Abe&gt;\">&lt;Abe&gt; went home</option>\n<option value=\"Babe\">Babe went home</option>\n<option value=\"Cabe\">Cabe went home</option>",
35
+ options_from_collection_for_select(@posts, "author_name", "title")
36
+ )
37
+ end
56
38
 
57
- assert_dom_equal(
58
- "<option value=\"&lt;Abe&gt;\">&lt;Abe&gt; went home</option>\n<option value=\"Babe\" selected=\"selected\">Babe went home</option>\n<option value=\"Cabe\">Cabe went home</option>",
59
- options_from_collection_for_select(@posts, "author_name", "title", "Babe")
60
- )
61
- end
62
39
 
63
- def test_collection_options_with_preselected_value_array
40
+ def test_collection_options_with_preselected_value
64
41
  @posts = [
65
42
  Post.new("<Abe> went home", "<Abe>", "To a little house", "shh!"),
66
43
  Post.new("Babe went home", "Babe", "To a little house", "shh!"),
@@ -68,358 +45,371 @@ class FormOptionsHelperTest < ActionView::TestCase
68
45
  ]
69
46
 
70
47
  assert_dom_equal(
71
- "<option value=\"&lt;Abe&gt;\">&lt;Abe&gt; went home</option>\n<option value=\"Babe\" selected=\"selected\">Babe went home</option>\n<option value=\"Cabe\" selected=\"selected\">Cabe went home</option>",
72
- options_from_collection_for_select(@posts, "author_name", "title", [ "Babe", "Cabe" ])
48
+ "<option value=\"&lt;Abe&gt;\">&lt;Abe&gt; went home</option>\n<option value=\"Babe\" selected=\"selected\">Babe went home</option>\n<option value=\"Cabe\">Cabe went home</option>",
49
+ options_from_collection_for_select(@posts, "author_name", "title", "Babe")
73
50
  )
74
- end
51
+ end
75
52
 
76
- def test_array_options_for_select
77
- assert_dom_equal(
78
- "<option value=\"&lt;Denmark&gt;\">&lt;Denmark&gt;</option>\n<option value=\"USA\">USA</option>\n<option value=\"Sweden\">Sweden</option>",
79
- options_for_select([ "<Denmark>", "USA", "Sweden" ])
80
- )
81
- end
53
+ def test_collection_options_with_preselected_value_array
54
+ @posts = [
55
+ Post.new("<Abe> went home", "<Abe>", "To a little house", "shh!"),
56
+ Post.new("Babe went home", "Babe", "To a little house", "shh!"),
57
+ Post.new("Cabe went home", "Cabe", "To a little house", "shh!")
58
+ ]
59
+
60
+ assert_dom_equal(
61
+ "<option value=\"&lt;Abe&gt;\">&lt;Abe&gt; went home</option>\n<option value=\"Babe\" selected=\"selected\">Babe went home</option>\n<option value=\"Cabe\" selected=\"selected\">Cabe went home</option>",
62
+ options_from_collection_for_select(@posts, "author_name", "title", [ "Babe", "Cabe" ])
63
+ )
64
+ end
82
65
 
83
- def test_array_options_for_select_with_selection
84
- assert_dom_equal(
85
- "<option value=\"Denmark\">Denmark</option>\n<option value=\"&lt;USA&gt;\" selected=\"selected\">&lt;USA&gt;</option>\n<option value=\"Sweden\">Sweden</option>",
86
- options_for_select([ "Denmark", "<USA>", "Sweden" ], "<USA>")
87
- )
88
- end
66
+ def test_array_options_for_select
67
+ assert_dom_equal(
68
+ "<option value=\"&lt;Denmark&gt;\">&lt;Denmark&gt;</option>\n<option value=\"USA\">USA</option>\n<option value=\"Sweden\">Sweden</option>",
69
+ options_for_select([ "<Denmark>", "USA", "Sweden" ])
70
+ )
71
+ end
89
72
 
90
- def test_array_options_for_select_with_selection_array
73
+ def test_array_options_for_select_with_selection
91
74
  assert_dom_equal(
92
- "<option value=\"Denmark\">Denmark</option>\n<option value=\"&lt;USA&gt;\" selected=\"selected\">&lt;USA&gt;</option>\n<option value=\"Sweden\" selected=\"selected\">Sweden</option>",
93
- options_for_select([ "Denmark", "<USA>", "Sweden" ], [ "<USA>", "Sweden" ])
75
+ "<option value=\"Denmark\">Denmark</option>\n<option value=\"&lt;USA&gt;\" selected=\"selected\">&lt;USA&gt;</option>\n<option value=\"Sweden\">Sweden</option>",
76
+ options_for_select([ "Denmark", "<USA>", "Sweden" ], "<USA>")
94
77
  )
95
- end
78
+ end
79
+
80
+ def test_array_options_for_select_with_selection_array
81
+ assert_dom_equal(
82
+ "<option value=\"Denmark\">Denmark</option>\n<option value=\"&lt;USA&gt;\" selected=\"selected\">&lt;USA&gt;</option>\n<option value=\"Sweden\" selected=\"selected\">Sweden</option>",
83
+ options_for_select([ "Denmark", "<USA>", "Sweden" ], [ "<USA>", "Sweden" ])
84
+ )
85
+ end
86
+
87
+ def test_array_options_for_string_include_in_other_string_bug_fix
88
+ assert_dom_equal(
89
+ "<option value=\"ruby\">ruby</option>\n<option value=\"rubyonrails\" selected=\"selected\">rubyonrails</option>",
90
+ options_for_select([ "ruby", "rubyonrails" ], "rubyonrails")
91
+ )
92
+ assert_dom_equal(
93
+ "<option value=\"ruby\" selected=\"selected\">ruby</option>\n<option value=\"rubyonrails\">rubyonrails</option>",
94
+ options_for_select([ "ruby", "rubyonrails" ], "ruby")
95
+ )
96
+ assert_dom_equal(
97
+ %(<option value="ruby" selected="selected">ruby</option>\n<option value="rubyonrails">rubyonrails</option>\n<option value=""></option>),
98
+ options_for_select([ "ruby", "rubyonrails", nil ], "ruby")
99
+ )
100
+ end
96
101
 
97
- def test_array_options_for_string_include_in_other_string_bug_fix
102
+ def test_hash_options_for_select
98
103
  assert_dom_equal(
99
- "<option value=\"ruby\">ruby</option>\n<option value=\"rubyonrails\" selected=\"selected\">rubyonrails</option>",
100
- options_for_select([ "ruby", "rubyonrails" ], "rubyonrails")
104
+ "<option value=\"&lt;Kroner&gt;\">&lt;DKR&gt;</option>\n<option value=\"Dollar\">$</option>",
105
+ options_for_select("$" => "Dollar", "<DKR>" => "<Kroner>").split("\n").sort.join("\n")
101
106
  )
102
107
  assert_dom_equal(
103
- "<option value=\"ruby\" selected=\"selected\">ruby</option>\n<option value=\"rubyonrails\">rubyonrails</option>",
104
- options_for_select([ "ruby", "rubyonrails" ], "ruby")
108
+ "<option value=\"&lt;Kroner&gt;\">&lt;DKR&gt;</option>\n<option value=\"Dollar\" selected=\"selected\">$</option>",
109
+ options_for_select({ "$" => "Dollar", "<DKR>" => "<Kroner>" }, "Dollar").split("\n").sort.join("\n")
105
110
  )
106
111
  assert_dom_equal(
107
- %(<option value="ruby" selected="selected">ruby</option>\n<option value="rubyonrails">rubyonrails</option>\n<option value=""></option>),
108
- options_for_select([ "ruby", "rubyonrails", nil ], "ruby")
112
+ "<option value=\"&lt;Kroner&gt;\" selected=\"selected\">&lt;DKR&gt;</option>\n<option value=\"Dollar\" selected=\"selected\">$</option>",
113
+ options_for_select({ "$" => "Dollar", "<DKR>" => "<Kroner>" }, [ "Dollar", "<Kroner>" ]).split("\n").sort.join("\n")
109
114
  )
110
- end
115
+ end
111
116
 
112
- def test_hash_options_for_select
113
- assert_dom_equal(
114
- "<option value=\"&lt;Kroner&gt;\">&lt;DKR&gt;</option>\n<option value=\"Dollar\">$</option>",
115
- options_for_select("$" => "Dollar", "<DKR>" => "<Kroner>").split("\n").sort.join("\n")
116
- )
117
- assert_dom_equal(
118
- "<option value=\"&lt;Kroner&gt;\">&lt;DKR&gt;</option>\n<option value=\"Dollar\" selected=\"selected\">$</option>",
119
- options_for_select({ "$" => "Dollar", "<DKR>" => "<Kroner>" }, "Dollar").split("\n").sort.join("\n")
120
- )
121
- assert_dom_equal(
122
- "<option value=\"&lt;Kroner&gt;\" selected=\"selected\">&lt;DKR&gt;</option>\n<option value=\"Dollar\" selected=\"selected\">$</option>",
123
- options_for_select({ "$" => "Dollar", "<DKR>" => "<Kroner>" }, [ "Dollar", "<Kroner>" ]).split("\n").sort.join("\n")
124
- )
125
- end
117
+ def test_ducktyped_options_for_select
118
+ quack = Struct.new(:first, :last)
119
+ assert_dom_equal(
120
+ "<option value=\"&lt;Kroner&gt;\">&lt;DKR&gt;</option>\n<option value=\"Dollar\">$</option>",
121
+ options_for_select([quack.new("<DKR>", "<Kroner>"), quack.new("$", "Dollar")])
122
+ )
123
+ assert_dom_equal(
124
+ "<option value=\"&lt;Kroner&gt;\">&lt;DKR&gt;</option>\n<option value=\"Dollar\" selected=\"selected\">$</option>",
125
+ options_for_select([quack.new("<DKR>", "<Kroner>"), quack.new("$", "Dollar")], "Dollar")
126
+ )
127
+ assert_dom_equal(
128
+ "<option value=\"&lt;Kroner&gt;\" selected=\"selected\">&lt;DKR&gt;</option>\n<option value=\"Dollar\" selected=\"selected\">$</option>",
129
+ options_for_select([quack.new("<DKR>", "<Kroner>"), quack.new("$", "Dollar")], ["Dollar", "<Kroner>"])
130
+ )
131
+ end
126
132
 
127
- def test_ducktyped_options_for_select
128
- quack = Struct.new(:first, :last)
129
- assert_dom_equal(
130
- "<option value=\"&lt;Kroner&gt;\">&lt;DKR&gt;</option>\n<option value=\"Dollar\">$</option>",
131
- options_for_select([quack.new("<DKR>", "<Kroner>"), quack.new("$", "Dollar")])
132
- )
133
- assert_dom_equal(
134
- "<option value=\"&lt;Kroner&gt;\">&lt;DKR&gt;</option>\n<option value=\"Dollar\" selected=\"selected\">$</option>",
135
- options_for_select([quack.new("<DKR>", "<Kroner>"), quack.new("$", "Dollar")], "Dollar")
136
- )
137
- assert_dom_equal(
138
- "<option value=\"&lt;Kroner&gt;\" selected=\"selected\">&lt;DKR&gt;</option>\n<option value=\"Dollar\" selected=\"selected\">$</option>",
139
- options_for_select([quack.new("<DKR>", "<Kroner>"), quack.new("$", "Dollar")], ["Dollar", "<Kroner>"])
140
- )
141
- end
133
+ def test_option_groups_from_collection_for_select
134
+ @continents = [
135
+ Continent.new("<Africa>", [Country.new("<sa>", "<South Africa>"), Country.new("so", "Somalia")] ),
136
+ Continent.new("Europe", [Country.new("dk", "Denmark"), Country.new("ie", "Ireland")] )
137
+ ]
142
138
 
143
- def test_option_groups_from_collection_for_select
144
- @continents = [
145
- Continent.new("<Africa>", [Country.new("<sa>", "<South Africa>"), Country.new("so", "Somalia")] ),
146
- Continent.new("Europe", [Country.new("dk", "Denmark"), Country.new("ie", "Ireland")] )
147
- ]
139
+ assert_dom_equal(
140
+ "<optgroup label=\"&lt;Africa&gt;\"><option value=\"&lt;sa&gt;\">&lt;South Africa&gt;</option>\n<option value=\"so\">Somalia</option></optgroup><optgroup label=\"Europe\"><option value=\"dk\" selected=\"selected\">Denmark</option>\n<option value=\"ie\">Ireland</option></optgroup>",
141
+ option_groups_from_collection_for_select(@continents, "countries", "continent_name", "country_id", "country_name", "dk")
142
+ )
143
+ end
148
144
 
149
- assert_dom_equal(
150
- "<optgroup label=\"&lt;Africa&gt;\"><option value=\"&lt;sa&gt;\">&lt;South Africa&gt;</option>\n<option value=\"so\">Somalia</option></optgroup><optgroup label=\"Europe\"><option value=\"dk\" selected=\"selected\">Denmark</option>\n<option value=\"ie\">Ireland</option></optgroup>",
151
- option_groups_from_collection_for_select(@continents, "countries", "continent_name", "country_id", "country_name", "dk")
152
- )
153
- end
145
+ def test_time_zone_options_no_parms
146
+ opts = time_zone_options_for_select
147
+ assert_dom_equal "<option value=\"A\">A</option>\n" +
148
+ "<option value=\"B\">B</option>\n" +
149
+ "<option value=\"C\">C</option>\n" +
150
+ "<option value=\"D\">D</option>\n" +
151
+ "<option value=\"E\">E</option>",
152
+ opts
153
+ end
154
154
 
155
- def test_time_zone_options_no_parms
156
- opts = time_zone_options_for_select
157
- assert_dom_equal "<option value=\"A\">A</option>\n" +
158
- "<option value=\"B\">B</option>\n" +
159
- "<option value=\"C\">C</option>\n" +
160
- "<option value=\"D\">D</option>\n" +
161
- "<option value=\"E\">E</option>",
162
- opts
163
- end
155
+ def test_time_zone_options_with_selected
156
+ opts = time_zone_options_for_select( "D" )
157
+ assert_dom_equal "<option value=\"A\">A</option>\n" +
158
+ "<option value=\"B\">B</option>\n" +
159
+ "<option value=\"C\">C</option>\n" +
160
+ "<option value=\"D\" selected=\"selected\">D</option>\n" +
161
+ "<option value=\"E\">E</option>",
162
+ opts
163
+ end
164
164
 
165
- def test_time_zone_options_with_selected
166
- opts = time_zone_options_for_select( "D" )
167
- assert_dom_equal "<option value=\"A\">A</option>\n" +
168
- "<option value=\"B\">B</option>\n" +
169
- "<option value=\"C\">C</option>\n" +
170
- "<option value=\"D\" selected=\"selected\">D</option>\n" +
171
- "<option value=\"E\">E</option>",
172
- opts
173
- end
165
+ def test_time_zone_options_with_unknown_selected
166
+ opts = time_zone_options_for_select( "K" )
167
+ assert_dom_equal "<option value=\"A\">A</option>\n" +
168
+ "<option value=\"B\">B</option>\n" +
169
+ "<option value=\"C\">C</option>\n" +
170
+ "<option value=\"D\">D</option>\n" +
171
+ "<option value=\"E\">E</option>",
172
+ opts
173
+ end
174
174
 
175
- def test_time_zone_options_with_unknown_selected
176
- opts = time_zone_options_for_select( "K" )
177
- assert_dom_equal "<option value=\"A\">A</option>\n" +
178
- "<option value=\"B\">B</option>\n" +
179
- "<option value=\"C\">C</option>\n" +
180
- "<option value=\"D\">D</option>\n" +
181
- "<option value=\"E\">E</option>",
182
- opts
183
- end
175
+ def test_time_zone_options_with_priority_zones
176
+ zones = [ ActiveSupport::TimeZone.new( "B" ), ActiveSupport::TimeZone.new( "E" ) ]
177
+ opts = time_zone_options_for_select( nil, zones )
178
+ assert_dom_equal "<option value=\"B\">B</option>\n" +
179
+ "<option value=\"E\">E</option>" +
180
+ "<option value=\"\" disabled=\"disabled\">-------------</option>\n" +
181
+ "<option value=\"A\">A</option>\n" +
182
+ "<option value=\"C\">C</option>\n" +
183
+ "<option value=\"D\">D</option>",
184
+ opts
185
+ end
184
186
 
185
- def test_time_zone_options_with_priority_zones
186
- zones = [ TimeZone.new( "B" ), TimeZone.new( "E" ) ]
187
- opts = time_zone_options_for_select( nil, zones )
188
- assert_dom_equal "<option value=\"B\">B</option>\n" +
189
- "<option value=\"E\">E</option>" +
190
- "<option value=\"\" disabled=\"disabled\">-------------</option>\n" +
191
- "<option value=\"A\">A</option>\n" +
192
- "<option value=\"C\">C</option>\n" +
193
- "<option value=\"D\">D</option>",
194
- opts
195
- end
187
+ def test_time_zone_options_with_selected_priority_zones
188
+ zones = [ ActiveSupport::TimeZone.new( "B" ), ActiveSupport::TimeZone.new( "E" ) ]
189
+ opts = time_zone_options_for_select( "E", zones )
190
+ assert_dom_equal "<option value=\"B\">B</option>\n" +
191
+ "<option value=\"E\" selected=\"selected\">E</option>" +
192
+ "<option value=\"\" disabled=\"disabled\">-------------</option>\n" +
193
+ "<option value=\"A\">A</option>\n" +
194
+ "<option value=\"C\">C</option>\n" +
195
+ "<option value=\"D\">D</option>",
196
+ opts
197
+ end
196
198
 
197
- def test_time_zone_options_with_selected_priority_zones
198
- zones = [ TimeZone.new( "B" ), TimeZone.new( "E" ) ]
199
- opts = time_zone_options_for_select( "E", zones )
200
- assert_dom_equal "<option value=\"B\">B</option>\n" +
201
- "<option value=\"E\" selected=\"selected\">E</option>" +
202
- "<option value=\"\" disabled=\"disabled\">-------------</option>\n" +
203
- "<option value=\"A\">A</option>\n" +
204
- "<option value=\"C\">C</option>\n" +
205
- "<option value=\"D\">D</option>",
206
- opts
207
- end
199
+ def test_time_zone_options_with_unselected_priority_zones
200
+ zones = [ ActiveSupport::TimeZone.new( "B" ), ActiveSupport::TimeZone.new( "E" ) ]
201
+ opts = time_zone_options_for_select( "C", zones )
202
+ assert_dom_equal "<option value=\"B\">B</option>\n" +
203
+ "<option value=\"E\">E</option>" +
204
+ "<option value=\"\" disabled=\"disabled\">-------------</option>\n" +
205
+ "<option value=\"A\">A</option>\n" +
206
+ "<option value=\"C\" selected=\"selected\">C</option>\n" +
207
+ "<option value=\"D\">D</option>",
208
+ opts
209
+ end
208
210
 
209
- def test_time_zone_options_with_unselected_priority_zones
210
- zones = [ TimeZone.new( "B" ), TimeZone.new( "E" ) ]
211
- opts = time_zone_options_for_select( "C", zones )
212
- assert_dom_equal "<option value=\"B\">B</option>\n" +
213
- "<option value=\"E\">E</option>" +
214
- "<option value=\"\" disabled=\"disabled\">-------------</option>\n" +
215
- "<option value=\"A\">A</option>\n" +
216
- "<option value=\"C\" selected=\"selected\">C</option>\n" +
217
- "<option value=\"D\">D</option>",
218
- opts
219
- end
211
+ def test_select
212
+ @post = Post.new
213
+ @post.category = "<mus>"
214
+ assert_dom_equal(
215
+ "<select id=\"post_category\" name=\"post[category]\"><option value=\"abe\">abe</option>\n<option value=\"&lt;mus&gt;\" selected=\"selected\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
216
+ select("post", "category", %w( abe <mus> hest))
217
+ )
218
+ end
220
219
 
221
- def test_select
222
- @post = Post.new
223
- @post.category = "<mus>"
224
- assert_dom_equal(
225
- "<select id=\"post_category\" name=\"post[category]\"><option value=\"abe\">abe</option>\n<option value=\"&lt;mus&gt;\" selected=\"selected\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
226
- select("post", "category", %w( abe <mus> hest))
227
- )
228
- end
220
+ def test_select_under_fields_for
221
+ @post = Post.new
222
+ @post.category = "<mus>"
229
223
 
230
- def test_select_under_fields_for
231
- @post = Post.new
232
- @post.category = "<mus>"
233
-
234
- _erbout = ''
235
-
236
- fields_for :post, @post do |f|
237
- _erbout.concat f.select(:category, %w( abe <mus> hest))
224
+ _erbout = ''
225
+
226
+ fields_for :post, @post do |f|
227
+ _erbout.concat f.select(:category, %w( abe <mus> hest))
228
+ end
229
+
230
+ assert_dom_equal(
231
+ "<select id=\"post_category\" name=\"post[category]\"><option value=\"abe\">abe</option>\n<option value=\"&lt;mus&gt;\" selected=\"selected\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
232
+ _erbout
233
+ )
238
234
  end
239
-
240
- assert_dom_equal(
241
- "<select id=\"post_category\" name=\"post[category]\"><option value=\"abe\">abe</option>\n<option value=\"&lt;mus&gt;\" selected=\"selected\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
242
- _erbout
243
- )
244
- end
245
235
 
246
- def test_select_with_blank
247
- @post = Post.new
248
- @post.category = "<mus>"
249
- assert_dom_equal(
250
- "<select id=\"post_category\" name=\"post[category]\"><option value=\"\"></option>\n<option value=\"abe\">abe</option>\n<option value=\"&lt;mus&gt;\" selected=\"selected\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
251
- select("post", "category", %w( abe <mus> hest), :include_blank => true)
252
- )
253
- end
236
+ def test_select_with_blank
237
+ @post = Post.new
238
+ @post.category = "<mus>"
239
+ assert_dom_equal(
240
+ "<select id=\"post_category\" name=\"post[category]\"><option value=\"\"></option>\n<option value=\"abe\">abe</option>\n<option value=\"&lt;mus&gt;\" selected=\"selected\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
241
+ select("post", "category", %w( abe <mus> hest), :include_blank => true)
242
+ )
243
+ end
254
244
 
255
- def test_select_with_blank_as_string
256
- @post = Post.new
257
- @post.category = "<mus>"
258
- assert_dom_equal(
259
- "<select id=\"post_category\" name=\"post[category]\"><option value=\"\">None</option>\n<option value=\"abe\">abe</option>\n<option value=\"&lt;mus&gt;\" selected=\"selected\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
260
- select("post", "category", %w( abe <mus> hest), :include_blank => 'None')
261
- )
262
- end
245
+ def test_select_with_blank_as_string
246
+ @post = Post.new
247
+ @post.category = "<mus>"
248
+ assert_dom_equal(
249
+ "<select id=\"post_category\" name=\"post[category]\"><option value=\"\">None</option>\n<option value=\"abe\">abe</option>\n<option value=\"&lt;mus&gt;\" selected=\"selected\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
250
+ select("post", "category", %w( abe <mus> hest), :include_blank => 'None')
251
+ )
252
+ end
263
253
 
264
- def test_select_with_default_prompt
265
- @post = Post.new
266
- @post.category = ""
267
- assert_dom_equal(
268
- "<select id=\"post_category\" name=\"post[category]\"><option value=\"\">Please select</option>\n<option value=\"abe\">abe</option>\n<option value=\"&lt;mus&gt;\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
269
- select("post", "category", %w( abe <mus> hest), :prompt => true)
270
- )
271
- end
254
+ def test_select_with_default_prompt
255
+ @post = Post.new
256
+ @post.category = ""
257
+ assert_dom_equal(
258
+ "<select id=\"post_category\" name=\"post[category]\"><option value=\"\">Please select</option>\n<option value=\"abe\">abe</option>\n<option value=\"&lt;mus&gt;\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
259
+ select("post", "category", %w( abe <mus> hest), :prompt => true)
260
+ )
261
+ end
272
262
 
273
- def test_select_no_prompt_when_select_has_value
274
- @post = Post.new
275
- @post.category = "<mus>"
276
- assert_dom_equal(
277
- "<select id=\"post_category\" name=\"post[category]\"><option value=\"abe\">abe</option>\n<option value=\"&lt;mus&gt;\" selected=\"selected\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
278
- select("post", "category", %w( abe <mus> hest), :prompt => true)
279
- )
280
- end
263
+ def test_select_no_prompt_when_select_has_value
264
+ @post = Post.new
265
+ @post.category = "<mus>"
266
+ assert_dom_equal(
267
+ "<select id=\"post_category\" name=\"post[category]\"><option value=\"abe\">abe</option>\n<option value=\"&lt;mus&gt;\" selected=\"selected\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
268
+ select("post", "category", %w( abe <mus> hest), :prompt => true)
269
+ )
270
+ end
281
271
 
282
- def test_select_with_given_prompt
283
- @post = Post.new
284
- @post.category = ""
285
- assert_dom_equal(
286
- "<select id=\"post_category\" name=\"post[category]\"><option value=\"\">The prompt</option>\n<option value=\"abe\">abe</option>\n<option value=\"&lt;mus&gt;\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
287
- select("post", "category", %w( abe <mus> hest), :prompt => 'The prompt')
288
- )
289
- end
272
+ def test_select_with_given_prompt
273
+ @post = Post.new
274
+ @post.category = ""
275
+ assert_dom_equal(
276
+ "<select id=\"post_category\" name=\"post[category]\"><option value=\"\">The prompt</option>\n<option value=\"abe\">abe</option>\n<option value=\"&lt;mus&gt;\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
277
+ select("post", "category", %w( abe <mus> hest), :prompt => 'The prompt')
278
+ )
279
+ end
290
280
 
291
- def test_select_with_prompt_and_blank
292
- @post = Post.new
293
- @post.category = ""
294
- assert_dom_equal(
295
- "<select id=\"post_category\" name=\"post[category]\"><option value=\"\">Please select</option>\n<option value=\"\"></option>\n<option value=\"abe\">abe</option>\n<option value=\"&lt;mus&gt;\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
296
- select("post", "category", %w( abe <mus> hest), :prompt => true, :include_blank => true)
297
- )
298
- end
281
+ def test_select_with_prompt_and_blank
282
+ @post = Post.new
283
+ @post.category = ""
284
+ assert_dom_equal(
285
+ "<select id=\"post_category\" name=\"post[category]\"><option value=\"\">Please select</option>\n<option value=\"\"></option>\n<option value=\"abe\">abe</option>\n<option value=\"&lt;mus&gt;\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
286
+ select("post", "category", %w( abe <mus> hest), :prompt => true, :include_blank => true)
287
+ )
288
+ end
299
289
 
300
- def test_select_with_selected_value
301
- @post = Post.new
302
- @post.category = "<mus>"
303
- assert_dom_equal(
304
- "<select id=\"post_category\" name=\"post[category]\"><option value=\"abe\" selected=\"selected\">abe</option>\n<option value=\"&lt;mus&gt;\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
305
- select("post", "category", %w( abe <mus> hest ), :selected => 'abe')
306
- )
307
- end
308
-
309
- def test_select_with_index_option
310
- @album = Album.new
311
- @album.id = 1
290
+ def test_select_with_selected_value
291
+ @post = Post.new
292
+ @post.category = "<mus>"
293
+ assert_dom_equal(
294
+ "<select id=\"post_category\" name=\"post[category]\"><option value=\"abe\" selected=\"selected\">abe</option>\n<option value=\"&lt;mus&gt;\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
295
+ select("post", "category", %w( abe <mus> hest ), :selected => 'abe')
296
+ )
297
+ end
312
298
 
313
- expected = "<select id=\"album__genre\" name=\"album[][genre]\"><option value=\"rap\">rap</option>\n<option value=\"rock\">rock</option>\n<option value=\"country\">country</option></select>"
299
+ def test_select_with_index_option
300
+ @album = Album.new
301
+ @album.id = 1
314
302
 
315
- assert_dom_equal(
316
- expected,
317
- select("album[]", "genre", %w[rap rock country], {}, { :index => nil })
318
- )
319
- end
303
+ expected = "<select id=\"album__genre\" name=\"album[][genre]\"><option value=\"rap\">rap</option>\n<option value=\"rock\">rock</option>\n<option value=\"country\">country</option></select>"
320
304
 
321
- def test_select_with_selected_nil
322
- @post = Post.new
323
- @post.category = "<mus>"
324
- assert_dom_equal(
325
- "<select id=\"post_category\" name=\"post[category]\"><option value=\"abe\">abe</option>\n<option value=\"&lt;mus&gt;\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
326
- select("post", "category", %w( abe <mus> hest ), :selected => nil)
327
- )
328
- end
305
+ assert_dom_equal(
306
+ expected,
307
+ select("album[]", "genre", %w[rap rock country], {}, { :index => nil })
308
+ )
309
+ end
329
310
 
330
- def test_collection_select
331
- @posts = [
332
- Post.new("<Abe> went home", "<Abe>", "To a little house", "shh!"),
333
- Post.new("Babe went home", "Babe", "To a little house", "shh!"),
334
- Post.new("Cabe went home", "Cabe", "To a little house", "shh!")
335
- ]
311
+ def test_select_with_selected_nil
312
+ @post = Post.new
313
+ @post.category = "<mus>"
314
+ assert_dom_equal(
315
+ "<select id=\"post_category\" name=\"post[category]\"><option value=\"abe\">abe</option>\n<option value=\"&lt;mus&gt;\">&lt;mus&gt;</option>\n<option value=\"hest\">hest</option></select>",
316
+ select("post", "category", %w( abe <mus> hest ), :selected => nil)
317
+ )
318
+ end
336
319
 
337
- @post = Post.new
338
- @post.author_name = "Babe"
320
+ def test_collection_select
321
+ @posts = [
322
+ Post.new("<Abe> went home", "<Abe>", "To a little house", "shh!"),
323
+ Post.new("Babe went home", "Babe", "To a little house", "shh!"),
324
+ Post.new("Cabe went home", "Cabe", "To a little house", "shh!")
325
+ ]
339
326
 
340
- assert_dom_equal(
341
- "<select id=\"post_author_name\" name=\"post[author_name]\"><option value=\"&lt;Abe&gt;\">&lt;Abe&gt;</option>\n<option value=\"Babe\" selected=\"selected\">Babe</option>\n<option value=\"Cabe\">Cabe</option></select>",
342
- collection_select("post", "author_name", @posts, "author_name", "author_name")
343
- )
344
- end
327
+ @post = Post.new
328
+ @post.author_name = "Babe"
345
329
 
346
- def test_collection_select_under_fields_for
347
- @posts = [
348
- Post.new("<Abe> went home", "<Abe>", "To a little house", "shh!"),
349
- Post.new("Babe went home", "Babe", "To a little house", "shh!"),
350
- Post.new("Cabe went home", "Cabe", "To a little house", "shh!")
351
- ]
330
+ assert_dom_equal(
331
+ "<select id=\"post_author_name\" name=\"post[author_name]\"><option value=\"&lt;Abe&gt;\">&lt;Abe&gt;</option>\n<option value=\"Babe\" selected=\"selected\">Babe</option>\n<option value=\"Cabe\">Cabe</option></select>",
332
+ collection_select("post", "author_name", @posts, "author_name", "author_name")
333
+ )
334
+ end
352
335
 
353
- @post = Post.new
354
- @post.author_name = "Babe"
355
-
356
- _erbout = ''
357
-
358
- fields_for :post, @post do |f|
359
- _erbout.concat f.collection_select(:author_name, @posts, :author_name, :author_name)
336
+ def test_collection_select_under_fields_for
337
+ @posts = [
338
+ Post.new("<Abe> went home", "<Abe>", "To a little house", "shh!"),
339
+ Post.new("Babe went home", "Babe", "To a little house", "shh!"),
340
+ Post.new("Cabe went home", "Cabe", "To a little house", "shh!")
341
+ ]
342
+
343
+ @post = Post.new
344
+ @post.author_name = "Babe"
345
+
346
+ _erbout = ''
347
+
348
+ fields_for :post, @post do |f|
349
+ _erbout.concat f.collection_select(:author_name, @posts, :author_name, :author_name)
350
+ end
351
+
352
+ assert_dom_equal(
353
+ "<select id=\"post_author_name\" name=\"post[author_name]\"><option value=\"&lt;Abe&gt;\">&lt;Abe&gt;</option>\n<option value=\"Babe\" selected=\"selected\">Babe</option>\n<option value=\"Cabe\">Cabe</option></select>",
354
+ _erbout
355
+ )
360
356
  end
361
-
362
- assert_dom_equal(
363
- "<select id=\"post_author_name\" name=\"post[author_name]\"><option value=\"&lt;Abe&gt;\">&lt;Abe&gt;</option>\n<option value=\"Babe\" selected=\"selected\">Babe</option>\n<option value=\"Cabe\">Cabe</option></select>",
364
- _erbout
365
- )
366
- end
367
357
 
368
- def test_collection_select_with_blank_and_style
369
- @posts = [
370
- Post.new("<Abe> went home", "<Abe>", "To a little house", "shh!"),
371
- Post.new("Babe went home", "Babe", "To a little house", "shh!"),
372
- Post.new("Cabe went home", "Cabe", "To a little house", "shh!")
373
- ]
358
+ def test_collection_select_with_blank_and_style
359
+ @posts = [
360
+ Post.new("<Abe> went home", "<Abe>", "To a little house", "shh!"),
361
+ Post.new("Babe went home", "Babe", "To a little house", "shh!"),
362
+ Post.new("Cabe went home", "Cabe", "To a little house", "shh!")
363
+ ]
374
364
 
375
- @post = Post.new
376
- @post.author_name = "Babe"
365
+ @post = Post.new
366
+ @post.author_name = "Babe"
377
367
 
378
- assert_dom_equal(
379
- "<select id=\"post_author_name\" name=\"post[author_name]\" style=\"width: 200px\"><option value=\"\"></option>\n<option value=\"&lt;Abe&gt;\">&lt;Abe&gt;</option>\n<option value=\"Babe\" selected=\"selected\">Babe</option>\n<option value=\"Cabe\">Cabe</option></select>",
380
- collection_select("post", "author_name", @posts, "author_name", "author_name", { :include_blank => true }, "style" => "width: 200px")
381
- )
382
- end
368
+ assert_dom_equal(
369
+ "<select id=\"post_author_name\" name=\"post[author_name]\" style=\"width: 200px\"><option value=\"\"></option>\n<option value=\"&lt;Abe&gt;\">&lt;Abe&gt;</option>\n<option value=\"Babe\" selected=\"selected\">Babe</option>\n<option value=\"Cabe\">Cabe</option></select>",
370
+ collection_select("post", "author_name", @posts, "author_name", "author_name", { :include_blank => true }, "style" => "width: 200px")
371
+ )
372
+ end
383
373
 
384
- def test_collection_select_with_blank_as_string_and_style
385
- @posts = [
386
- Post.new("<Abe> went home", "<Abe>", "To a little house", "shh!"),
387
- Post.new("Babe went home", "Babe", "To a little house", "shh!"),
388
- Post.new("Cabe went home", "Cabe", "To a little house", "shh!")
389
- ]
374
+ def test_collection_select_with_blank_as_string_and_style
375
+ @posts = [
376
+ Post.new("<Abe> went home", "<Abe>", "To a little house", "shh!"),
377
+ Post.new("Babe went home", "Babe", "To a little house", "shh!"),
378
+ Post.new("Cabe went home", "Cabe", "To a little house", "shh!")
379
+ ]
390
380
 
391
- @post = Post.new
392
- @post.author_name = "Babe"
381
+ @post = Post.new
382
+ @post.author_name = "Babe"
393
383
 
394
- assert_dom_equal(
395
- "<select id=\"post_author_name\" name=\"post[author_name]\" style=\"width: 200px\"><option value=\"\">No Selection</option>\n<option value=\"&lt;Abe&gt;\">&lt;Abe&gt;</option>\n<option value=\"Babe\" selected=\"selected\">Babe</option>\n<option value=\"Cabe\">Cabe</option></select>",
396
- collection_select("post", "author_name", @posts, "author_name", "author_name", { :include_blank => 'No Selection' }, "style" => "width: 200px")
397
- )
398
- end
384
+ assert_dom_equal(
385
+ "<select id=\"post_author_name\" name=\"post[author_name]\" style=\"width: 200px\"><option value=\"\">No Selection</option>\n<option value=\"&lt;Abe&gt;\">&lt;Abe&gt;</option>\n<option value=\"Babe\" selected=\"selected\">Babe</option>\n<option value=\"Cabe\">Cabe</option></select>",
386
+ collection_select("post", "author_name", @posts, "author_name", "author_name", { :include_blank => 'No Selection' }, "style" => "width: 200px")
387
+ )
388
+ end
399
389
 
400
- def test_collection_select_with_multiple_option_appends_array_brackets
401
- @posts = [
402
- Post.new("<Abe> went home", "<Abe>", "To a little house", "shh!"),
403
- Post.new("Babe went home", "Babe", "To a little house", "shh!"),
404
- Post.new("Cabe went home", "Cabe", "To a little house", "shh!")
405
- ]
390
+ def test_collection_select_with_multiple_option_appends_array_brackets
391
+ @posts = [
392
+ Post.new("<Abe> went home", "<Abe>", "To a little house", "shh!"),
393
+ Post.new("Babe went home", "Babe", "To a little house", "shh!"),
394
+ Post.new("Cabe went home", "Cabe", "To a little house", "shh!")
395
+ ]
406
396
 
407
- @post = Post.new
408
- @post.author_name = "Babe"
397
+ @post = Post.new
398
+ @post.author_name = "Babe"
409
399
 
410
- expected = "<select id=\"post_author_name\" name=\"post[author_name][]\" multiple=\"multiple\"><option value=\"\"></option>\n<option value=\"&lt;Abe&gt;\">&lt;Abe&gt;</option>\n<option value=\"Babe\" selected=\"selected\">Babe</option>\n<option value=\"Cabe\">Cabe</option></select>"
400
+ expected = "<select id=\"post_author_name\" name=\"post[author_name][]\" multiple=\"multiple\"><option value=\"\"></option>\n<option value=\"&lt;Abe&gt;\">&lt;Abe&gt;</option>\n<option value=\"Babe\" selected=\"selected\">Babe</option>\n<option value=\"Cabe\">Cabe</option></select>"
411
401
 
412
- # Should suffix default name with [].
413
- assert_dom_equal expected, collection_select("post", "author_name", @posts, "author_name", "author_name", { :include_blank => true }, :multiple => true)
402
+ # Should suffix default name with [].
403
+ assert_dom_equal expected, collection_select("post", "author_name", @posts, "author_name", "author_name", { :include_blank => true }, :multiple => true)
414
404
 
415
- # Shouldn't suffix custom name with [].
416
- assert_dom_equal expected, collection_select("post", "author_name", @posts, "author_name", "author_name", { :include_blank => true, :name => 'post[author_name][]' }, :multiple => true)
417
- end
405
+ # Shouldn't suffix custom name with [].
406
+ assert_dom_equal expected, collection_select("post", "author_name", @posts, "author_name", "author_name", { :include_blank => true, :name => 'post[author_name][]' }, :multiple => true)
407
+ end
418
408
 
419
- def test_country_select
420
- @post = Post.new
421
- @post.origin = "Denmark"
422
- expected_select = <<-COUNTRIES
409
+ def test_country_select
410
+ @post = Post.new
411
+ @post.origin = "Denmark"
412
+ expected_select = <<-COUNTRIES
423
413
  <select id="post_origin" name="post[origin]"><option value="Afghanistan">Afghanistan</option>
424
414
  <option value="Aland Islands">Aland Islands</option>
425
415
  <option value="Albania">Albania</option>
@@ -665,14 +655,14 @@ class FormOptionsHelperTest < ActionView::TestCase
665
655
  <option value="Yemen">Yemen</option>
666
656
  <option value="Zambia">Zambia</option>
667
657
  <option value="Zimbabwe">Zimbabwe</option></select>
668
- COUNTRIES
669
- assert_dom_equal(expected_select[0..-2], country_select("post", "origin"))
670
- end
658
+ COUNTRIES
659
+ assert_dom_equal(expected_select[0..-2], country_select("post", "origin"))
660
+ end
671
661
 
672
- def test_country_select_with_priority_countries
673
- @post = Post.new
674
- @post.origin = "Denmark"
675
- expected_select = <<-COUNTRIES
662
+ def test_country_select_with_priority_countries
663
+ @post = Post.new
664
+ @post.origin = "Denmark"
665
+ expected_select = <<-COUNTRIES
676
666
  <select id="post_origin" name="post[origin]"><option value="New Zealand">New Zealand</option>
677
667
  <option value="Nicaragua">Nicaragua</option><option value="" disabled="disabled">-------------</option>
678
668
  <option value="Afghanistan">Afghanistan</option>
@@ -920,14 +910,14 @@ COUNTRIES
920
910
  <option value="Yemen">Yemen</option>
921
911
  <option value="Zambia">Zambia</option>
922
912
  <option value="Zimbabwe">Zimbabwe</option></select>
923
- COUNTRIES
924
- assert_dom_equal(expected_select[0..-2], country_select("post", "origin", ["New Zealand", "Nicaragua"]))
925
- end
913
+ COUNTRIES
914
+ assert_dom_equal(expected_select[0..-2], country_select("post", "origin", ["New Zealand", "Nicaragua"]))
915
+ end
926
916
 
927
- def test_country_select_with_selected_priority_country
928
- @post = Post.new
929
- @post.origin = "New Zealand"
930
- expected_select = <<-COUNTRIES
917
+ def test_country_select_with_selected_priority_country
918
+ @post = Post.new
919
+ @post.origin = "New Zealand"
920
+ expected_select = <<-COUNTRIES
931
921
  <select id="post_origin" name="post[origin]"><option selected="selected" value="New Zealand">New Zealand</option>
932
922
  <option value="Nicaragua">Nicaragua</option><option value="" disabled="disabled">-------------</option>
933
923
  <option value="Afghanistan">Afghanistan</option>
@@ -1175,162 +1165,163 @@ COUNTRIES
1175
1165
  <option value="Yemen">Yemen</option>
1176
1166
  <option value="Zambia">Zambia</option>
1177
1167
  <option value="Zimbabwe">Zimbabwe</option></select>
1178
- COUNTRIES
1179
- assert_dom_equal(expected_select[0..-2], country_select("post", "origin", ["New Zealand", "Nicaragua"]))
1180
- end
1181
-
1182
- def test_time_zone_select
1183
- @firm = Firm.new("D")
1184
- html = time_zone_select( "firm", "time_zone" )
1185
- assert_dom_equal "<select id=\"firm_time_zone\" name=\"firm[time_zone]\">" +
1186
- "<option value=\"A\">A</option>\n" +
1187
- "<option value=\"B\">B</option>\n" +
1188
- "<option value=\"C\">C</option>\n" +
1189
- "<option value=\"D\" selected=\"selected\">D</option>\n" +
1190
- "<option value=\"E\">E</option>" +
1191
- "</select>",
1192
- html
1193
- end
1168
+ COUNTRIES
1169
+ assert_dom_equal(expected_select[0..-2], country_select("post", "origin", ["New Zealand", "Nicaragua"]))
1170
+ end
1194
1171
 
1195
- def test_time_zone_select_under_fields_for
1196
- @firm = Firm.new("D")
1197
-
1198
- _erbout = ''
1199
-
1200
- fields_for :firm, @firm do |f|
1201
- _erbout.concat f.time_zone_select(:time_zone)
1172
+ def test_time_zone_select
1173
+ @firm = Firm.new("D")
1174
+ html = time_zone_select( "firm", "time_zone" )
1175
+ assert_dom_equal "<select id=\"firm_time_zone\" name=\"firm[time_zone]\">" +
1176
+ "<option value=\"A\">A</option>\n" +
1177
+ "<option value=\"B\">B</option>\n" +
1178
+ "<option value=\"C\">C</option>\n" +
1179
+ "<option value=\"D\" selected=\"selected\">D</option>\n" +
1180
+ "<option value=\"E\">E</option>" +
1181
+ "</select>",
1182
+ html
1202
1183
  end
1203
-
1204
- assert_dom_equal(
1205
- "<select id=\"firm_time_zone\" name=\"firm[time_zone]\">" +
1206
- "<option value=\"A\">A</option>\n" +
1207
- "<option value=\"B\">B</option>\n" +
1208
- "<option value=\"C\">C</option>\n" +
1209
- "<option value=\"D\" selected=\"selected\">D</option>\n" +
1210
- "<option value=\"E\">E</option>" +
1211
- "</select>",
1212
- _erbout
1213
- )
1214
- end
1215
1184
 
1216
- def test_time_zone_select_with_blank
1217
- @firm = Firm.new("D")
1218
- html = time_zone_select("firm", "time_zone", nil, :include_blank => true)
1219
- assert_dom_equal "<select id=\"firm_time_zone\" name=\"firm[time_zone]\">" +
1220
- "<option value=\"\"></option>\n" +
1221
- "<option value=\"A\">A</option>\n" +
1222
- "<option value=\"B\">B</option>\n" +
1223
- "<option value=\"C\">C</option>\n" +
1224
- "<option value=\"D\" selected=\"selected\">D</option>\n" +
1225
- "<option value=\"E\">E</option>" +
1226
- "</select>",
1227
- html
1228
- end
1185
+ def test_time_zone_select_under_fields_for
1186
+ @firm = Firm.new("D")
1229
1187
 
1230
- def test_time_zone_select_with_blank_as_string
1231
- @firm = Firm.new("D")
1232
- html = time_zone_select("firm", "time_zone", nil, :include_blank => 'No Zone')
1233
- assert_dom_equal "<select id=\"firm_time_zone\" name=\"firm[time_zone]\">" +
1234
- "<option value=\"\">No Zone</option>\n" +
1235
- "<option value=\"A\">A</option>\n" +
1236
- "<option value=\"B\">B</option>\n" +
1237
- "<option value=\"C\">C</option>\n" +
1238
- "<option value=\"D\" selected=\"selected\">D</option>\n" +
1239
- "<option value=\"E\">E</option>" +
1240
- "</select>",
1241
- html
1242
- end
1188
+ _erbout = ''
1243
1189
 
1244
- def test_time_zone_select_with_style
1245
- @firm = Firm.new("D")
1246
- html = time_zone_select("firm", "time_zone", nil, {},
1247
- "style" => "color: red")
1248
- assert_dom_equal "<select id=\"firm_time_zone\" name=\"firm[time_zone]\" style=\"color: red\">" +
1249
- "<option value=\"A\">A</option>\n" +
1250
- "<option value=\"B\">B</option>\n" +
1251
- "<option value=\"C\">C</option>\n" +
1252
- "<option value=\"D\" selected=\"selected\">D</option>\n" +
1253
- "<option value=\"E\">E</option>" +
1254
- "</select>",
1255
- html
1256
- assert_dom_equal html, time_zone_select("firm", "time_zone", nil, {},
1257
- :style => "color: red")
1258
- end
1259
-
1260
- def test_time_zone_select_with_blank_and_style
1261
- @firm = Firm.new("D")
1262
- html = time_zone_select("firm", "time_zone", nil,
1263
- { :include_blank => true }, "style" => "color: red")
1264
- assert_dom_equal "<select id=\"firm_time_zone\" name=\"firm[time_zone]\" style=\"color: red\">" +
1265
- "<option value=\"\"></option>\n" +
1266
- "<option value=\"A\">A</option>\n" +
1267
- "<option value=\"B\">B</option>\n" +
1268
- "<option value=\"C\">C</option>\n" +
1269
- "<option value=\"D\" selected=\"selected\">D</option>\n" +
1270
- "<option value=\"E\">E</option>" +
1271
- "</select>",
1272
- html
1273
- assert_dom_equal html, time_zone_select("firm", "time_zone", nil,
1274
- { :include_blank => true }, :style => "color: red")
1275
- end
1190
+ fields_for :firm, @firm do |f|
1191
+ _erbout.concat f.time_zone_select(:time_zone)
1192
+ end
1276
1193
 
1277
- def test_time_zone_select_with_blank_as_string_and_style
1278
- @firm = Firm.new("D")
1279
- html = time_zone_select("firm", "time_zone", nil,
1280
- { :include_blank => 'No Zone' }, "style" => "color: red")
1281
- assert_dom_equal "<select id=\"firm_time_zone\" name=\"firm[time_zone]\" style=\"color: red\">" +
1282
- "<option value=\"\">No Zone</option>\n" +
1283
- "<option value=\"A\">A</option>\n" +
1284
- "<option value=\"B\">B</option>\n" +
1285
- "<option value=\"C\">C</option>\n" +
1286
- "<option value=\"D\" selected=\"selected\">D</option>\n" +
1287
- "<option value=\"E\">E</option>" +
1288
- "</select>",
1289
- html
1290
- assert_dom_equal html, time_zone_select("firm", "time_zone", nil,
1291
- { :include_blank => 'No Zone' }, :style => "color: red")
1292
- end
1194
+ assert_dom_equal(
1195
+ "<select id=\"firm_time_zone\" name=\"firm[time_zone]\">" +
1196
+ "<option value=\"A\">A</option>\n" +
1197
+ "<option value=\"B\">B</option>\n" +
1198
+ "<option value=\"C\">C</option>\n" +
1199
+ "<option value=\"D\" selected=\"selected\">D</option>\n" +
1200
+ "<option value=\"E\">E</option>" +
1201
+ "</select>",
1202
+ _erbout
1203
+ )
1204
+ end
1293
1205
 
1294
- def test_time_zone_select_with_priority_zones
1295
- @firm = Firm.new("D")
1296
- zones = [ TimeZone.new("A"), TimeZone.new("D") ]
1297
- html = time_zone_select("firm", "time_zone", zones )
1298
- assert_dom_equal "<select id=\"firm_time_zone\" name=\"firm[time_zone]\">" +
1299
- "<option value=\"A\">A</option>\n" +
1300
- "<option value=\"D\" selected=\"selected\">D</option>" +
1301
- "<option value=\"\" disabled=\"disabled\">-------------</option>\n" +
1302
- "<option value=\"B\">B</option>\n" +
1303
- "<option value=\"C\">C</option>\n" +
1304
- "<option value=\"E\">E</option>" +
1305
- "</select>",
1306
- html
1307
- end
1206
+ def test_time_zone_select_with_blank
1207
+ @firm = Firm.new("D")
1208
+ html = time_zone_select("firm", "time_zone", nil, :include_blank => true)
1209
+ assert_dom_equal "<select id=\"firm_time_zone\" name=\"firm[time_zone]\">" +
1210
+ "<option value=\"\"></option>\n" +
1211
+ "<option value=\"A\">A</option>\n" +
1212
+ "<option value=\"B\">B</option>\n" +
1213
+ "<option value=\"C\">C</option>\n" +
1214
+ "<option value=\"D\" selected=\"selected\">D</option>\n" +
1215
+ "<option value=\"E\">E</option>" +
1216
+ "</select>",
1217
+ html
1218
+ end
1308
1219
 
1309
- def test_time_zone_select_with_default_time_zone_and_nil_value
1310
- @firm = Firm.new()
1311
- @firm.time_zone = nil
1312
- html = time_zone_select( "firm", "time_zone", nil, :default => 'B' )
1220
+ def test_time_zone_select_with_blank_as_string
1221
+ @firm = Firm.new("D")
1222
+ html = time_zone_select("firm", "time_zone", nil, :include_blank => 'No Zone')
1313
1223
  assert_dom_equal "<select id=\"firm_time_zone\" name=\"firm[time_zone]\">" +
1314
- "<option value=\"A\">A</option>\n" +
1315
- "<option value=\"B\" selected=\"selected\">B</option>\n" +
1316
- "<option value=\"C\">C</option>\n" +
1317
- "<option value=\"D\">D</option>\n" +
1318
- "<option value=\"E\">E</option>" +
1319
- "</select>",
1320
- html
1321
- end
1224
+ "<option value=\"\">No Zone</option>\n" +
1225
+ "<option value=\"A\">A</option>\n" +
1226
+ "<option value=\"B\">B</option>\n" +
1227
+ "<option value=\"C\">C</option>\n" +
1228
+ "<option value=\"D\" selected=\"selected\">D</option>\n" +
1229
+ "<option value=\"E\">E</option>" +
1230
+ "</select>",
1231
+ html
1232
+ end
1322
1233
 
1323
- def test_time_zone_select_with_default_time_zone_and_value
1324
- @firm = Firm.new('D')
1325
- html = time_zone_select( "firm", "time_zone", nil, :default => 'B' )
1234
+ def test_time_zone_select_with_style
1235
+ @firm = Firm.new("D")
1236
+ html = time_zone_select("firm", "time_zone", nil, {},
1237
+ "style" => "color: red")
1238
+ assert_dom_equal "<select id=\"firm_time_zone\" name=\"firm[time_zone]\" style=\"color: red\">" +
1239
+ "<option value=\"A\">A</option>\n" +
1240
+ "<option value=\"B\">B</option>\n" +
1241
+ "<option value=\"C\">C</option>\n" +
1242
+ "<option value=\"D\" selected=\"selected\">D</option>\n" +
1243
+ "<option value=\"E\">E</option>" +
1244
+ "</select>",
1245
+ html
1246
+ assert_dom_equal html, time_zone_select("firm", "time_zone", nil, {},
1247
+ :style => "color: red")
1248
+ end
1249
+
1250
+ def test_time_zone_select_with_blank_and_style
1251
+ @firm = Firm.new("D")
1252
+ html = time_zone_select("firm", "time_zone", nil,
1253
+ { :include_blank => true }, "style" => "color: red")
1254
+ assert_dom_equal "<select id=\"firm_time_zone\" name=\"firm[time_zone]\" style=\"color: red\">" +
1255
+ "<option value=\"\"></option>\n" +
1256
+ "<option value=\"A\">A</option>\n" +
1257
+ "<option value=\"B\">B</option>\n" +
1258
+ "<option value=\"C\">C</option>\n" +
1259
+ "<option value=\"D\" selected=\"selected\">D</option>\n" +
1260
+ "<option value=\"E\">E</option>" +
1261
+ "</select>",
1262
+ html
1263
+ assert_dom_equal html, time_zone_select("firm", "time_zone", nil,
1264
+ { :include_blank => true }, :style => "color: red")
1265
+ end
1266
+
1267
+ def test_time_zone_select_with_blank_as_string_and_style
1268
+ @firm = Firm.new("D")
1269
+ html = time_zone_select("firm", "time_zone", nil,
1270
+ { :include_blank => 'No Zone' }, "style" => "color: red")
1271
+ assert_dom_equal "<select id=\"firm_time_zone\" name=\"firm[time_zone]\" style=\"color: red\">" +
1272
+ "<option value=\"\">No Zone</option>\n" +
1273
+ "<option value=\"A\">A</option>\n" +
1274
+ "<option value=\"B\">B</option>\n" +
1275
+ "<option value=\"C\">C</option>\n" +
1276
+ "<option value=\"D\" selected=\"selected\">D</option>\n" +
1277
+ "<option value=\"E\">E</option>" +
1278
+ "</select>",
1279
+ html
1280
+ assert_dom_equal html, time_zone_select("firm", "time_zone", nil,
1281
+ { :include_blank => 'No Zone' }, :style => "color: red")
1282
+ end
1283
+
1284
+ def test_time_zone_select_with_priority_zones
1285
+ @firm = Firm.new("D")
1286
+ zones = [ ActiveSupport::TimeZone.new("A"), ActiveSupport::TimeZone.new("D") ]
1287
+ html = time_zone_select("firm", "time_zone", zones )
1326
1288
  assert_dom_equal "<select id=\"firm_time_zone\" name=\"firm[time_zone]\">" +
1327
- "<option value=\"A\">A</option>\n" +
1328
- "<option value=\"B\">B</option>\n" +
1329
- "<option value=\"C\">C</option>\n" +
1330
- "<option value=\"D\" selected=\"selected\">D</option>\n" +
1331
- "<option value=\"E\">E</option>" +
1332
- "</select>",
1333
- html
1334
- end
1289
+ "<option value=\"A\">A</option>\n" +
1290
+ "<option value=\"D\" selected=\"selected\">D</option>" +
1291
+ "<option value=\"\" disabled=\"disabled\">-------------</option>\n" +
1292
+ "<option value=\"B\">B</option>\n" +
1293
+ "<option value=\"C\">C</option>\n" +
1294
+ "<option value=\"E\">E</option>" +
1295
+ "</select>",
1296
+ html
1297
+ end
1298
+
1299
+ def test_time_zone_select_with_default_time_zone_and_nil_value
1300
+ @firm = Firm.new()
1301
+ @firm.time_zone = nil
1302
+ html = time_zone_select( "firm", "time_zone", nil, :default => 'B' )
1303
+ assert_dom_equal "<select id=\"firm_time_zone\" name=\"firm[time_zone]\">" +
1304
+ "<option value=\"A\">A</option>\n" +
1305
+ "<option value=\"B\" selected=\"selected\">B</option>\n" +
1306
+ "<option value=\"C\">C</option>\n" +
1307
+ "<option value=\"D\">D</option>\n" +
1308
+ "<option value=\"E\">E</option>" +
1309
+ "</select>",
1310
+ html
1311
+ end
1335
1312
 
1313
+ def test_time_zone_select_with_default_time_zone_and_value
1314
+ @firm = Firm.new('D')
1315
+ html = time_zone_select( "firm", "time_zone", nil, :default => 'B' )
1316
+ assert_dom_equal "<select id=\"firm_time_zone\" name=\"firm[time_zone]\">" +
1317
+ "<option value=\"A\">A</option>\n" +
1318
+ "<option value=\"B\">B</option>\n" +
1319
+ "<option value=\"C\">C</option>\n" +
1320
+ "<option value=\"D\" selected=\"selected\">D</option>\n" +
1321
+ "<option value=\"E\">E</option>" +
1322
+ "</select>",
1323
+ html
1324
+ end
1325
+
1326
+ end
1336
1327
  end