comfy_bootstrap_form 4.0.0 → 4.0.1

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.
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,59 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class SubmitTest < ActionView::TestCase
4
-
5
- setup do
6
- @user = User.new
7
- @builder = BootstrapForm::FormBuilder.new(:user, @user, self, {})
8
- end
9
-
10
- def test_submit
11
- expected = <<-HTML
12
- <div class="form-group">
13
- <input class="btn" data-disable-with="Create User" name="commit" type="submit" value="Create User" />
14
- </div>
15
- HTML
16
- assert_xml_equal expected, @builder.submit
17
- end
18
-
19
- def test_primary
20
- expected = <<-HTML
21
- <div class="form-group">
22
- <input class="btn-primary btn" data-disable-with="Create User" name="commit" type="submit" value="Create User" />
23
- </div>
24
- HTML
25
- assert_xml_equal expected, @builder.primary
26
- end
27
-
28
- def test_submit_with_label
29
- expected = <<-HTML
30
- <div class="form-group">
31
- <input class="btn" data-disable-with="Test" name="commit" type="submit" value="Test" />
32
- </div>
33
- HTML
34
- assert_xml_equal expected, @builder.submit("Test")
35
- end
36
-
37
- def test_submit_with_css_class
38
- expected = <<-HTML
39
- <div class="form-group">
40
- <input class="custom btn" data-disable-with="Create User" name="commit" type="submit" value="Create User" />
41
- </div>
42
- HTML
43
- assert_xml_equal expected, @builder.submit(class: "custom")
44
- end
45
-
46
- def test_submit_with_block
47
- actual = @builder.submit do
48
- %(<a href="/" class="btn btn-link">Cancel</a>).html_safe
49
- end
50
- expected = <<-HTML
51
- <div class="form-group">
52
- <input class="btn" data-disable-with="Create User" name="commit" type="submit" value="Create User"/>
53
- <a href="/" class="btn btn-link">Cancel</a>
54
- </div>
55
- HTML
56
- assert_xml_equal expected, actual
57
- end
58
-
59
- end
@@ -1,99 +0,0 @@
1
- require_relative "../test_helper"
2
-
3
- class ViewHelpersTest < ActionView::TestCase
4
-
5
- include BootstrapForm::ViewHelper
6
-
7
- def test_bootstrap_form_with
8
- actual = bootstrap_form_with(url: "/test") {}
9
- expected = <<-HTML
10
- <form action="/test" accept-charset="UTF-8" data-remote="true" method="post">
11
- <input name="utf8" type="hidden" value="&#x2713;" />
12
- </form>
13
- HTML
14
- assert_xml_equal expected, actual
15
- end
16
-
17
- def test_bootstrap_form_with_and_field
18
- actual = bootstrap_form_with(url: "/test") do |form|
19
- form.text_field :value
20
- end
21
- expected = <<-HTML
22
- <form accept-charset="UTF-8" action="/test" data-remote="true" method="post">
23
- <input name="utf8" type="hidden" value="&#x2713;"/>
24
- <div class="form-group">
25
- <label for="value">Value</label>
26
- <input class="form-control" id="value" name="value" type="text"/>
27
- </div>
28
- </form>
29
- HTML
30
- assert_xml_equal expected, actual
31
- end
32
-
33
- def test_bootstrap_form_as_horizontal
34
- actual = bootstrap_form_with(url: "/test", bootstrap: { layout: :horizontal }) do |form|
35
- form.text_field :value
36
- end
37
- expected = <<-HTML
38
- <form accept-charset="UTF-8" action="/test" data-remote="true" method="post">
39
- <input name="utf8" type="hidden" value="&#x2713;"/>
40
- <div class="form-group row">
41
- <label class="col-form-label col-sm-2 text-sm-right" for="value">Value</label>
42
- <div class="col-sm-10">
43
- <input class="form-control" id="value" name="value" type="text"/>
44
- </div>
45
- </div>
46
- </form>
47
- HTML
48
- assert_xml_equal expected, actual
49
- end
50
-
51
- def test_bootstrap_form_with_inline
52
- actual = bootstrap_form_with(url: "/test", bootstrap: { layout: :inline }) do |form|
53
- form.text_field :value
54
- form.submit
55
- end
56
- expected = <<-HTML
57
- <form accept-charset="UTF-8" action="/test" class=" form-inline" data-remote="true" method="post">
58
- <input name="utf8" type="hidden" value="&#x2713;"/>
59
- <div class="form-group">
60
- <input class="btn" data-disable-with="Save " name="commit" type="submit" value="Save "/>
61
- </div>
62
- </form>
63
- HTML
64
- assert_xml_equal expected, actual
65
- end
66
-
67
- def test_bootstrap_form_with_supress_field_errors
68
- user = User.new
69
- user.errors.add(:test, "invalid")
70
- actual = bootstrap_form_with(model: user, url: "/test") do |form|
71
- form.text_field :test
72
- end
73
- expected = <<-HTML
74
- <form accept-charset="UTF-8" action="/test" data-remote="true" method="post">
75
- <input name="utf8" type="hidden" value="&#x2713;"/>
76
- <div class="form-group">
77
- <label for="user_test">Test</label>
78
- <input class="form-control is-invalid" id="user_test" name="user[test]" type="text"/>
79
- <div class="invalid-feedback">invalid</div>
80
- </div>
81
- </form>
82
- HTML
83
- assert_xml_equal expected, actual
84
- end
85
-
86
- def test_bootstrap_form_with_builder_override
87
- actual = bootstrap_form_with(url: "/test", builder: ActionView::Helpers::FormBuilder) do |form|
88
- form.text_field :value
89
- end
90
- expected = <<-HTML
91
- <form accept-charset="UTF-8" action="/test" data-remote="true" method="post">
92
- <input name="utf8" type="hidden" value="&#x2713;"/>
93
- <input id="value" name="value" type="text"/>
94
- </form>
95
- HTML
96
- assert_xml_equal expected, actual
97
- end
98
-
99
- end
@@ -1,14 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- gemspec path: "../../"
4
-
5
- gem "rails", "~> 5.2.0.rc1"
6
-
7
- group :test do
8
- gem "rubocop", "~> 0.51.0", require: false
9
- gem "minitest"
10
- gem "diffy"
11
- gem "equivalent-xml"
12
- gem "sqlite3"
13
- gem "coveralls", require: false
14
- end
data/test/test_helper.rb DELETED
@@ -1,48 +0,0 @@
1
- ENV["RAILS_ENV"] = "test"
2
-
3
- require "coveralls"
4
- Coveralls.wear!
5
-
6
- require "diffy"
7
- require "nokogiri"
8
- require "equivalent-xml"
9
-
10
- require_relative "../demo/config/environment.rb"
11
- require "rails/test_help"
12
-
13
- Rails.backtrace_cleaner.remove_silencers!
14
-
15
- class ActionView::TestCase
16
-
17
- # Expected and actual are wrapped in a root tag to ensure proper XML structure
18
- def assert_xml_equal(expected, actual)
19
- expected_xml = Nokogiri::XML("<test-xml>\n#{expected}\n</test-xml>", &:noblanks)
20
- actual_xml = Nokogiri::XML("<test-xml>\n#{actual}\n</test-xml>", &:noblanks)
21
-
22
- equivalent = EquivalentXml.equivalent?(expected_xml, actual_xml)
23
- assert equivalent, -> {
24
- # using a lambda because diffing is expensive
25
- Diffy::Diff.new(
26
- sort_attributes(expected_xml.root).to_xml(indent: 2),
27
- sort_attributes(actual_xml.root).to_xml(indent: 2)
28
- ).to_s
29
- }
30
- end
31
-
32
- private
33
-
34
- def sort_attributes(doc)
35
- return if doc.blank?
36
- doc.dup.traverse do |node|
37
- if node.is_a?(Nokogiri::XML::Element)
38
- attributes = node.attribute_nodes.sort_by(&:name)
39
- attributes.each do |attribute|
40
- node.delete(attribute.name)
41
- node[attribute.name] = attribute.value
42
- end
43
- end
44
- node
45
- end
46
- end
47
-
48
- end