simple_form 2.1.0 → 3.0.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.
Potentially problematic release.
This version of simple_form might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/CHANGELOG.md +22 -32
- data/README.md +161 -119
- data/lib/generators/simple_form/install_generator.rb +3 -3
- data/lib/generators/simple_form/templates/README +1 -1
- data/lib/generators/simple_form/templates/config/initializers/simple_form.rb +16 -13
- data/lib/generators/simple_form/templates/config/initializers/simple_form_bootstrap.rb +14 -14
- data/lib/generators/simple_form/templates/config/initializers/simple_form_foundation.rb +3 -3
- data/lib/simple_form/action_view_extensions/builder.rb +1 -319
- data/lib/simple_form/action_view_extensions/form_helper.rb +2 -9
- data/lib/simple_form/components/html5.rb +5 -2
- data/lib/simple_form/components/labels.rb +3 -3
- data/lib/simple_form/components/maxlength.rb +1 -8
- data/lib/simple_form/components/pattern.rb +2 -2
- data/lib/simple_form/components.rb +1 -1
- data/lib/simple_form/error_notification.rb +2 -2
- data/lib/simple_form/form_builder.rb +155 -51
- data/lib/simple_form/helpers.rb +1 -1
- data/lib/simple_form/inputs/base.rb +6 -6
- data/lib/simple_form/inputs/block_input.rb +1 -1
- data/lib/simple_form/inputs/boolean_input.rb +6 -4
- data/lib/simple_form/inputs/collection_input.rb +6 -6
- data/lib/simple_form/inputs/date_time_input.rb +1 -1
- data/lib/simple_form/inputs/numeric_input.rb +0 -6
- data/lib/simple_form/inputs/password_input.rb +0 -1
- data/lib/simple_form/inputs/string_input.rb +0 -1
- data/lib/simple_form/railtie.rb +7 -0
- data/lib/simple_form/tags.rb +62 -0
- data/lib/simple_form/version.rb +1 -1
- data/lib/simple_form/wrappers/builder.rb +5 -29
- data/lib/simple_form/wrappers/many.rb +1 -1
- data/lib/simple_form/wrappers/root.rb +1 -1
- data/lib/simple_form/wrappers.rb +1 -1
- data/lib/simple_form.rb +43 -47
- data/test/action_view_extensions/builder_test.rb +78 -92
- data/test/action_view_extensions/form_helper_test.rb +25 -16
- data/test/components/label_test.rb +46 -46
- data/test/form_builder/association_test.rb +47 -29
- data/test/form_builder/button_test.rb +4 -4
- data/test/form_builder/error_notification_test.rb +8 -8
- data/test/form_builder/error_test.rb +12 -12
- data/test/form_builder/general_test.rb +71 -52
- data/test/form_builder/hint_test.rb +22 -22
- data/test/form_builder/input_field_test.rb +29 -12
- data/test/form_builder/label_test.rb +7 -7
- data/test/form_builder/wrapper_test.rb +21 -21
- data/test/inputs/boolean_input_test.rb +35 -23
- data/test/inputs/collection_check_boxes_input_test.rb +66 -55
- data/test/inputs/collection_radio_buttons_input_test.rb +81 -79
- data/test/inputs/collection_select_input_test.rb +76 -45
- data/test/inputs/datetime_input_test.rb +17 -11
- data/test/inputs/disabled_test.rb +10 -10
- data/test/inputs/discovery_test.rb +4 -4
- data/test/inputs/file_input_test.rb +1 -1
- data/test/inputs/general_test.rb +28 -12
- data/test/inputs/grouped_collection_select_input_test.rb +33 -20
- data/test/inputs/hidden_input_test.rb +3 -2
- data/test/inputs/numeric_input_test.rb +3 -3
- data/test/inputs/priority_input_test.rb +9 -3
- data/test/inputs/readonly_test.rb +12 -12
- data/test/inputs/required_test.rb +5 -5
- data/test/inputs/string_input_test.rb +15 -25
- data/test/inputs/text_input_test.rb +1 -1
- data/test/support/misc_helpers.rb +46 -24
- data/test/support/mock_controller.rb +6 -6
- data/test/support/models.rb +80 -62
- data/test/test_helper.rb +17 -34
- metadata +31 -29
- data/lib/simple_form/core_ext/hash.rb +0 -16
@@ -6,15 +6,6 @@ class CollectionRadioButtonsInputTest < ActionView::TestCase
|
|
6
6
|
SimpleForm::Inputs::CollectionRadioButtonsInput.reset_i18n_cache :boolean_collection
|
7
7
|
end
|
8
8
|
|
9
|
-
test 'input :as => :radio is deprecated in favor of :as => :radio_buttons' do
|
10
|
-
assert_deprecated "[SIMPLE_FORM] Using `:as => :radio` as " \
|
11
|
-
"input type is deprecated, please change it to `:as => :radio_buttons`." do
|
12
|
-
with_input_for @user, :active, :radio
|
13
|
-
end
|
14
|
-
|
15
|
-
assert_select 'input[type=radio].radio_buttons', :count => 2
|
16
|
-
end
|
17
|
-
|
18
9
|
test 'input should generate boolean radio buttons by default for radio types' do
|
19
10
|
with_input_for @user, :active, :radio_buttons
|
20
11
|
assert_select 'input[type=radio][value=true].radio_buttons#user_active_true'
|
@@ -28,7 +19,7 @@ class CollectionRadioButtonsInputTest < ActionView::TestCase
|
|
28
19
|
end
|
29
20
|
|
30
21
|
test 'input as radio should use i18n to translate internal labels' do
|
31
|
-
store_translations(:en, :
|
22
|
+
store_translations(:en, simple_form: { yes: 'Sim', no: 'Não' }) do
|
32
23
|
with_input_for @user, :active, :radio_buttons
|
33
24
|
assert_select 'label[for=user_active_true]', 'Sim'
|
34
25
|
assert_select 'label[for=user_active_false]', 'Não'
|
@@ -36,13 +27,13 @@ class CollectionRadioButtonsInputTest < ActionView::TestCase
|
|
36
27
|
end
|
37
28
|
|
38
29
|
test 'input radio should not include for attribute by default' do
|
39
|
-
with_input_for @user, :gender, :radio_buttons, :
|
30
|
+
with_input_for @user, :gender, :radio_buttons, collection: [:male, :female]
|
40
31
|
assert_select 'label'
|
41
32
|
assert_no_select 'label[for=user_gender]'
|
42
33
|
end
|
43
34
|
|
44
35
|
test 'input radio should include for attribute when giving as html option' do
|
45
|
-
with_input_for @user, :gender, :radio_buttons, :
|
36
|
+
with_input_for @user, :gender, :radio_buttons, collection: [:male, :female], label_html: { for: 'gender' }
|
46
37
|
assert_select 'label[for=gender]'
|
47
38
|
end
|
48
39
|
|
@@ -54,7 +45,7 @@ class CollectionRadioButtonsInputTest < ActionView::TestCase
|
|
54
45
|
end
|
55
46
|
|
56
47
|
test 'input should allow overriding collection for radio types' do
|
57
|
-
with_input_for @user, :name, :radio_buttons, :
|
48
|
+
with_input_for @user, :name, :radio_buttons, collection: ['Jose', 'Carlos']
|
58
49
|
assert_select 'input[type=radio][value=Jose]'
|
59
50
|
assert_select 'input[type=radio][value=Carlos]'
|
60
51
|
assert_select 'label.collection_radio_buttons', 'Jose'
|
@@ -62,10 +53,10 @@ class CollectionRadioButtonsInputTest < ActionView::TestCase
|
|
62
53
|
end
|
63
54
|
|
64
55
|
test 'input should do automatic collection translation for radio types using defaults key' do
|
65
|
-
store_translations(:en, :
|
66
|
-
:
|
56
|
+
store_translations(:en, simple_form: { options: { defaults: {
|
57
|
+
gender: { male: 'Male', female: 'Female'}
|
67
58
|
} } } ) do
|
68
|
-
with_input_for @user, :gender, :radio_buttons, :
|
59
|
+
with_input_for @user, :gender, :radio_buttons, collection: [:male, :female]
|
69
60
|
assert_select 'input[type=radio][value=male]'
|
70
61
|
assert_select 'input[type=radio][value=female]'
|
71
62
|
assert_select 'label.collection_radio_buttons', 'Male'
|
@@ -74,10 +65,10 @@ class CollectionRadioButtonsInputTest < ActionView::TestCase
|
|
74
65
|
end
|
75
66
|
|
76
67
|
test 'input should do automatic collection translation for radio types using specific object key' do
|
77
|
-
store_translations(:en, :
|
78
|
-
:
|
68
|
+
store_translations(:en, simple_form: { options: { user: {
|
69
|
+
gender: { male: 'Male', female: 'Female'}
|
79
70
|
} } } ) do
|
80
|
-
with_input_for @user, :gender, :radio_buttons, :
|
71
|
+
with_input_for @user, :gender, :radio_buttons, collection: [:male, :female]
|
81
72
|
assert_select 'input[type=radio][value=male]'
|
82
73
|
assert_select 'input[type=radio][value=female]'
|
83
74
|
assert_select 'label.collection_radio_buttons', 'Male'
|
@@ -87,12 +78,17 @@ class CollectionRadioButtonsInputTest < ActionView::TestCase
|
|
87
78
|
|
88
79
|
test 'input should mark the current radio value by default' do
|
89
80
|
@user.name = "Carlos"
|
90
|
-
with_input_for @user, :name, :radio_buttons, :
|
81
|
+
with_input_for @user, :name, :radio_buttons, collection: ['Jose', 'Carlos']
|
91
82
|
assert_select 'input[type=radio][value=Carlos][checked=checked]'
|
92
83
|
end
|
93
84
|
|
85
|
+
test 'input should accept html options as the last element of collection' do
|
86
|
+
with_input_for @user, :name, :radio_buttons, collection: [['Jose', 'jose', class: 'foo']]
|
87
|
+
assert_select 'input.foo[type=radio][value=jose]'
|
88
|
+
end
|
89
|
+
|
94
90
|
test 'input should allow using a collection with text/value arrays' do
|
95
|
-
with_input_for @user, :name, :radio_buttons, :
|
91
|
+
with_input_for @user, :name, :radio_buttons, collection: [['Jose', 'jose'], ['Carlos', 'carlos']]
|
96
92
|
assert_select 'input[type=radio][value=jose]'
|
97
93
|
assert_select 'input[type=radio][value=carlos]'
|
98
94
|
assert_select 'label.collection_radio_buttons', 'Jose'
|
@@ -100,32 +96,32 @@ class CollectionRadioButtonsInputTest < ActionView::TestCase
|
|
100
96
|
end
|
101
97
|
|
102
98
|
test 'input should allow using a collection with a Proc' do
|
103
|
-
with_input_for @user, :name, :radio_buttons, :
|
99
|
+
with_input_for @user, :name, :radio_buttons, collection: Proc.new { ['Jose', 'Carlos' ] }
|
104
100
|
assert_select 'label.collection_radio_buttons', 'Jose'
|
105
101
|
assert_select 'label.collection_radio_buttons', 'Carlos'
|
106
102
|
end
|
107
103
|
|
108
104
|
test 'input should allow overriding only label method for collections' do
|
109
105
|
with_input_for @user, :name, :radio_buttons,
|
110
|
-
:
|
111
|
-
:
|
106
|
+
collection: ['Jose', 'Carlos'],
|
107
|
+
label_method: :upcase
|
112
108
|
assert_select 'label.collection_radio_buttons', 'JOSE'
|
113
109
|
assert_select 'label.collection_radio_buttons', 'CARLOS'
|
114
110
|
end
|
115
111
|
|
116
112
|
test 'input should allow overriding only value method for collections' do
|
117
113
|
with_input_for @user, :name, :radio_buttons,
|
118
|
-
:
|
119
|
-
:
|
114
|
+
collection: ['Jose', 'Carlos'],
|
115
|
+
value_method: :upcase
|
120
116
|
assert_select 'input[type=radio][value=JOSE]'
|
121
117
|
assert_select 'input[type=radio][value=CARLOS]'
|
122
118
|
end
|
123
119
|
|
124
120
|
test 'input should allow overriding label and value method for collections' do
|
125
121
|
with_input_for @user, :name, :radio_buttons,
|
126
|
-
:
|
127
|
-
:
|
128
|
-
:
|
122
|
+
collection: ['Jose', 'Carlos'],
|
123
|
+
label_method: :upcase,
|
124
|
+
value_method: :downcase
|
129
125
|
assert_select 'input[type=radio][value=jose]'
|
130
126
|
assert_select 'input[type=radio][value=carlos]'
|
131
127
|
assert_select 'label.collection_radio_buttons', 'JOSE'
|
@@ -134,9 +130,9 @@ class CollectionRadioButtonsInputTest < ActionView::TestCase
|
|
134
130
|
|
135
131
|
test 'input should allow overriding label and value method using a lambda for collections' do
|
136
132
|
with_input_for @user, :name, :radio_buttons,
|
137
|
-
:
|
138
|
-
:
|
139
|
-
:
|
133
|
+
collection: ['Jose', 'Carlos'],
|
134
|
+
label_method: lambda { |i| i.upcase },
|
135
|
+
value_method: lambda { |i| i.downcase }
|
140
136
|
assert_select 'input[type=radio][value=jose]'
|
141
137
|
assert_select 'input[type=radio][value=carlos]'
|
142
138
|
assert_select 'label.collection_radio_buttons', 'JOSE'
|
@@ -144,108 +140,114 @@ class CollectionRadioButtonsInputTest < ActionView::TestCase
|
|
144
140
|
end
|
145
141
|
|
146
142
|
test 'collection input with radio type should generate required html attribute' do
|
147
|
-
with_input_for @user, :name, :radio_buttons, :
|
143
|
+
with_input_for @user, :name, :radio_buttons, collection: ['Jose', 'Carlos']
|
148
144
|
assert_select 'input[type=radio].required'
|
149
145
|
assert_select 'input[type=radio][required]'
|
150
146
|
end
|
151
147
|
|
148
|
+
test 'collection input with radio type should generate aria-required html attribute' do
|
149
|
+
with_input_for @user, :name, :radio_buttons, collection: ['Jose', 'Carlos']
|
150
|
+
assert_select 'input[type=radio].required'
|
151
|
+
assert_select 'input[type=radio][aria-required=true]'
|
152
|
+
end
|
153
|
+
|
152
154
|
test 'input radio does not wrap the collection by default' do
|
153
155
|
with_input_for @user, :active, :radio_buttons
|
154
156
|
|
155
|
-
assert_select 'form input[type=radio]', :
|
157
|
+
assert_select 'form input[type=radio]', count: 2
|
156
158
|
assert_no_select 'form ul'
|
157
159
|
end
|
158
160
|
|
159
161
|
test 'input radio wraps the collection in the configured collection wrapper tag' do
|
160
|
-
swap SimpleForm, :
|
162
|
+
swap SimpleForm, collection_wrapper_tag: :ul do
|
161
163
|
with_input_for @user, :active, :radio_buttons
|
162
164
|
|
163
|
-
assert_select 'form ul input[type=radio]', :
|
165
|
+
assert_select 'form ul input[type=radio]', count: 2
|
164
166
|
end
|
165
167
|
end
|
166
168
|
|
167
169
|
test 'input radio does not wrap the collection when configured with falsy values' do
|
168
|
-
swap SimpleForm, :
|
170
|
+
swap SimpleForm, collection_wrapper_tag: false do
|
169
171
|
with_input_for @user, :active, :radio_buttons
|
170
172
|
|
171
|
-
assert_select 'form input[type=radio]', :
|
173
|
+
assert_select 'form input[type=radio]', count: 2
|
172
174
|
assert_no_select 'form ul'
|
173
175
|
end
|
174
176
|
end
|
175
177
|
|
176
178
|
test 'input radio allows overriding the collection wrapper tag at input level' do
|
177
|
-
swap SimpleForm, :
|
178
|
-
with_input_for @user, :active, :radio_buttons, :
|
179
|
+
swap SimpleForm, collection_wrapper_tag: :ul do
|
180
|
+
with_input_for @user, :active, :radio_buttons, collection_wrapper_tag: :section
|
179
181
|
|
180
|
-
assert_select 'form section input[type=radio]', :
|
182
|
+
assert_select 'form section input[type=radio]', count: 2
|
181
183
|
assert_no_select 'form ul'
|
182
184
|
end
|
183
185
|
end
|
184
186
|
|
185
187
|
test 'input radio allows disabling the collection wrapper tag at input level' do
|
186
|
-
swap SimpleForm, :
|
187
|
-
with_input_for @user, :active, :radio_buttons, :
|
188
|
+
swap SimpleForm, collection_wrapper_tag: :ul do
|
189
|
+
with_input_for @user, :active, :radio_buttons, collection_wrapper_tag: false
|
188
190
|
|
189
|
-
assert_select 'form input[type=radio]', :
|
191
|
+
assert_select 'form input[type=radio]', count: 2
|
190
192
|
assert_no_select 'form ul'
|
191
193
|
end
|
192
194
|
end
|
193
195
|
|
194
196
|
test 'input radio renders the wrapper tag with the configured wrapper class' do
|
195
|
-
swap SimpleForm, :
|
197
|
+
swap SimpleForm, collection_wrapper_tag: :ul, collection_wrapper_class: 'inputs-list' do
|
196
198
|
with_input_for @user, :active, :radio_buttons
|
197
199
|
|
198
|
-
assert_select 'form ul.inputs-list input[type=radio]', :
|
200
|
+
assert_select 'form ul.inputs-list input[type=radio]', count: 2
|
199
201
|
end
|
200
202
|
end
|
201
203
|
|
202
204
|
test 'input radio allows giving wrapper class at input level only' do
|
203
|
-
swap SimpleForm, :
|
204
|
-
with_input_for @user, :active, :radio_buttons, :
|
205
|
+
swap SimpleForm, collection_wrapper_tag: :ul do
|
206
|
+
with_input_for @user, :active, :radio_buttons, collection_wrapper_class: 'items-list'
|
205
207
|
|
206
|
-
assert_select 'form ul.items-list input[type=radio]', :
|
208
|
+
assert_select 'form ul.items-list input[type=radio]', count: 2
|
207
209
|
end
|
208
210
|
end
|
209
211
|
|
210
212
|
test 'input radio uses both configured and given wrapper classes for wrapper tag' do
|
211
|
-
swap SimpleForm, :
|
212
|
-
with_input_for @user, :active, :radio_buttons, :
|
213
|
+
swap SimpleForm, collection_wrapper_tag: :ul, collection_wrapper_class: 'inputs-list' do
|
214
|
+
with_input_for @user, :active, :radio_buttons, collection_wrapper_class: 'items-list'
|
213
215
|
|
214
|
-
assert_select 'form ul.inputs-list.items-list input[type=radio]', :
|
216
|
+
assert_select 'form ul.inputs-list.items-list input[type=radio]', count: 2
|
215
217
|
end
|
216
218
|
end
|
217
219
|
|
218
220
|
test 'input radio wraps each item in the configured item wrapper tag' do
|
219
|
-
swap SimpleForm, :
|
221
|
+
swap SimpleForm, item_wrapper_tag: :li do
|
220
222
|
with_input_for @user, :active, :radio_buttons
|
221
223
|
|
222
|
-
assert_select 'form li input[type=radio]', :
|
224
|
+
assert_select 'form li input[type=radio]', count: 2
|
223
225
|
end
|
224
226
|
end
|
225
227
|
|
226
228
|
test 'input radio does not wrap items when configured with falsy values' do
|
227
|
-
swap SimpleForm, :
|
229
|
+
swap SimpleForm, item_wrapper_tag: false do
|
228
230
|
with_input_for @user, :active, :radio_buttons
|
229
231
|
|
230
|
-
assert_select 'form input[type=radio]', :
|
232
|
+
assert_select 'form input[type=radio]', count: 2
|
231
233
|
assert_no_select 'form li'
|
232
234
|
end
|
233
235
|
end
|
234
236
|
|
235
237
|
test 'input radio allows overriding the item wrapper tag at input level' do
|
236
|
-
swap SimpleForm, :
|
237
|
-
with_input_for @user, :active, :radio_buttons, :
|
238
|
+
swap SimpleForm, item_wrapper_tag: :li do
|
239
|
+
with_input_for @user, :active, :radio_buttons, item_wrapper_tag: :dl
|
238
240
|
|
239
|
-
assert_select 'form dl input[type=radio]', :
|
241
|
+
assert_select 'form dl input[type=radio]', count: 2
|
240
242
|
assert_no_select 'form li'
|
241
243
|
end
|
242
244
|
end
|
243
245
|
|
244
246
|
test 'input radio allows disabling the item wrapper tag at input level' do
|
245
|
-
swap SimpleForm, :
|
246
|
-
with_input_for @user, :active, :radio_buttons, :
|
247
|
+
swap SimpleForm, item_wrapper_tag: :ul do
|
248
|
+
with_input_for @user, :active, :radio_buttons, item_wrapper_tag: false
|
247
249
|
|
248
|
-
assert_select 'form input[type=radio]', :
|
250
|
+
assert_select 'form input[type=radio]', count: 2
|
249
251
|
assert_no_select 'form li'
|
250
252
|
end
|
251
253
|
end
|
@@ -253,41 +255,41 @@ class CollectionRadioButtonsInputTest < ActionView::TestCase
|
|
253
255
|
test 'input radio wraps items in a span tag by default' do
|
254
256
|
with_input_for @user, :active, :radio_buttons
|
255
257
|
|
256
|
-
assert_select 'form span input[type=radio]', :
|
258
|
+
assert_select 'form span input[type=radio]', count: 2
|
257
259
|
end
|
258
260
|
|
259
261
|
test 'input radio renders the item wrapper tag with a default class "radio"' do
|
260
|
-
with_input_for @user, :active, :radio_buttons, :
|
262
|
+
with_input_for @user, :active, :radio_buttons, item_wrapper_tag: :li
|
261
263
|
|
262
|
-
assert_select 'form li.radio input[type=radio]', :
|
264
|
+
assert_select 'form li.radio input[type=radio]', count: 2
|
263
265
|
end
|
264
266
|
|
265
267
|
test 'input radio renders the item wrapper tag with the configured item wrapper class' do
|
266
|
-
swap SimpleForm, :
|
268
|
+
swap SimpleForm, item_wrapper_tag: :li, item_wrapper_class: 'item' do
|
267
269
|
with_input_for @user, :active, :radio_buttons
|
268
270
|
|
269
|
-
assert_select 'form li.radio.item input[type=radio]', :
|
271
|
+
assert_select 'form li.radio.item input[type=radio]', count: 2
|
270
272
|
end
|
271
273
|
end
|
272
274
|
|
273
275
|
test 'input radio allows giving item wrapper class at input level only' do
|
274
|
-
swap SimpleForm, :
|
275
|
-
with_input_for @user, :active, :radio_buttons, :
|
276
|
+
swap SimpleForm, item_wrapper_tag: :li do
|
277
|
+
with_input_for @user, :active, :radio_buttons, item_wrapper_class: 'item'
|
276
278
|
|
277
|
-
assert_select 'form li.radio.item input[type=radio]', :
|
279
|
+
assert_select 'form li.radio.item input[type=radio]', count: 2
|
278
280
|
end
|
279
281
|
end
|
280
282
|
|
281
283
|
test 'input radio uses both configured and given item wrapper classes for item wrapper tag' do
|
282
|
-
swap SimpleForm, :
|
283
|
-
with_input_for @user, :active, :radio_buttons, :
|
284
|
+
swap SimpleForm, item_wrapper_tag: :li, item_wrapper_class: 'item' do
|
285
|
+
with_input_for @user, :active, :radio_buttons, item_wrapper_class: 'inline'
|
284
286
|
|
285
|
-
assert_select 'form li.radio.item.inline input[type=radio]', :
|
287
|
+
assert_select 'form li.radio.item.inline input[type=radio]', count: 2
|
286
288
|
end
|
287
289
|
end
|
288
290
|
|
289
291
|
test 'input radio respects the nested boolean style config, generating nested label > input' do
|
290
|
-
swap SimpleForm, :
|
292
|
+
swap SimpleForm, boolean_style: :nested do
|
291
293
|
with_input_for @user, :active, :radio_buttons
|
292
294
|
|
293
295
|
assert_select 'label.radio > input#user_active_true[type=radio]'
|
@@ -299,7 +301,7 @@ class CollectionRadioButtonsInputTest < ActionView::TestCase
|
|
299
301
|
end
|
300
302
|
|
301
303
|
test 'input radio with nested style overrides configured item wrapper tag, forcing the :label' do
|
302
|
-
swap SimpleForm, :
|
304
|
+
swap SimpleForm, boolean_style: :nested, item_wrapper_tag: :li do
|
303
305
|
with_input_for @user, :active, :radio_buttons
|
304
306
|
|
305
307
|
assert_select 'label.radio > input'
|
@@ -308,8 +310,8 @@ class CollectionRadioButtonsInputTest < ActionView::TestCase
|
|
308
310
|
end
|
309
311
|
|
310
312
|
test 'input radio with nested style overrides given item wrapper tag, forcing the :label' do
|
311
|
-
swap SimpleForm, :
|
312
|
-
with_input_for @user, :active, :radio_buttons, :
|
313
|
+
swap SimpleForm, boolean_style: :nested do
|
314
|
+
with_input_for @user, :active, :radio_buttons, item_wrapper_tag: :li
|
313
315
|
|
314
316
|
assert_select 'label.radio > input'
|
315
317
|
assert_no_select 'li'
|
@@ -317,8 +319,8 @@ class CollectionRadioButtonsInputTest < ActionView::TestCase
|
|
317
319
|
end
|
318
320
|
|
319
321
|
test 'input radio with nested style accepts giving extra wrapper classes' do
|
320
|
-
swap SimpleForm, :
|
321
|
-
with_input_for @user, :active, :radio_buttons, :
|
322
|
+
swap SimpleForm, boolean_style: :nested do
|
323
|
+
with_input_for @user, :active, :radio_buttons, item_wrapper_class: "inline"
|
322
324
|
|
323
325
|
assert_select 'label.radio.inline > input'
|
324
326
|
end
|