@@ -407,4 +407,47 @@ def setup
407407 expected = %{<div class="form-group"><label for="other_model_email">Email</label><input class="form-control" id="other_model_email" name="other_model[email]" type="text" /></div>}
408408 assert_equal expected , builder . text_field ( :email )
409409 end
410+
411+ test 'radio_buttons_collection renders the form_group correctly' do
412+ collection = [ Address . new ( id : 1 , street : 'Foobar' ) ]
413+ expected = %{<div class="form-group"><label for="user_misc">This is a radio button collection</label><label class="radio" for="user_misc_1"><input id="user_misc_1" name="user[misc]" type="radio" value="1" /> Foobar</label><span class="help-block">With a help!</span></div>}
414+
415+ assert_equal expected , @builder . radio_buttons_collection ( :misc , collection , :id , :street , label : 'This is a radio button collection' , help : 'With a help!' )
416+ end
417+
418+ test 'radio_buttons_collection renders multiple radios correctly' do
419+ collection = [ Address . new ( id : 1 , street : 'Foo' ) , Address . new ( id : 2 , street : 'Bar' ) ]
420+ expected = %{<div class="form-group"><label for="user_misc">Misc</label><label class="radio" for="user_misc_1"><input id="user_misc_1" name="user[misc]" type="radio" value="1" /> Foo</label><label class="radio" for="user_misc_2"><input id="user_misc_2" name="user[misc]" type="radio" value="2" /> Bar</label></div>}
421+
422+ assert_equal expected , @builder . radio_buttons_collection ( :misc , collection , :id , :street )
423+ end
424+
425+ test 'radio_buttons_collection renders inline radios correctly' do
426+ collection = [ Address . new ( id : 1 , street : 'Foo' ) , Address . new ( id : 2 , street : 'Bar' ) ]
427+ expected = %{<div class="form-group"><label for="user_misc">Misc</label><label class="radio-inline" for="user_misc_1"><input id="user_misc_1" name="user[misc]" type="radio" value="1" /> Foo</label><label class="radio-inline" for="user_misc_2"><input id="user_misc_2" name="user[misc]" type="radio" value="2" /> Bar</label></div>}
428+
429+ assert_equal expected , @builder . radio_buttons_collection ( :misc , collection , :id , :street , inline : true )
430+ end
431+
432+ test 'check_boxes_collection renders the form_group correctly' do
433+ collection = [ Address . new ( id : 1 , street : 'Foobar' ) ]
434+ expected = %{<div class="form-group"><label for="user_misc">This is a checkbox collection</label><div class="checkbox"><label for="user_misc"><input id="user_misc_1" name="user[misc][]" type="checkbox" value="1" /> Foobar</label></div><span class="help-block">With a help!</span></div>}
435+
436+ assert_equal expected , @builder . check_boxes_collection ( :misc , collection , :id , :street , label : 'This is a checkbox collection' , help : 'With a help!' )
437+ end
438+
439+ test 'check_boxes_collection renders multiple checkboxes correctly' do
440+ collection = [ Address . new ( id : 1 , street : 'Foo' ) , Address . new ( id : 2 , street : 'Bar' ) ]
441+ expected = %{<div class="form-group"><label for="user_misc">Misc</label><div class="checkbox"><label for="user_misc"><input id="user_misc_1" name="user[misc][]" type="checkbox" value="1" /> Foo</label></div><div class="checkbox"><label for="user_misc"><input id="user_misc_2" name="user[misc][]" type="checkbox" value="2" /> Bar</label></div></div>}
442+
443+ assert_equal expected , @builder . check_boxes_collection ( :misc , collection , :id , :street )
444+ end
445+
446+ test 'check_boxes_collection renders inline checkboxes correctly' do
447+ collection = [ Address . new ( id : 1 , street : 'Foo' ) , Address . new ( id : 2 , street : 'Bar' ) ]
448+ expected = %{<div class="form-group"><label for="user_misc">Misc</label><label class="checkbox-inline" for="user_misc"><input id="user_misc_1" name="user[misc][]" type="checkbox" value="1" /> Foo</label><label class="checkbox-inline" for="user_misc"><input id="user_misc_2" name="user[misc][]" type="checkbox" value="2" /> Bar</label></div>}
449+
450+ assert_equal expected , @builder . check_boxes_collection ( :misc , collection , :id , :street , inline : true )
451+ end
452+
410453end
0 commit comments