forme 2.1.0 → 2.2.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.
@@ -15,344 +15,321 @@ describe "Forme Bootstrap3 (BS3) forms" do
15
15
  @c = Forme::Form.new(@ac, :config=>:bs3)
16
16
  end
17
17
 
18
- describe 'input[:text]' do
19
- it "should create a simple input[:text] tag" do
20
- @f.input(:text).to_s.must_equal '<div class="form-group"><input class="form-control" type="text"/></div>'
21
- end
22
-
23
- it "should create an input[:text] tag with a label when ':label => Name'" do
24
- @f.input(:text, :label=>"Name").to_s.must_equal '<div class="form-group"><label>Name</label> <input class="form-control" type="text"/></div>'
25
- end
26
-
27
- it "should create an input[:text] tag with a label when ':class => bar'" do
28
- @f.input(:text, :label=>"Name", :class=>'bar').to_s.must_equal '<div class="form-group"><label>Name</label> <input class="form-control bar" type="text"/></div>'
29
- end
30
-
31
- it "should create an input[:text] tag with a label when ':id => bar'" do
32
- @f.input(:text, :label=>"Name", :id=>'bar').to_s.must_equal '<div class="form-group"><label for="bar">Name</label> <input class="form-control" id="bar" type="text"/></div>'
33
- end
34
-
35
- it "should create an input[:text] tag with a label when ':id => bar' with an error" do
36
- @f.input(:text, :label=>"Name", :id=>'bar', :class=>'foo', :error=>'input-text-error').to_s.must_equal '<div class="form-group has-error"><label for="bar">Name</label> <input aria-describedby="bar_error_message" aria-invalid="true" class="form-control foo" id="bar" type="text"/><span class="help-block with-errors">input-text-error</span></div>'
37
- end
38
-
39
- describe 'from a Sequel model' do
40
- it "should create a correct input[:text] tag from Sequel model" do
41
- @c.input(:name).to_s.must_equal '<div class="form-group string"><label for="album_name">Name</label> <input class="form-control" id="album_name" maxlength="255" name="album[name]" type="text" value="c"/></div>'
42
- end
43
-
44
- it "should correctly handle an input[:text] tag from Sequel model with error" do
45
- @ac.errors.add(:name, 'name not valid')
46
- @c.input(:name).to_s.must_equal '<div class="form-group has-error string"><label for="album_name">Name</label> <input aria-describedby="album_name_error_message" aria-invalid="true" class="form-control" id="album_name" maxlength="255" name="album[name]" type="text" value="c"/><span class="help-block with-errors">name not valid</span></div>'
47
- end
48
- end
49
- end
50
-
51
- describe 'input[:password]' do
52
- it "should create a simple input[:password] tag" do
53
- @f.input(:password).to_s.must_equal '<div class="form-group"><input class="form-control" type="password"/></div>'
54
- end
55
-
56
- it "should create an input[:password] tag with a label when ':label => Name'" do
57
- @f.input(:password, :label=>"Name").to_s.must_equal '<div class="form-group"><label>Name</label> <input class="form-control" type="password"/></div>'
58
- end
59
-
60
- it "should create an input[:password] tag with a label when ':class => bar'" do
61
- @f.input(:password, :label=>"Name", :class=>'bar').to_s.must_equal '<div class="form-group"><label>Name</label> <input class="form-control bar" type="password"/></div>'
62
- end
63
-
64
- it "should create an input[:password] tag with a label when ':id => bar'" do
65
- @f.input(:password, :label=>"Name", :id=>'bar').to_s.must_equal '<div class="form-group"><label for="bar">Name</label> <input class="form-control" id="bar" type="password"/></div>'
66
- end
67
-
68
- it "should create an input[:password] tag with a label when ':id => bar' with an error" do
69
- @f.input(:password, :label=>"Name", :id=>'bar', :class=>'foo', :error=>'input-password-error').to_s.must_equal '<div class="form-group has-error"><label for="bar">Name</label> <input aria-describedby="bar_error_message" aria-invalid="true" class="form-control foo" id="bar" type="password"/><span class="help-block with-errors">input-password-error</span></div>'
70
- end
71
- end
72
-
73
- describe 'input[:email]' do
74
- it "should create a simple input[:email] tag" do
75
- @f.input(:email).to_s.must_equal '<div class="form-group"><input class="form-control" type="email"/></div>'
76
- end
77
-
78
- it "should create an input[:email] tag with a label when ':label => Name'" do
79
- @f.input(:email, :label=>"Name").to_s.must_equal '<div class="form-group"><label>Name</label> <input class="form-control" type="email"/></div>'
80
- end
81
-
82
- it "should create an input[:email] tag with a label when ':class => bar'" do
83
- @f.input(:email, :label=>"Name", :class=>'bar').to_s.must_equal '<div class="form-group"><label>Name</label> <input class="form-control bar" type="email"/></div>'
84
- end
85
-
86
- it "should create an input[:email] tag with a label when ':id => bar'" do
87
- @f.input(:email, :label=>"Name", :id=>'bar').to_s.must_equal '<div class="form-group"><label for="bar">Name</label> <input class="form-control" id="bar" type="email"/></div>'
88
- end
89
-
90
- it "should create an input[:email] tag with a label when ':id => bar' with an error" do
91
- @f.input(:email, :label=>"Name", :id=>'bar', :class=>'foo', :error=>'input-email-error').to_s.must_equal '<div class="form-group has-error"><label for="bar">Name</label> <input aria-describedby="bar_error_message" aria-invalid="true" class="form-control foo" id="bar" type="email"/><span class="help-block with-errors">input-email-error</span></div>'
92
- end
93
- end
94
-
95
- describe 'input[:file]' do
96
- it "should create a simple input[:file] tag" do
97
- @f.input(:file).to_s.must_equal '<div class="form-group"><input type="file"/></div>'
98
- end
99
-
100
- it "should create an input[:file] tag with a label when ':label => Name'" do
101
- @f.input(:file, :label=>"Name").to_s.must_equal '<div class="form-group"><label>Name</label> <input type="file"/></div>'
102
- end
103
-
104
- it "should create an input[:file] tag with a label when ':class => bar'" do
105
- @f.input(:file, :label=>"Name", :class=>'bar').to_s.must_equal '<div class="form-group"><label>Name</label> <input class="bar" type="file"/></div>'
106
- end
107
-
108
- it "should create an input[:file] tag with a label when ':id => bar'" do
109
- @f.input(:file, :label=>"Name", :id=>'bar').to_s.must_equal '<div class="form-group"><label for="bar">Name</label> <input id="bar" type="file"/></div>'
110
- end
111
-
112
- it "should create an input[:file] tag with a label when ':id => bar' with an error" do
113
- @f.input(:file, :label=>"Name", :id=>'bar', :class=>'foo', :error=>'input-file-error').to_s.must_equal '<div class="form-group has-error"><label for="bar">Name</label> <input aria-describedby="bar_error_message" aria-invalid="true" class="foo" id="bar" type="file"/><span class="help-block with-errors">input-file-error</span></div>'
114
- end
115
- end
116
-
117
- describe 'input[:submit]' do
118
- it "should create a simple input[:submit] tag" do
119
- @f.input(:submit).to_s.must_equal '<input class="btn btn-default" type="submit"/>'
120
- end
121
-
122
- it "should create an input[:submit] tag with the correct value" do
123
- @f.input(:submit, :value=>'Save').to_s.must_equal '<input class="btn btn-default" type="submit" value="Save"/>'
124
- end
125
-
126
- it "should create an input[:submit] tag with the correct class" do
127
- @f.input(:submit, :value=>'Save', :class=>'btn-primary').to_s.must_equal '<input class="btn btn-primary" type="submit" value="Save"/>'
128
- end
129
-
130
- it "should create an input[:submit] tag with the correct id" do
131
- @f.input(:submit, :value=>'Save', :id=>'foo').to_s.must_equal '<input class="btn btn-default" id="foo" type="submit" value="Save"/>'
132
- end
133
-
134
- it "should create an input[:submit] tag without error message " do
135
- @f.input(:submit, :value=>'Save', :id=>'foo', :error=>'error-message').to_s.must_equal '<input aria-describedby="foo_error_message" aria-invalid="true" class="btn btn-default" id="foo" type="submit" value="Save"/>'
136
- end
137
- end
138
-
139
- describe 'input[:reset]' do
140
- it "should create a simple input[:reset] tag" do
141
- @f.input(:reset).to_s.must_equal '<input class="btn btn-default" type="reset"/>'
142
- end
143
-
144
- it "should create an input[:reset] tag with the correct value" do
145
- @f.input(:reset, :value=>'Save').to_s.must_equal '<input class="btn btn-default" type="reset" value="Save"/>'
146
- end
147
-
148
- it "should create an input[:reset] tag with the correct class" do
149
- @f.input(:reset, :value=>'Save', :class=>'btn-primary').to_s.must_equal '<input class="btn btn-primary" type="reset" value="Save"/>'
150
- end
151
-
152
- it "should create an input[:reset] tag with the correct id" do
153
- @f.input(:reset, :value=>'Save', :id=>'foo').to_s.must_equal '<input class="btn btn-default" id="foo" type="reset" value="Save"/>'
154
- end
155
-
156
- it "should create an input[:reset] tag without error message " do
157
- @f.input(:reset, :value=>'Save', :id=>'foo', :error=>'error-message').to_s.must_equal '<input aria-describedby="foo_error_message" aria-invalid="true" class="btn btn-default" id="foo" type="reset" value="Save"/>'
158
- end
159
- end
160
-
161
- describe 'textarea' do
162
- it "should create a simple :textarea tag" do
163
- @f.input(:textarea).to_s.must_equal '<div class="form-group"><textarea class="form-control"></textarea></div>'
164
- end
165
-
166
- it "should create an :textarea tag with the correct value" do
167
- @f.input(:textarea, :value=>'Bio').to_s.must_equal '<div class="form-group"><textarea class="form-control">Bio</textarea></div>'
168
- end
169
-
170
- it "should create an :textarea tag with the correct class" do
171
- @f.input(:textarea, :class=>'foo').to_s.must_equal '<div class="form-group"><textarea class="form-control foo"></textarea></div>'
172
- end
173
-
174
- it "should create an :textarea tag with the correct id" do
175
- @f.input(:textarea, :id=>'bar').to_s.must_equal '<div class="form-group"><textarea class="form-control" id="bar"></textarea></div>'
176
- end
177
-
178
- it "should create a textarea tag without a .has-error and error message span when ':skip_error => true'" do
179
- @f.input(:textarea, :skip_error=>true).to_s.must_equal '<div class="form-group"><textarea class="form-control"></textarea></div>'
180
- end
181
-
182
- it "should create a textarea tag with .has-error and error message when ':error => is-a-string'" do
183
- @f.input(:textarea, :error=>'input-textarea-error').to_s.must_equal '<div class="form-group has-error"><textarea aria-invalid="true" class="form-control"></textarea><span class="help-block with-errors">input-textarea-error</span></div>'
184
- end
185
-
186
- describe 'from a Sequel model' do
187
- it "should create a correct input[:text] tag from Sequel model" do
188
- @c.input(:name, :as=>:textarea).to_s.must_equal '<div class="form-group string"><label for="album_name">Name</label> <textarea class="form-control" id="album_name" maxlength="255" name="album[name]">c</textarea></div>'
189
- end
190
-
191
- it "should correctly handle an input[:text] tag from Sequel model with error" do
192
- @ac.errors.add(:name, 'name not valid')
193
- @c.input(:name, :as=>:textarea).to_s.must_equal '<div class="form-group has-error string"><label for="album_name">Name</label> <textarea aria-describedby="album_name_error_message" aria-invalid="true" class="form-control" id="album_name" maxlength="255" name="album[name]">c</textarea><span class="help-block with-errors">name not valid</span></div>'
194
- end
195
- end
196
- end
197
-
198
- describe 'select' do
199
- it "should create a simple :select tag" do
200
- @f.input(:select).to_s.must_equal '<div class="form-group"><select class="form-control"></select></div>'
201
- end
202
-
203
- it "should create a simple :select tag with options" do
204
- @f.input(:select, :options=>[[:a, 1], [:b,2]]).to_s.must_equal '<div class="form-group"><select class="form-control"><option value="1">a</option><option value="2">b</option></select></div>'
205
- end
206
-
207
- it "should create a simple :select tag with options and the correct value" do
208
- @f.input(:select, :options=>[[:a, 1], [:b,2]], :value=>2).to_s.must_equal '<div class="form-group"><select class="form-control"><option value="1">a</option><option selected="selected" value="2">b</option></select></div>'
209
- end
210
-
211
- it "should support :add_blank option for select inputs" do
212
- @f.input(:select, :options=>[[:a, 1], [:b, 2]], :add_blank=>true, :value=>1).to_s.must_equal '<div class="form-group"><select class="form-control"><option value=""></option><option selected="selected" value="1">a</option><option value="2">b</option></select></div>'
213
- end
214
-
215
- it "should create an :select tag with the correct class" do
216
- @f.input(:select, :class=>'foo').to_s.must_equal '<div class="form-group"><select class="form-control foo"></select></div>'
217
- end
218
-
219
- it "should create an :select tag with the correct id" do
220
- @f.input(:select, :id=>'bar').to_s.must_equal '<div class="form-group"><select class="form-control" id="bar"></select></div>'
221
- end
222
-
223
- it "should create a select tag without .has-error and error message span when ':skip_error => true'" do
224
- @f.input(:select, :skip_error=>true).to_s.must_equal '<div class="form-group"><select class="form-control"></select></div>'
225
- end
226
-
227
- it "should create a select tag with .has-error and error message when ':error => is-a-string'" do
228
- @f.input(:select, :error=>'input-select-error').to_s.must_equal '<div class="form-group has-error"><select aria-invalid="true" class="form-control"></select><span class="help-block with-errors">input-select-error</span></div>'
229
- end
230
-
231
- it "should correctly handle a Sequel model output :as => :select" do
232
- @b.input(:artist, :as=>:select).to_s.must_equal '<div class="form-group many_to_one"><label for="album_artist_id">Artist</label> <select class="form-control" id="album_artist_id" name="album[artist_id]"><option value=""></option><option selected="selected" value="1">a</option><option value="2">d</option></select></div>'
233
- end
234
-
235
- it "should correctly handle a Sequel model output :as => :select with error" do
236
- @ac.errors.add(:artist, 'error message')
237
- @c.input(:artist, :as=>:select).to_s.must_equal '<div class="form-group has-error many_to_one"><label for="album_artist_id">Artist</label> <select aria-describedby="album_artist_id_error_message" aria-invalid="true" class="form-control" id="album_artist_id" name="album[artist_id]"><option value=""></option><option value="1">a</option><option selected="selected" value="2">d</option></select><span class="help-block with-errors">error message</span></div>'
238
- end
239
-
240
- describe 'from a Sequel model' do
241
- it "should correctly handle a boolean attribute from a Sequel model" do
242
- @c.input(:gold).to_s.must_equal '<div class="boolean form-group"><label for="album_gold">Gold</label> <select class="form-control" id="album_gold" name="album[gold]"><option value=""></option><option selected="selected" value="t">True</option><option value="f">False</option></select></div>'
243
- end
244
-
245
- it "should correctly handle a boolean attribute from a Sequel model with an error" do
246
- @ac.errors.add(:gold, 'error message')
247
- @c.input(:gold).to_s.must_equal '<div class="boolean form-group has-error"><label for="album_gold">Gold</label> <select aria-describedby="album_gold_error_message" aria-invalid="true" class="form-control" id="album_gold" name="album[gold]"><option value=""></option><option selected="selected" value="t">True</option><option value="f">False</option></select><span class="help-block with-errors">error message</span></div>'
248
- end
249
- end
250
- end
251
-
252
- describe 'input[:checkbox]' do
253
- it "should create a simple input[:checkbox] tag" do
254
- @f.input(:checkbox).to_s.must_equal '<div class="checkbox"><input type="checkbox"/></div>'
255
- end
256
-
257
- it "should create an input[:checkbox] tag with a label when ':label => Gold'" do
258
- @f.input(:checkbox, :label=>"Gold").to_s.must_equal '<div class="checkbox"><label><input type="checkbox"/> Gold</label></div>'
259
- end
260
-
261
- it "should create an input[:checkbox] tag with a label when ':class => bar'" do
262
- @f.input(:checkbox, :label=>"Gold", :class=>'bar').to_s.must_equal '<div class="checkbox"><label><input class="bar" type="checkbox"/> Gold</label></div>'
263
- end
264
-
265
- it "should create an input[:checkbox] tag with a label when ':id => bar'" do
266
- @f.input(:checkbox, :label=>"Gold", :id=>'bar').to_s.must_equal '<div class="checkbox"><label for="bar"><input id="bar" type="checkbox"/> Gold</label></div>'
267
- end
268
-
269
- it "should create an input[:checkbox] tag with a label when ':id => bar' with an error" do
270
- @f.input(:checkbox, :label=>"Gold", :id=>'bar', :class=>'foo', :error=>'input-checkbox-error').to_s.must_equal '<div class="has-error"><div class="checkbox"><label for="bar"><input aria-describedby="bar_error_message" aria-invalid="true" class="foo" id="bar" type="checkbox"/> Gold</label></div><span class="help-block with-errors">input-checkbox-error</span></div>'
271
- end
272
-
273
- describe 'from a Sequel model' do
274
- it "should correctly handle a boolean attribute ':as=>:checkbox'" do
275
- @c.input(:gold, :as=>:checkbox).to_s.must_equal '<div class="boolean checkbox"><label for="album_gold"><input id="album_gold_hidden" name="album[gold]" type="hidden" value="f"/><input checked="checked" id="album_gold" name="album[gold]" type="checkbox" value="t"/> Gold</label></div>'
276
- end
277
-
278
- it "should correctly handle a boolean attribute ':as=>:checkbox' with an error" do
279
- @ac.errors.add(:gold, 'error message')
280
- @c.input(:gold, :as=>:checkbox).to_s.must_equal '<div class="boolean has-error"><div class="checkbox"><label for="album_gold"><input id="album_gold_hidden" name="album[gold]" type="hidden" value="f"/><input aria-describedby="album_gold_error_message" aria-invalid="true" checked="checked" id="album_gold" name="album[gold]" type="checkbox" value="t"/> Gold</label></div><span class="help-block with-errors">error message</span></div>'
281
- end
282
- end
283
- end
284
-
285
-
286
- describe 'input[:radio]' do
287
- it "should create a simple input[:radio] tag" do
288
- @f.input(:radio).to_s.must_equal '<div class="radio"><input type="radio"/></div>'
289
- end
290
-
291
- it "should create an input[:radio] tag with a label when ':label => Gold'" do
292
- @f.input(:radio, :label=>"Gold").to_s.must_equal '<div class="radio"><label><input type="radio"/> Gold</label></div>'
293
- end
294
-
295
- it "should create an input[:radio] tag with a label when ':class => bar'" do
296
- @f.input(:radio, :label=>"Gold", :class=>'bar').to_s.must_equal '<div class="radio"><label><input class="bar" type="radio"/> Gold</label></div>'
297
- end
298
-
299
- it "should create an input[:radio] tag with a label when ':id => bar'" do
300
- @f.input(:radio, :label=>"Gold", :id=>'bar').to_s.must_equal '<div class="radio"><label for="bar"><input id="bar" type="radio"/> Gold</label></div>'
301
- end
302
-
303
- it "should create an input[:radio] tag with a label when ':id => bar' with an error" do
304
- @f.input(:radio, :label=>"Gold", :id=>'bar', :class=>'foo', :error=>'input-radio-error').to_s.must_equal '<div class="has-error"><div class="radio"><label for="bar"><input aria-describedby="bar_error_message" aria-invalid="true" class="foo" id="bar" type="radio"/> Gold</label></div><span class="help-block with-errors">input-radio-error</span></div>'
305
- end
306
-
307
- describe 'from a Sequel model' do
308
- it "should correctly handle a boolean attribute ':as=>:radio'" do
309
- @c.input(:gold, :as=>:radio).to_s.must_equal '<div class="boolean radioset"><label>Gold</label><div class="radio"><label class="option" for="album_gold_yes"><input checked="checked" id="album_gold_yes" name="album[gold]" type="radio" value="t"/> Yes</label></div><div class="radio"><label class="option" for="album_gold_no"><input id="album_gold_no" name="album[gold]" type="radio" value="f"/> No</label></div></div>'
310
- end
311
-
312
- it "should correctly handle a boolean attribute ':as=>:radio' with an error" do
313
- @ac.errors.add(:gold, 'error message')
314
- @c.input(:gold, :as=>:radio).to_s.must_equal '<div class="boolean radioset has-error"><label>Gold</label><div class="radio"><label class="option" for="album_gold_yes"><input checked="checked" id="album_gold_yes" name="album[gold]" type="radio" value="t"/> Yes</label></div><div class="radio"><label class="option" for="album_gold_no"><input id="album_gold_no" name="album[gold]" type="radio" value="f"/> No</label></div><span class="help-block with-errors">error message</span></div>'
315
- end
316
- end
18
+ it "should create a simple input[:text] tag" do
19
+ @f.input(:text).must_equal '<div class="form-group"><input class="form-control" type="text"/></div>'
20
+ end
21
+
22
+ it "should create an input[:text] tag with a label when ':label => Name'" do
23
+ @f.input(:text, :label=>"Name").must_equal '<div class="form-group"><label>Name</label> <input class="form-control" type="text"/></div>'
24
+ end
25
+
26
+ it "should create an input[:text] tag with a label when ':class => bar'" do
27
+ @f.input(:text, :label=>"Name", :class=>'bar').must_equal '<div class="form-group"><label>Name</label> <input class="form-control bar" type="text"/></div>'
28
+ end
29
+
30
+ it "should create an input[:text] tag with a label when ':id => bar'" do
31
+ @f.input(:text, :label=>"Name", :id=>'bar').must_equal '<div class="form-group"><label for="bar">Name</label> <input class="form-control" id="bar" type="text"/></div>'
32
+ end
33
+
34
+ it "should create an input[:text] tag with a label when ':id => bar' with an error" do
35
+ @f.input(:text, :label=>"Name", :id=>'bar', :class=>'foo', :error=>'input-text-error').must_equal '<div class="form-group has-error"><label for="bar">Name</label> <input aria-describedby="bar_error_message" aria-invalid="true" class="form-control foo" id="bar" type="text"/><span class="help-block with-errors" id="bar_error_message">input-text-error</span></div>'
36
+ end
37
+
38
+ it "should create a correct input[:text] tag from Sequel model" do
39
+ @c.input(:name).must_equal '<div class="form-group string"><label for="album_name">Name</label> <input class="form-control" id="album_name" maxlength="255" name="album[name]" type="text" value="c"/></div>'
40
+ end
41
+
42
+ it "should correctly handle an input[:text] tag from Sequel model with error" do
43
+ @ac.errors.add(:name, 'name not valid')
44
+ @c.input(:name).must_equal '<div class="form-group has-error string"><label for="album_name">Name</label> <input aria-describedby="album_name_error_message" aria-invalid="true" class="form-control" id="album_name" maxlength="255" name="album[name]" type="text" value="c"/><span class="help-block with-errors" id="album_name_error_message">name not valid</span></div>'
45
+ end
46
+
47
+ it "should create a simple input[:password] tag" do
48
+ @f.input(:password).must_equal '<div class="form-group"><input class="form-control" type="password"/></div>'
49
+ end
50
+
51
+ it "should create an input[:password] tag with a label when ':label => Name'" do
52
+ @f.input(:password, :label=>"Name").must_equal '<div class="form-group"><label>Name</label> <input class="form-control" type="password"/></div>'
53
+ end
54
+
55
+ it "should create an input[:password] tag with a label when ':class => bar'" do
56
+ @f.input(:password, :label=>"Name", :class=>'bar').must_equal '<div class="form-group"><label>Name</label> <input class="form-control bar" type="password"/></div>'
57
+ end
58
+
59
+ it "should create an input[:password] tag with a label when ':id => bar'" do
60
+ @f.input(:password, :label=>"Name", :id=>'bar').must_equal '<div class="form-group"><label for="bar">Name</label> <input class="form-control" id="bar" type="password"/></div>'
61
+ end
62
+
63
+ it "should create an input[:password] tag with a label when ':id => bar' with an error" do
64
+ @f.input(:password, :label=>"Name", :id=>'bar', :class=>'foo', :error=>'input-password-error').must_equal '<div class="form-group has-error"><label for="bar">Name</label> <input aria-describedby="bar_error_message" aria-invalid="true" class="form-control foo" id="bar" type="password"/><span class="help-block with-errors" id="bar_error_message">input-password-error</span></div>'
65
+ end
66
+
67
+ it "should create a simple input[:email] tag" do
68
+ @f.input(:email).must_equal '<div class="form-group"><input class="form-control" type="email"/></div>'
69
+ end
70
+
71
+ it "should create an input[:email] tag with a label when ':label => Name'" do
72
+ @f.input(:email, :label=>"Name").must_equal '<div class="form-group"><label>Name</label> <input class="form-control" type="email"/></div>'
73
+ end
74
+
75
+ it "should create an input[:email] tag with a label when ':class => bar'" do
76
+ @f.input(:email, :label=>"Name", :class=>'bar').must_equal '<div class="form-group"><label>Name</label> <input class="form-control bar" type="email"/></div>'
77
+ end
78
+
79
+ it "should create an input[:email] tag with a label when ':id => bar'" do
80
+ @f.input(:email, :label=>"Name", :id=>'bar').must_equal '<div class="form-group"><label for="bar">Name</label> <input class="form-control" id="bar" type="email"/></div>'
81
+ end
82
+
83
+ it "should create an input[:email] tag with a label when ':id => bar' with an error" do
84
+ @f.input(:email, :label=>"Name", :id=>'bar', :class=>'foo', :error=>'input-email-error').must_equal '<div class="form-group has-error"><label for="bar">Name</label> <input aria-describedby="bar_error_message" aria-invalid="true" class="form-control foo" id="bar" type="email"/><span class="help-block with-errors" id="bar_error_message">input-email-error</span></div>'
85
+ end
86
+
87
+ it "should create a simple input[:file] tag" do
88
+ @f.input(:file).must_equal '<div class="form-group"><input type="file"/></div>'
89
+ end
90
+
91
+ it "should create an input[:file] tag with a label when ':label => Name'" do
92
+ @f.input(:file, :label=>"Name").must_equal '<div class="form-group"><label>Name</label> <input type="file"/></div>'
93
+ end
94
+
95
+ it "should create an input[:file] tag with a label when ':class => bar'" do
96
+ @f.input(:file, :label=>"Name", :class=>'bar').must_equal '<div class="form-group"><label>Name</label> <input class="bar" type="file"/></div>'
97
+ end
98
+
99
+ it "should create an input[:file] tag with a label when ':id => bar'" do
100
+ @f.input(:file, :label=>"Name", :id=>'bar').must_equal '<div class="form-group"><label for="bar">Name</label> <input id="bar" type="file"/></div>'
101
+ end
102
+
103
+ it "should create an input[:file] tag with a label when ':id => bar' with an error" do
104
+ @f.input(:file, :label=>"Name", :id=>'bar', :class=>'foo', :error=>'input-file-error').must_equal '<div class="form-group has-error"><label for="bar">Name</label> <input aria-describedby="bar_error_message" aria-invalid="true" class="foo" id="bar" type="file"/><span class="help-block with-errors" id="bar_error_message">input-file-error</span></div>'
105
+ end
106
+
107
+ it "should create a simple input[:submit] tag" do
108
+ @f.input(:submit).must_equal '<input class="btn btn-default" type="submit"/>'
109
+ end
110
+
111
+ it "should create a input[:submit] tag with attributes" do
112
+ @f.input(:submit, :attr=>{:class=>'bar'}).must_equal '<input class="btn btn-default bar" type="submit"/>'
113
+ end
114
+
115
+ it "should create an input[:submit] tag with the correct value" do
116
+ @f.input(:submit, :value=>'Save').must_equal '<input class="btn btn-default" type="submit" value="Save"/>'
117
+ end
118
+
119
+ it "should create an input[:submit] tag with the correct class" do
120
+ @f.input(:submit, :value=>'Save', :class=>'btn-primary').must_equal '<input class="btn btn-primary" type="submit" value="Save"/>'
121
+ end
122
+
123
+ it "should create an input[:submit] tag with the correct id" do
124
+ @f.input(:submit, :value=>'Save', :id=>'foo').must_equal '<input class="btn btn-default" id="foo" type="submit" value="Save"/>'
125
+ end
126
+
127
+ it "should create an input[:submit] tag without error message " do
128
+ @f.input(:submit, :value=>'Save', :id=>'foo', :error=>'error-message').must_equal '<input class="btn btn-default" id="foo" type="submit" value="Save"/>'
129
+ end
130
+
131
+ it "should create a simple input[:reset] tag" do
132
+ @f.input(:reset).must_equal '<input class="btn btn-default" type="reset"/>'
133
+ end
134
+
135
+ it "should create an input[:reset] tag with the correct value" do
136
+ @f.input(:reset, :value=>'Save').must_equal '<input class="btn btn-default" type="reset" value="Save"/>'
137
+ end
138
+
139
+ it "should create an input[:reset] tag with the correct class" do
140
+ @f.input(:reset, :value=>'Save', :class=>'btn-primary').must_equal '<input class="btn btn-primary" type="reset" value="Save"/>'
141
+ end
142
+
143
+ it "should create an input[:reset] tag with the correct id" do
144
+ @f.input(:reset, :value=>'Save', :id=>'foo').must_equal '<input class="btn btn-default" id="foo" type="reset" value="Save"/>'
145
+ end
146
+
147
+ it "should create an input[:reset] tag without error message " do
148
+ @f.input(:reset, :value=>'Save', :id=>'foo', :error=>'error-message').must_equal '<input class="btn btn-default" id="foo" type="reset" value="Save"/>'
149
+ end
150
+
151
+ it "should create a simple :textarea tag" do
152
+ @f.input(:textarea).must_equal '<div class="form-group"><textarea class="form-control"></textarea></div>'
153
+ end
154
+
155
+ it "should create an :textarea tag with the correct value" do
156
+ @f.input(:textarea, :value=>'Bio').must_equal '<div class="form-group"><textarea class="form-control">Bio</textarea></div>'
157
+ end
158
+
159
+ it "should create an :textarea tag with the correct class" do
160
+ @f.input(:textarea, :class=>'foo').must_equal '<div class="form-group"><textarea class="form-control foo"></textarea></div>'
161
+ end
162
+
163
+ it "should create an :textarea tag with the correct id" do
164
+ @f.input(:textarea, :id=>'bar').must_equal '<div class="form-group"><textarea class="form-control" id="bar"></textarea></div>'
165
+ end
166
+
167
+ it "should create a textarea tag without a .has-error and error message span when ':skip_error => true'" do
168
+ @f.input(:textarea, :skip_error=>true).must_equal '<div class="form-group"><textarea class="form-control"></textarea></div>'
169
+ end
170
+
171
+ it "should create a textarea tag with .has-error and error message when ':error => is-a-string'" do
172
+ @f.input(:textarea, :error=>'input-textarea-error').must_equal '<div class="form-group has-error"><textarea aria-invalid="true" class="form-control"></textarea><span class="help-block with-errors">input-textarea-error</span></div>'
173
+ end
174
+
175
+ it "should create a correct input[:text] tag from Sequel model" do
176
+ @c.input(:name, :as=>:textarea).must_equal '<div class="form-group string"><label for="album_name">Name</label> <textarea class="form-control" id="album_name" maxlength="255" name="album[name]">c</textarea></div>'
177
+ end
178
+
179
+ it "should correctly handle an input[:text] tag from Sequel model with error" do
180
+ @ac.errors.add(:name, 'name not valid')
181
+ @c.input(:name, :as=>:textarea).must_equal '<div class="form-group has-error string"><label for="album_name">Name</label> <textarea aria-describedby="album_name_error_message" aria-invalid="true" class="form-control" id="album_name" maxlength="255" name="album[name]">c</textarea><span class="help-block with-errors" id="album_name_error_message">name not valid</span></div>'
182
+ end
183
+
184
+ it "should create a simple :select tag" do
185
+ @f.input(:select).must_equal '<div class="form-group"><select class="form-control"></select></div>'
186
+ end
187
+
188
+ it "should create a simple :select tag with options" do
189
+ @f.input(:select, :options=>[[:a, 1], [:b,2]]).must_equal '<div class="form-group"><select class="form-control"><option value="1">a</option><option value="2">b</option></select></div>'
190
+ end
191
+
192
+ it "should create a simple :select tag with options and the correct value" do
193
+ @f.input(:select, :options=>[[:a, 1], [:b,2]], :value=>2).must_equal '<div class="form-group"><select class="form-control"><option value="1">a</option><option selected="selected" value="2">b</option></select></div>'
194
+ end
195
+
196
+ it "should support :add_blank option for select inputs" do
197
+ @f.input(:select, :options=>[[:a, 1], [:b, 2]], :add_blank=>true, :value=>1).must_equal '<div class="form-group"><select class="form-control"><option value=""></option><option selected="selected" value="1">a</option><option value="2">b</option></select></div>'
198
+ end
199
+
200
+ it "should create an :select tag with the correct class" do
201
+ @f.input(:select, :class=>'foo').must_equal '<div class="form-group"><select class="form-control foo"></select></div>'
202
+ end
203
+
204
+ it "should create an :select tag with the correct id" do
205
+ @f.input(:select, :id=>'bar').must_equal '<div class="form-group"><select class="form-control" id="bar"></select></div>'
206
+ end
207
+
208
+ it "should create a select tag without .has-error and error message span when ':skip_error => true'" do
209
+ @f.input(:select, :skip_error=>true).must_equal '<div class="form-group"><select class="form-control"></select></div>'
210
+ end
211
+
212
+ it "should create a select tag with .has-error and error message when ':error => is-a-string'" do
213
+ @f.input(:select, :error=>'input-select-error').must_equal '<div class="form-group has-error"><select aria-invalid="true" class="form-control"></select><span class="help-block with-errors">input-select-error</span></div>'
214
+ end
215
+
216
+ it "should correctly handle a Sequel model output :as => :select" do
217
+ @b.input(:artist, :as=>:select).must_equal '<div class="form-group many_to_one"><label for="album_artist_id">Artist</label> <select class="form-control" id="album_artist_id" name="album[artist_id]"><option value=""></option><option selected="selected" value="1">a</option><option value="2">d</option></select></div>'
218
+ end
219
+
220
+ it "should correctly handle a Sequel model output :as => :select with error" do
221
+ @ac.errors.add(:artist, 'error message')
222
+ @c.input(:artist, :as=>:select).must_equal '<div class="form-group has-error many_to_one"><label for="album_artist_id">Artist</label> <select aria-describedby="album_artist_id_error_message" aria-invalid="true" class="form-control" id="album_artist_id" name="album[artist_id]"><option value=""></option><option value="1">a</option><option selected="selected" value="2">d</option></select><span class="help-block with-errors" id="album_artist_id_error_message">error message</span></div>'
223
+ end
224
+
225
+ it "should correctly handle a boolean attribute from a Sequel model" do
226
+ @c.input(:gold).must_equal '<div class="boolean form-group"><label for="album_gold">Gold</label> <select class="form-control" id="album_gold" name="album[gold]"><option value=""></option><option selected="selected" value="t">True</option><option value="f">False</option></select></div>'
227
+ end
228
+
229
+ it "should correctly handle a boolean attribute from a Sequel model with an error" do
230
+ @ac.errors.add(:gold, 'error message')
231
+ @c.input(:gold).must_equal '<div class="boolean form-group has-error"><label for="album_gold">Gold</label> <select aria-describedby="album_gold_error_message" aria-invalid="true" class="form-control" id="album_gold" name="album[gold]"><option value=""></option><option selected="selected" value="t">True</option><option value="f">False</option></select><span class="help-block with-errors" id="album_gold_error_message">error message</span></div>'
232
+ end
233
+
234
+ it "should create a simple input[:checkbox] tag" do
235
+ @f.input(:checkbox).must_equal '<div class="checkbox"><input type="checkbox"/></div>'
236
+ end
237
+
238
+ it "should remove form-control class from attributes for input[:checkbox] tag" do
239
+ @f.input(:checkbox, :class=>'form-control').must_equal '<div class="checkbox"><input type="checkbox"/></div>'
240
+ end
241
+
242
+ it "should create an input[:checkbox] tag with a label when ':label => Gold'" do
243
+ @f.input(:checkbox, :label=>"Gold").must_equal '<div class="checkbox"><label><input type="checkbox"/> Gold</label></div>'
244
+ end
245
+
246
+ it "should create an input[:checkbox] tag with a label when ':class => bar'" do
247
+ @f.input(:checkbox, :label=>"Gold", :class=>'bar').must_equal '<div class="checkbox"><label><input class="bar" type="checkbox"/> Gold</label></div>'
248
+ end
249
+
250
+ it "should create an input[:checkbox] tag with a label when ':id => bar'" do
251
+ @f.input(:checkbox, :label=>"Gold", :id=>'bar').must_equal '<div class="checkbox"><label for="bar"><input id="bar" type="checkbox"/> Gold</label></div>'
252
+ end
253
+
254
+ it "should create an input[:checkbox] tag with a label when ':id => bar' with an error" do
255
+ @f.input(:checkbox, :label=>"Gold", :id=>'bar', :class=>'foo', :error=>'input-checkbox-error').must_equal '<div class="has-error"><div class="checkbox"><label for="bar"><input aria-describedby="bar_error_message" aria-invalid="true" class="foo" id="bar" type="checkbox"/> Gold</label></div><span class="help-block with-errors" id="bar_error_message">input-checkbox-error</span></div>'
256
+ end
257
+
258
+ it "should correctly handle a boolean attribute ':as=>:checkbox'" do
259
+ @c.input(:gold, :as=>:checkbox).must_equal '<div class="boolean checkbox"><label for="album_gold"><input id="album_gold_hidden" name="album[gold]" type="hidden" value="f"/><input checked="checked" id="album_gold" name="album[gold]" type="checkbox" value="t"/> Gold</label></div>'
260
+ end
261
+
262
+ it "should correctly handle a boolean attribute ':as=>:checkbox' with an error" do
263
+ @ac.errors.add(:gold, 'error message')
264
+ @c.input(:gold, :as=>:checkbox).must_equal '<div class="boolean has-error"><div class="checkbox"><label for="album_gold"><input id="album_gold_hidden" name="album[gold]" type="hidden" value="f"/><input aria-describedby="album_gold_error_message" aria-invalid="true" checked="checked" id="album_gold" name="album[gold]" type="checkbox" value="t"/> Gold</label></div><span class="help-block with-errors" id="album_gold_error_message">error message</span></div>'
265
+ end
266
+
267
+ it "should create a simple input[:radio] tag" do
268
+ @f.input(:radio).must_equal '<div class="radio"><input type="radio"/></div>'
269
+ end
270
+
271
+ it "should create an input[:radio] tag with a label when ':label => Gold'" do
272
+ @f.input(:radio, :label=>"Gold").must_equal '<div class="radio"><label><input type="radio"/> Gold</label></div>'
273
+ end
274
+
275
+ it "should create an input[:radio] tag with a label when ':class => bar'" do
276
+ @f.input(:radio, :label=>"Gold", :class=>'bar').must_equal '<div class="radio"><label><input class="bar" type="radio"/> Gold</label></div>'
277
+ end
278
+
279
+ it "should create an input[:radio] tag with a label when ':id => bar'" do
280
+ @f.input(:radio, :label=>"Gold", :id=>'bar').must_equal '<div class="radio"><label for="bar"><input id="bar" type="radio"/> Gold</label></div>'
281
+ end
282
+
283
+ it "should create an input[:radio] tag with a label when ':id => bar' with an error" do
284
+ @f.input(:radio, :label=>"Gold", :id=>'bar', :class=>'foo', :error=>'input-radio-error').must_equal '<div class="has-error"><div class="radio"><label for="bar"><input aria-describedby="bar_error_message" aria-invalid="true" class="foo" id="bar" type="radio"/> Gold</label></div><span class="help-block with-errors" id="bar_error_message">input-radio-error</span></div>'
285
+ end
286
+
287
+ it "should correctly handle a boolean attribute ':as=>:radio'" do
288
+ @c.input(:gold, :as=>:radio).must_equal '<div class="boolean radioset"><label>Gold</label><div class="radio"><label class="option" for="album_gold_yes"><input checked="checked" id="album_gold_yes" name="album[gold]" type="radio" value="t"/> Yes</label></div><div class="radio"><label class="option" for="album_gold_no"><input id="album_gold_no" name="album[gold]" type="radio" value="f"/> No</label></div></div>'
289
+ end
290
+
291
+ it "should correctly handle a boolean attribute ':as=>:radio' with an error" do
292
+ @ac.errors.add(:gold, 'error message')
293
+ @c.input(:gold, :as=>:radio).must_equal '<div class="boolean radioset has-error"><label>Gold</label><div class="radio"><label class="option" for="album_gold_yes"><input checked="checked" id="album_gold_yes" name="album[gold]" type="radio" value="t"/> Yes</label></div><div class="radio"><label class="option" for="album_gold_no"><input id="album_gold_no" name="album[gold]" type="radio" value="f"/> No</label></div><span class="help-block with-errors">error message</span></div>'
317
294
  end
318
295
 
319
296
 
320
297
  it "should correctly handle a :checkboxset tag" do
321
- @f.input(:checkboxset, :options=>[[:a, 1], [:b,2]]).to_s.must_equal '<div class="checkboxset"><div class="checkbox"><label class="option"><input type="checkbox" value="1"/> a</label></div><div class="checkbox"><label class="option"><input type="checkbox" value="2"/> b</label></div></div>'
298
+ @f.input(:checkboxset, :options=>[[:a, 1], [:b,2]]).must_equal '<div class="checkboxset"><div class="checkbox"><label class="option"><input type="checkbox" value="1"/> a</label></div><div class="checkbox"><label class="option"><input type="checkbox" value="2"/> b</label></div></div>'
322
299
  end
323
300
 
324
301
  it "should correctly handle a :checkboxset tag without options" do
325
- @f.input(:checkboxset, :options=>[]).to_s.must_equal '<div class="checkboxset"></div>'
302
+ @f.input(:checkboxset, :options=>[]).must_equal '<div class="checkboxset"></div>'
326
303
  end
327
304
 
328
305
  it "should correctly handle a :checkboxset tag with an error - Alternative A: (see BS3 HTML reference)" do
329
- @f.input(:checkboxset, :options=>[[:a, 1], [:b,2]], :error=>'error message').to_s.must_equal '<div class="checkboxset has-error"><div class="checkbox"><label class="option"><input type="checkbox" value="1"/> a</label></div><div class="checkbox"><label class="option"><input type="checkbox" value="2"/> b</label></div><span class="help-block with-errors">error message</span></div>'
306
+ @f.input(:checkboxset, :options=>[[:a, 1], [:b,2]], :error=>'error message').must_equal '<div class="checkboxset has-error"><div class="checkbox"><label class="option"><input type="checkbox" value="1"/> a</label></div><div class="checkbox"><label class="option"><input type="checkbox" value="2"/> b</label></div><span class="help-block with-errors">error message</span></div>'
330
307
  end
331
308
 
332
309
  it "should correctly handle a :checkboxset tag with an error and label - Alternative A: (see BS3 HTML reference)" do
333
- @f.input(:checkboxset, :options=>[[:a, 1], [:b,2]], :error=>'error message', :label=>'CheckboxSet').to_s.must_equal '<div class="checkboxset has-error"><label>CheckboxSet</label><div class="checkbox"><label class="option"><input type="checkbox" value="1"/> a</label></div><div class="checkbox"><label class="option"><input type="checkbox" value="2"/> b</label></div><span class="help-block with-errors">error message</span></div>'
310
+ @f.input(:checkboxset, :options=>[[:a, 1], [:b,2]], :error=>'error message', :label=>'CheckboxSet').must_equal '<div class="checkboxset has-error"><label>CheckboxSet</label><div class="checkbox"><label class="option"><input type="checkbox" value="1"/> a</label></div><div class="checkbox"><label class="option"><input type="checkbox" value="2"/> b</label></div><span class="help-block with-errors">error message</span></div>'
334
311
  end
335
312
 
336
313
  it "should correctly handle a :radioset tag" do
337
- @f.input(:radioset, :options=>[[:a, 1], [:b,2]]).to_s.must_equal '<div class="radioset"><div class="radio"><label class="option"><input type="radio" value="1"/> a</label></div><div class="radio"><label class="option"><input type="radio" value="2"/> b</label></div></div>'
314
+ @f.input(:radioset, :options=>[[:a, 1], [:b,2]]).must_equal '<div class="radioset"><div class="radio"><label class="option"><input type="radio" value="1"/> a</label></div><div class="radio"><label class="option"><input type="radio" value="2"/> b</label></div></div>'
338
315
  end
339
316
 
340
317
  it "should correctly handle a :radioset tag without options" do
341
- @f.input(:radioset, :options=>[]).to_s.must_equal '<div class="radioset"></div>'
318
+ @f.input(:radioset, :options=>[]).must_equal '<div class="radioset"></div>'
342
319
  end
343
320
 
344
321
  it "should correctly handle a :radioset tag with an error - Alternative A: (see BS3 HTML reference)" do
345
- @f.input(:radioset, :options=>[[:a, 1], [:b,2]], :error=>'error message').to_s.must_equal '<div class="radioset has-error"><div class="radio"><label class="option"><input type="radio" value="1"/> a</label></div><div class="radio"><label class="option"><input type="radio" value="2"/> b</label></div><span class="help-block with-errors">error message</span></div>'
322
+ @f.input(:radioset, :options=>[[:a, 1], [:b,2]], :error=>'error message').must_equal '<div class="radioset has-error"><div class="radio"><label class="option"><input type="radio" value="1"/> a</label></div><div class="radio"><label class="option"><input type="radio" value="2"/> b</label></div><span class="help-block with-errors">error message</span></div>'
346
323
  end
347
324
 
348
325
  it "should correctly handle a :radioset tag with an error and label - Alternative A: (see BS3 HTML reference)" do
349
- @f.input(:radioset, :options=>[[:a, 1], [:b,2]], :error=>'error message', :label=>'RadioSet').to_s.must_equal '<div class="radioset has-error"><label>RadioSet</label><div class="radio"><label class="option"><input type="radio" value="1"/> a</label></div><div class="radio"><label class="option"><input type="radio" value="2"/> b</label></div><span class="help-block with-errors">error message</span></div>'
326
+ @f.input(:radioset, :options=>[[:a, 1], [:b,2]], :error=>'error message', :label=>'RadioSet').must_equal '<div class="radioset has-error"><label>RadioSet</label><div class="radio"><label class="option"><input type="radio" value="1"/> a</label></div><div class="radio"><label class="option"><input type="radio" value="2"/> b</label></div><span class="help-block with-errors">error message</span></div>'
350
327
  end
351
328
 
352
329
  it "should use a set of radio buttons for many_to_one associations with :as=>:radio option" do
353
- @b.input(:artist, :as=>:radio).to_s.must_equal '<div class="many_to_one radioset"><label>Artist</label><div class="radio"><label class="option" for="album_artist_id_1"><input checked="checked" id="album_artist_id_1" name="album[artist_id]" type="radio" value="1"/> a</label></div><div class="radio"><label class="option" for="album_artist_id_2"><input id="album_artist_id_2" name="album[artist_id]" type="radio" value="2"/> d</label></div></div>'
354
- @b.input(:artist, :as=>:radio, :wrapper=>nil).to_s.must_equal '<label>Artist</label><div class="radio"><label class="option" for="album_artist_id_1"><input checked="checked" id="album_artist_id_1" name="album[artist_id]" type="radio" value="1"/> a</label></div><div class="radio"><label class="option" for="album_artist_id_2"><input id="album_artist_id_2" name="album[artist_id]" type="radio" value="2"/> d</label></div>'
355
- @c.input(:artist, :as=>:radio).to_s.must_equal '<div class="many_to_one radioset"><label>Artist</label><div class="radio"><label class="option" for="album_artist_id_1"><input id="album_artist_id_1" name="album[artist_id]" type="radio" value="1"/> a</label></div><div class="radio"><label class="option" for="album_artist_id_2"><input checked="checked" id="album_artist_id_2" name="album[artist_id]" type="radio" value="2"/> d</label></div></div>'
356
- @c.input(:artist, :as=>:radio, :wrapper=>:div).to_s.must_equal '<div class="many_to_one radioset"><label>Artist</label><div class="radio"><label class="option" for="album_artist_id_1"><input id="album_artist_id_1" name="album[artist_id]" type="radio" value="1"/> a</label></div><div class="radio"><label class="option" for="album_artist_id_2"><input checked="checked" id="album_artist_id_2" name="album[artist_id]" type="radio" value="2"/> d</label></div></div>'
330
+ @b.input(:artist, :as=>:radio).must_equal '<div class="many_to_one radioset"><label>Artist</label><div class="radio"><label class="option" for="album_artist_id_1"><input checked="checked" id="album_artist_id_1" name="album[artist_id]" type="radio" value="1"/> a</label></div><div class="radio"><label class="option" for="album_artist_id_2"><input id="album_artist_id_2" name="album[artist_id]" type="radio" value="2"/> d</label></div></div>'
331
+ @b.input(:artist, :as=>:radio, :wrapper=>nil).must_equal '<label>Artist</label><div class="radio"><label class="option" for="album_artist_id_1"><input checked="checked" id="album_artist_id_1" name="album[artist_id]" type="radio" value="1"/> a</label></div><div class="radio"><label class="option" for="album_artist_id_2"><input id="album_artist_id_2" name="album[artist_id]" type="radio" value="2"/> d</label></div>'
332
+ @c.input(:artist, :as=>:radio).must_equal '<div class="many_to_one radioset"><label>Artist</label><div class="radio"><label class="option" for="album_artist_id_1"><input id="album_artist_id_1" name="album[artist_id]" type="radio" value="1"/> a</label></div><div class="radio"><label class="option" for="album_artist_id_2"><input checked="checked" id="album_artist_id_2" name="album[artist_id]" type="radio" value="2"/> d</label></div></div>'
333
+ @c.input(:artist, :as=>:radio, :wrapper=>:div).must_equal '<div class="many_to_one radioset"><label>Artist</label><div class="radio"><label class="option" for="album_artist_id_1"><input id="album_artist_id_1" name="album[artist_id]" type="radio" value="1"/> a</label></div><div class="radio"><label class="option" for="album_artist_id_2"><input checked="checked" id="album_artist_id_2" name="album[artist_id]" type="radio" value="2"/> d</label></div></div>'
357
334
  end
358
335
  end