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,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