comfy_bootstrap_form 4.0.0 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +0 -2
  3. data/.travis.yml +2 -0
  4. data/Gemfile +3 -2
  5. data/LICENSE.md +1 -1
  6. data/README.md +32 -9
  7. data/bootstrap_form.gemspec +6 -3
  8. data/lib/bootstrap_form/version.rb +1 -1
  9. data/lib/bootstrap_form/view_helper.rb +30 -9
  10. metadata +5 -60
  11. data/demo/README.md +0 -18
  12. data/demo/Rakefile +0 -6
  13. data/demo/app/controllers/application_controller.rb +0 -2
  14. data/demo/app/controllers/bootstrap_controller.rb +0 -18
  15. data/demo/app/models/application_record.rb +0 -3
  16. data/demo/app/models/user.rb +0 -3
  17. data/demo/app/views/bootstrap/form.html.erb +0 -127
  18. data/demo/app/views/layouts/application.html.erb +0 -43
  19. data/demo/bin/bundle +0 -3
  20. data/demo/bin/rails +0 -4
  21. data/demo/bin/rake +0 -4
  22. data/demo/bin/setup +0 -36
  23. data/demo/bin/update +0 -31
  24. data/demo/bin/yarn +0 -11
  25. data/demo/config/application.rb +0 -24
  26. data/demo/config/boot.rb +0 -5
  27. data/demo/config/database.yml +0 -21
  28. data/demo/config/environment.rb +0 -5
  29. data/demo/config/environments/development.rb +0 -60
  30. data/demo/config/environments/test.rb +0 -48
  31. data/demo/config/initializers/application_controller_renderer.rb +0 -8
  32. data/demo/config/initializers/assets.rb +0 -14
  33. data/demo/config/initializers/backtrace_silencers.rb +0 -7
  34. data/demo/config/initializers/cookies_serializer.rb +0 -5
  35. data/demo/config/initializers/filter_parameter_logging.rb +0 -4
  36. data/demo/config/initializers/inflections.rb +0 -16
  37. data/demo/config/initializers/mime_types.rb +0 -4
  38. data/demo/config/initializers/wrap_parameters.rb +0 -14
  39. data/demo/config/locales/en.yml +0 -33
  40. data/demo/config/puma.rb +0 -56
  41. data/demo/config/routes.rb +0 -5
  42. data/demo/config/spring.rb +0 -6
  43. data/demo/config/storage.yml +0 -35
  44. data/demo/config.ru +0 -5
  45. data/demo/db/schema.rb +0 -14
  46. data/demo/form_preview_horizontal.png +0 -0
  47. data/demo/form_preview_horizontal_with_errors.png +0 -0
  48. data/demo/form_preview_inline.png +0 -0
  49. data/demo/form_preview_vertical.png +0 -0
  50. data/demo/log/.keep +0 -0
  51. data/demo/package.json +0 -5
  52. data/demo/public/favicon.ico +0 -0
  53. data/test/bootstrap_form/bootstrap_options_test.rb +0 -114
  54. data/test/bootstrap_form/fields_test.rb +0 -304
  55. data/test/bootstrap_form/fields_with_errors_test.rb +0 -111
  56. data/test/bootstrap_form/form_builder_test.rb +0 -17
  57. data/test/bootstrap_form/horizontal_form_test.rb +0 -160
  58. data/test/bootstrap_form/inline_form_test.rb +0 -68
  59. data/test/bootstrap_form/input_group_test.rb +0 -56
  60. data/test/bootstrap_form/radios_and_checkboxes_test.rb +0 -207
  61. data/test/bootstrap_form/submit_test.rb +0 -59
  62. data/test/bootstrap_form/view_helpers_test.rb +0 -99
  63. data/test/gemfiles/5.2.gemfile +0 -14
  64. data/test/test_helper.rb +0 -48
@@ -1,111 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class FieldsWithErrorsTest < ActionView::TestCase
4
-
5
- setup do
6
- @user = User.new
7
- @user.errors.add(:test, "invalid")
8
-
9
- @builder = BootstrapForm::FormBuilder.new(:user, @user, self, {})
10
-
11
- @original_proc = ActionView::Base.field_error_proc
12
- ActionView::Base.field_error_proc = proc { |input, _instance| input }
13
- end
14
-
15
- teardown do
16
- ActionView::Base.field_error_proc = @original_proc
17
- end
18
-
19
- def test_text_field_with_error
20
- actual = @builder.text_field(:test)
21
- expected = <<-HTML
22
- <div class="form-group">
23
- <label for="user_test">Test</label>
24
- <input class="form-control is-invalid" id="user_test" name="user[test]" type="text"/>
25
- <div class="invalid-feedback">invalid</div>
26
- </div>
27
- HTML
28
- assert_xml_equal expected, actual
29
- end
30
-
31
- def test_check_box_with_error
32
- actual = @builder.check_box(:test)
33
- expected = <<-HTML
34
- <fieldset class="form-group">
35
- <div class="form-check">
36
- <input name="user[test]" type="hidden" value="0"/>
37
- <input class="form-check-input is-invalid" id="user_test" name="user[test]" type="checkbox" value="1"/>
38
- <label class="form-check-label" for="user_test">Test</label>
39
- <div class="invalid-feedback">invalid</div>
40
- </div>
41
- </fieldset>
42
- HTML
43
- assert_xml_equal expected, actual
44
- end
45
-
46
- def test_collection_radio_buttons_with_error_and_help
47
- actual = @builder.collection_radio_buttons(:test, %w[a b], :to_s, :titleize, bootstrap: { help: "help text" })
48
- expected = <<-HTML
49
- <fieldset class="form-group">
50
- <legend class="col-form-label pt-0">Test</legend>
51
- <div class="form-check">
52
- <input class="form-check-input is-invalid" id="user_test_a" name="user[test]" type="radio" value="a"/>
53
- <label class="form-check-label" for="user_test_a">A</label>
54
- </div>
55
- <div class="form-check">
56
- <input class="form-check-input is-invalid" id="user_test_b" name="user[test]" type="radio" value="b"/>
57
- <label class="form-check-label" for="user_test_b">B</label>
58
- <div class="invalid-feedback">invalid</div>
59
- <small class="form-text text-muted">help text</small>
60
- </div>
61
- </fieldset>
62
- HTML
63
- assert_xml_equal expected, actual
64
- end
65
-
66
- def test_collection_radio_buttons_inline_with_error_and_help
67
- options = { bootstrap: {
68
- check_inline: true,
69
- help: "help text"
70
- } }
71
- actual = @builder.collection_radio_buttons(:test, %w[a b], :to_s, :titleize, options)
72
- expected = <<-HTML
73
- <fieldset class="form-group">
74
- <legend class="col-form-label pt-0">Test</legend>
75
- <div class="form-check form-check-inline">
76
- <input class="form-check-input is-invalid" id="user_test_a" name="user[test]" type="radio" value="a"/>
77
- <label class="form-check-label" for="user_test_a">A</label>
78
- </div>
79
- <div class="form-check form-check-inline">
80
- <input class="form-check-input is-invalid" id="user_test_b" name="user[test]" type="radio" value="b"/>
81
- <label class="form-check-label" for="user_test_b">B</label>
82
- </div>
83
- <div class="invalid-feedback">invalid</div>
84
- <small class="form-text text-muted">help text</small>
85
- </fieldset>
86
- HTML
87
- assert_xml_equal expected, actual
88
- end
89
-
90
- def test_text_field_with_input_group_error
91
- actual = @builder.text_field(:test, bootstrap: { prepend: "A", append: "Z", help: "help text" })
92
- expected = <<-HTML
93
- <div class="form-group">
94
- <label for="user_test">Test</label>
95
- <div class="input-group">
96
- <div class="input-group-prepend">
97
- <span class="input-group-text">A</span>
98
- </div>
99
- <input class="form-control is-invalid" id="user_test" name="user[test]" type="text"/>
100
- <div class="input-group-append">
101
- <span class="input-group-text">Z</span>
102
- </div>
103
- <div class="invalid-feedback">invalid</div>
104
- </div>
105
- <small class="form-text text-muted">help text</small>
106
- </div>
107
- HTML
108
- assert_xml_equal expected, actual
109
- end
110
-
111
- end
@@ -1,17 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class FormBuilderTest < ActionView::TestCase
4
-
5
- def test_initialization
6
- builder = BootstrapForm::FormBuilder.new(nil, nil, self, {})
7
- assert builder.form_bootstrap.is_a?(BootstrapForm::BootstrapOptions)
8
- assert_equal "vertical", builder.form_bootstrap.layout
9
- end
10
-
11
- def test_initialization_with_options
12
- options = { bootstrap: { layout: "horizontal" } }
13
- builder = BootstrapForm::FormBuilder.new(nil, nil, self, options)
14
- assert_equal "horizontal", builder.form_bootstrap.layout
15
- end
16
-
17
- end
@@ -1,160 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class HorizontalFormTest < ActionView::TestCase
4
-
5
- setup do
6
- @user = User.new
7
- @builder = BootstrapForm::FormBuilder.new(:user, @user, self, bootstrap: { layout: :horizontal })
8
- end
9
-
10
- def test_text_field
11
- actual = @builder.text_field(:email)
12
- expected = <<-HTML
13
- <div class="form-group row">
14
- <label class="col-form-label col-sm-2 text-sm-right" for="user_email">Email</label>
15
- <div class="col-sm-10">
16
- <input class="form-control" type="text" name="user[email]" id="user_email" />
17
- </div>
18
- </div>
19
- HTML
20
- assert_xml_equal expected, actual
21
- end
22
-
23
- def test_text_field_with_no_label
24
- actual = @builder.text_field(:email, bootstrap: { label: { hide: true } })
25
- expected = <<-HTML
26
- <div class="form-group row">
27
- <label class="sr-only col-form-label col-sm-2 text-sm-right" for="user_email">Email</label>
28
- <div class="col-sm-10 offset-sm-2">
29
- <input class="form-control" type="text" name="user[email]" id="user_email" />
30
- </div>
31
- </div>
32
- HTML
33
- assert_xml_equal expected, actual
34
- end
35
-
36
- def test_check_box
37
- actual = @builder.check_box(:terms)
38
- expected = <<-HTML
39
- <fieldset class="form-group row">
40
- <div class="col-sm-10 offset-sm-2">
41
- <div class="form-check">
42
- <input name="user[terms]" type="hidden" value="0"/>
43
- <input class="form-check-input" id="user_terms" name="user[terms]" type="checkbox" value="1"/>
44
- <label class="form-check-label" for="user_terms">Terms</label>
45
- </div>
46
- </div>
47
- </fieldset>
48
- HTML
49
- assert_xml_equal expected, actual
50
- end
51
-
52
- def test_collection_radio_buttons
53
- actual = @builder.collection_radio_buttons(:test, %w[a b], :to_s, :titleize)
54
- expected = <<-HTML
55
- <fieldset class="form-group">
56
- <div class="row">
57
- <legend class="col-form-label pt-0 col-sm-2 text-sm-right">Test</legend>
58
- <div class="col-sm-10">
59
- <div class="form-check">
60
- <input class="form-check-input" id="user_test_a" name="user[test]" type="radio" value="a"/>
61
- <label class="form-check-label" for="user_test_a">A</label>
62
- </div>
63
- <div class="form-check">
64
- <input class="form-check-input" id="user_test_b" name="user[test]" type="radio" value="b"/>
65
- <label class="form-check-label" for="user_test_b">B</label>
66
- </div>
67
- </div>
68
- </div>
69
- </fieldset>
70
- HTML
71
- assert_xml_equal expected, actual
72
- end
73
-
74
- def test_collection_check_boxes_with_no_label
75
- actual = @builder.collection_check_boxes(:test, %w[a b], :to_s, :titleize, bootstrap: { label: { hide: true } })
76
- expected = <<-HTML
77
- <input id="user_test" multiple="multiple" name="user[test][]" type="hidden" value=""/>
78
- <fieldset class="form-group">
79
- <div class="row">
80
- <div class="col-sm-10 offset-sm-2">
81
- <div class="form-check">
82
- <input class="form-check-input" id="user_test_a" name="user[test][]" type="checkbox" value="a"/>
83
- <label class="form-check-label" for="user_test_a">A</label>
84
- </div>
85
- <div class="form-check">
86
- <input class="form-check-input" id="user_test_b" name="user[test][]" type="checkbox" value="b"/>
87
- <label class="form-check-label" for="user_test_b">B</label>
88
- </div>
89
- </div>
90
- </div>
91
- </fieldset>
92
- HTML
93
- assert_xml_equal expected, actual
94
- end
95
-
96
- def test_submit
97
- actual = @builder.submit
98
- expected = <<-HTML
99
- <div class="form-group row">
100
- <div class="col-sm-10 offset-sm-2">
101
- <input class="btn" data-disable-with="Create User" name="commit" type="submit" value="Create User"/>
102
- </div>
103
- </div>
104
- HTML
105
- assert_xml_equal expected, actual
106
- end
107
-
108
- def test_input_group_with_options
109
- options = { bootstrap: {
110
- prepend: "prepend",
111
- append: "append",
112
- help: "help me"
113
- } }
114
- actual = @builder.text_field(:test, options)
115
- expected = <<-HTML
116
- <div class="form-group row">
117
- <label class="col-form-label col-sm-2 text-sm-right" for="user_test">Test</label>
118
- <div class="col-sm-10">
119
- <div class="input-group">
120
- <div class="input-group-prepend">
121
- <span class="input-group-text">prepend</span>
122
- </div>
123
- <input class="form-control" id="user_test" name="user[test]" type="text"/>
124
- <div class="input-group-append">
125
- <span class="input-group-text">append</span>
126
- </div>
127
- </div>
128
- <small class="form-text text-muted">help me</small>
129
- </div>
130
- </div>
131
- HTML
132
- assert_xml_equal expected, actual
133
- end
134
-
135
- def test_form_group
136
- actual = @builder.form_group do
137
- "test"
138
- end
139
- expected = <<-HTML
140
- <div class="form-group row">
141
- <div class="col-sm-10 offset-sm-2">test</div>
142
- </div>
143
- HTML
144
- assert_xml_equal expected, actual
145
- end
146
-
147
- def test_form_group_with_label
148
- actual = @builder.form_group(bootstrap: { label: { text: "Test" } }) do
149
- "test"
150
- end
151
- expected = <<-HTML
152
- <div class="form-group row">
153
- <label class="col-form-label col-sm-2 text-sm-right">Test</label>
154
- <div class="col-sm-10">test</div>
155
- </div>
156
- HTML
157
- assert_xml_equal expected, actual
158
- end
159
-
160
- end
@@ -1,68 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class InlineFormTest < ActionView::TestCase
4
-
5
- setup do
6
- @user = User.new
7
- @builder = BootstrapForm::FormBuilder.new(:user, @user, self, bootstrap: { layout: :inline })
8
- end
9
-
10
- def test_text_field
11
- actual = @builder.text_field(:email)
12
- expected = <<-HTML
13
- <div class="form-group mr-sm-2">
14
- <label class="mr-sm-2" for="user_email">Email</label>
15
- <input class="form-control" id="user_email" name="user[email]" type="text"/>
16
- </div>
17
- HTML
18
- assert_xml_equal expected, actual
19
- end
20
-
21
- def test_check_box
22
- actual = @builder.check_box(:terms)
23
- expected = <<-HTML
24
- <fieldset class="form-group mr-sm-2">
25
- <div class="form-check">
26
- <input name="user[terms]" type="hidden" value="0"/>
27
- <input class="form-check-input" id="user_terms" name="user[terms]" type="checkbox" value="1"/>
28
- <label class="form-check-label" for="user_terms">Terms</label>
29
- </div>
30
- </fieldset>
31
- HTML
32
- assert_xml_equal expected, actual
33
- end
34
-
35
- def test_submit
36
- actual = @builder.submit
37
- expected = <<-HTML
38
- <div class="form-group">
39
- <input class="btn" data-disable-with="Create User" name="commit" type="submit" value="Create User"/>
40
- </div>
41
- HTML
42
- assert_xml_equal expected, actual
43
- end
44
-
45
- def test_form_group
46
- actual = @builder.form_group do
47
- "test"
48
- end
49
- expected = <<-HTML
50
- <div class="form-group mr-sm-2">test</div>
51
- HTML
52
- assert_xml_equal expected, actual
53
- end
54
-
55
- def test_form_group_with_label
56
- actual = @builder.form_group(bootstrap: { label: { text: "Test" } }) do
57
- "test"
58
- end
59
- expected = <<-HTML
60
- <div class="form-group mr-sm-2">
61
- <label class="mr-sm-2">Test</label>
62
- test
63
- </div>
64
- HTML
65
- assert_xml_equal expected, actual
66
- end
67
-
68
- end
@@ -1,56 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class InputGroupTest < ActionView::TestCase
4
-
5
- setup do
6
- @user = User.new
7
- @builder = BootstrapForm::FormBuilder.new(:user, @user, self, {})
8
- end
9
-
10
- def test_input_group
11
- options = { bootstrap: {
12
- prepend: "prepend",
13
- append: "append"
14
- } }
15
- actual = @builder.text_field(:test, options)
16
- expected = <<-HTML
17
- <div class="form-group">
18
- <label for="user_test">Test</label>
19
- <div class="input-group">
20
- <div class="input-group-prepend">
21
- <span class="input-group-text">prepend</span>
22
- </div>
23
- <input class="form-control" id="user_test" name="user[test]" type="text"/>
24
- <div class="input-group-append">
25
- <span class="input-group-text">append</span>
26
- </div>
27
- </div>
28
- </div>
29
- HTML
30
- assert_xml_equal expected, actual
31
- end
32
-
33
- def test_input_group_with_html
34
- options = { bootstrap: {
35
- prepend: { html: "<button>Go</button>".html_safe },
36
- append: { html: "<button>Stop</button>".html_safe }
37
- } }
38
- actual = @builder.text_field(:test, options)
39
- expected = <<-HTML
40
- <div class="form-group">
41
- <label for="user_test">Test</label>
42
- <div class="input-group">
43
- <div class="input-group-prepend">
44
- <button>Go</button>
45
- </div>
46
- <input class="form-control" id="user_test" name="user[test]" type="text"/>
47
- <div class="input-group-append">
48
- <button>Stop</button>
49
- </div>
50
- </div>
51
- </div>
52
- HTML
53
- assert_xml_equal expected, actual
54
- end
55
-
56
- end
@@ -1,207 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class RadiosAndCheckboxessTest < ActionView::TestCase
4
-
5
- setup do
6
- @user = User.new
7
- @builder = BootstrapForm::FormBuilder.new(:user, @user, self, {})
8
- end
9
-
10
- def test_checkbox
11
- actual = @builder.check_box(:test)
12
- expected = <<-HTML
13
- <fieldset class="form-group">
14
- <div class="form-check">
15
- <input name="user[test]" type="hidden" value="0"/>
16
- <input class="form-check-input" id="user_test" name="user[test]" type="checkbox" value="1"/>
17
- <label class="form-check-label" for="user_test">Test</label>
18
- </div>
19
- </fieldset>
20
- HTML
21
- assert_xml_equal expected, actual
22
- end
23
-
24
- def test_checkbox_with_label
25
- actual = @builder.check_box(:test, bootstrap: { label: { text: "Custom" } })
26
- expected = <<-HTML
27
- <fieldset class="form-group">
28
- <div class="form-check">
29
- <input name="user[test]" type="hidden" value="0"/>
30
- <input class="form-check-input" id="user_test" name="user[test]" type="checkbox" value="1"/>
31
- <label class="form-check-label" for="user_test">Custom</label>
32
- </div>
33
- </fieldset>
34
- HTML
35
- assert_xml_equal expected, actual
36
- end
37
-
38
- def test_checkbox_with_help
39
- actual = @builder.check_box(:test, bootstrap: { help: "help me" })
40
- expected = <<-HTML
41
- <fieldset class="form-group">
42
- <div class="form-check">
43
- <input name="user[test]" type="hidden" value="0"/>
44
- <input class="form-check-input" id="user_test" name="user[test]" type="checkbox" value="1"/>
45
- <label class="form-check-label" for="user_test">Test</label>
46
- <small class="form-text text-muted">help me</small>
47
- </div>
48
- </fieldset>
49
- HTML
50
- assert_xml_equal expected, actual
51
- end
52
-
53
- def test_collection_check_boxes
54
- actual = @builder.collection_check_boxes(:test, %w[a b], :to_s, :titleize)
55
- expected = <<-HTML
56
- <input id="user_test" multiple="multiple" name="user[test][]" type="hidden" value=""/>
57
- <fieldset class="form-group">
58
- <legend class="col-form-label pt-0">Test</legend>
59
- <div class="form-check">
60
- <input class="form-check-input" id="user_test_a" name="user[test][]" type="checkbox" value="a"/>
61
- <label class="form-check-label" for="user_test_a">A</label>
62
- </div>
63
- <div class="form-check">
64
- <input class="form-check-input" id="user_test_b" name="user[test][]" type="checkbox" value="b"/>
65
- <label class="form-check-label" for="user_test_b">B</label>
66
- </div>
67
- </fieldset>
68
- HTML
69
- assert_xml_equal expected, actual
70
- end
71
-
72
- def test_collection_checkboxes_without_hidden_field
73
- actual = @builder.collection_check_boxes(:test, %w[a b], :to_s, :titleize, include_hidden: false)
74
- expected = <<-HTML
75
- <fieldset class="form-group">
76
- <legend class="col-form-label pt-0">Test</legend>
77
- <div class="form-check">
78
- <input class="form-check-input" id="user_test_a" name="user[test][]" type="checkbox" value="a"/>
79
- <label class="form-check-label" for="user_test_a">A</label>
80
- </div>
81
- <div class="form-check">
82
- <input class="form-check-input" id="user_test_b" name="user[test][]" type="checkbox" value="b"/>
83
- <label class="form-check-label" for="user_test_b">B</label>
84
- </div>
85
- </fieldset>
86
- HTML
87
- assert_xml_equal expected, actual
88
- end
89
-
90
- def test_radio_buttons
91
- actual = @builder.collection_radio_buttons(:test, %w[a b], :to_s, :titleize)
92
- expected = <<-HTML
93
- <fieldset class="form-group">
94
- <legend class="col-form-label pt-0">Test</legend>
95
- <div class="form-check">
96
- <input class="form-check-input" id="user_test_a" name="user[test]" type="radio" value="a"/>
97
- <label class="form-check-label" for="user_test_a">A</label>
98
- </div>
99
- <div class="form-check">
100
- <input class="form-check-input" id="user_test_b" name="user[test]" type="radio" value="b"/>
101
- <label class="form-check-label" for="user_test_b">B</label>
102
- </div>
103
- </fieldset>
104
- HTML
105
- assert_xml_equal expected, actual
106
- end
107
-
108
- def test_radio_buttons_inline
109
- options = { bootstrap: { check_inline: true } }
110
- actual = @builder.collection_radio_buttons(:test, %w[a b], :to_s, :titleize, options)
111
- expected = <<-HTML
112
- <fieldset class="form-group">
113
- <legend class="col-form-label pt-0">Test</legend>
114
- <div class="form-check form-check-inline">
115
- <input class="form-check-input" id="user_test_a" name="user[test]" type="radio" value="a"/>
116
- <label class="form-check-label" for="user_test_a">A</label>
117
- </div>
118
- <div class="form-check form-check-inline">
119
- <input class="form-check-input" id="user_test_b" name="user[test]" type="radio" value="b"/>
120
- <label class="form-check-label" for="user_test_b">B</label>
121
- </div>
122
- </fieldset>
123
- HTML
124
- assert_xml_equal expected, actual
125
- end
126
-
127
- def test_radio_buttons_custom_label
128
- options = { bootstrap: { label: { text: "Custom" } } }
129
- actual = @builder.collection_radio_buttons(:test, %w[a b], :to_s, :titleize, options)
130
- expected = <<-HTML
131
- <fieldset class="form-group">
132
- <legend class="col-form-label pt-0">Custom</legend>
133
- <div class="form-check">
134
- <input class="form-check-input" id="user_test_a" name="user[test]" type="radio" value="a"/>
135
- <label class="form-check-label" for="user_test_a">A</label>
136
- </div>
137
- <div class="form-check">
138
- <input class="form-check-input" id="user_test_b" name="user[test]" type="radio" value="b"/>
139
- <label class="form-check-label" for="user_test_b">B</label>
140
- </div>
141
- </fieldset>
142
- HTML
143
- assert_xml_equal expected, actual
144
- end
145
-
146
- def test_radio_buttons_no_label
147
- options = { bootstrap: { label: { hide: true } } }
148
- actual = @builder.collection_radio_buttons(:test, %w[a b], :to_s, :titleize, options)
149
- expected = <<-HTML
150
- <fieldset class="form-group">
151
- <div class="form-check">
152
- <input class="form-check-input" id="user_test_a" name="user[test]" type="radio" value="a"/>
153
- <label class="form-check-label" for="user_test_a">A</label>
154
- </div>
155
- <div class="form-check">
156
- <input class="form-check-input" id="user_test_b" name="user[test]" type="radio" value="b"/>
157
- <label class="form-check-label" for="user_test_b">B</label>
158
- </div>
159
- </fieldset>
160
- HTML
161
- assert_xml_equal expected, actual
162
- end
163
-
164
- def test_radio_buttons_with_help
165
- options = { bootstrap: { help: "help me" } }
166
- actual = @builder.collection_radio_buttons(:test, %w[a b], :to_s, :titleize, options)
167
- expected = <<-HTML
168
- <fieldset class="form-group">
169
- <legend class="col-form-label pt-0">Test</legend>
170
- <div class="form-check">
171
- <input class="form-check-input" id="user_test_a" name="user[test]" type="radio" value="a"/>
172
- <label class="form-check-label" for="user_test_a">A</label>
173
- </div>
174
- <div class="form-check">
175
- <input class="form-check-input" id="user_test_b" name="user[test]" type="radio" value="b"/>
176
- <label class="form-check-label" for="user_test_b">B</label>
177
- <small class="form-text text-muted">help me</small>
178
- </div>
179
- </fieldset>
180
- HTML
181
- assert_xml_equal expected, actual
182
- end
183
-
184
- def test_radio_buttons_with_inline_help
185
- options = { bootstrap: {
186
- check_inline: true,
187
- help: "help me"
188
- } }
189
- actual = @builder.collection_radio_buttons(:test, %w[a b], :to_s, :titleize, options)
190
- expected = <<-HTML
191
- <fieldset class="form-group">
192
- <legend class="col-form-label pt-0">Test</legend>
193
- <div class="form-check form-check-inline">
194
- <input class="form-check-input" id="user_test_a" name="user[test]" type="radio" value="a"/>
195
- <label class="form-check-label" for="user_test_a">A</label>
196
- </div>
197
- <div class="form-check form-check-inline">
198
- <input class="form-check-input" id="user_test_b" name="user[test]" type="radio" value="b"/>
199
- <label class="form-check-label" for="user_test_b">B</label>
200
- </div>
201
- <small class="form-text text-muted">help me</small>
202
- </fieldset>
203
- HTML
204
- assert_xml_equal expected, actual
205
- end
206
-
207
- end