mega-safe-tool 0.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 (171) hide show
  1. checksums.yaml +7 -0
  2. data/formtastic-6.0.0/Appraisals +23 -0
  3. data/formtastic-6.0.0/CONTRIBUTING.md +27 -0
  4. data/formtastic-6.0.0/Gemfile +8 -0
  5. data/formtastic-6.0.0/MIT-LICENSE +20 -0
  6. data/formtastic-6.0.0/README.md +600 -0
  7. data/formtastic-6.0.0/RELEASE_PROCESS +7 -0
  8. data/formtastic-6.0.0/Rakefile +54 -0
  9. data/formtastic-6.0.0/bin/appraisal +8 -0
  10. data/formtastic-6.0.0/formtastic.gemspec +45 -0
  11. data/formtastic-6.0.0/gemfiles/rails_72.gemfile +9 -0
  12. data/formtastic-6.0.0/gemfiles/rails_80.gemfile +9 -0
  13. data/formtastic-6.0.0/gemfiles/rails_81.gemfile +9 -0
  14. data/formtastic-6.0.0/gemfiles/rails_edge.gemfile +9 -0
  15. data/formtastic-6.0.0/lib/formtastic/action_class_finder.rb +19 -0
  16. data/formtastic-6.0.0/lib/formtastic/actions/base.rb +157 -0
  17. data/formtastic-6.0.0/lib/formtastic/actions/button_action.rb +68 -0
  18. data/formtastic-6.0.0/lib/formtastic/actions/buttonish.rb +18 -0
  19. data/formtastic-6.0.0/lib/formtastic/actions/input_action.rb +71 -0
  20. data/formtastic-6.0.0/lib/formtastic/actions/link_action.rb +89 -0
  21. data/formtastic-6.0.0/lib/formtastic/actions.rb +15 -0
  22. data/formtastic-6.0.0/lib/formtastic/deprecation.rb +6 -0
  23. data/formtastic-6.0.0/lib/formtastic/form_builder.rb +109 -0
  24. data/formtastic-6.0.0/lib/formtastic/helpers/action_helper.rb +115 -0
  25. data/formtastic-6.0.0/lib/formtastic/helpers/actions_helper.rb +169 -0
  26. data/formtastic-6.0.0/lib/formtastic/helpers/enum.rb +14 -0
  27. data/formtastic-6.0.0/lib/formtastic/helpers/errors_helper.rb +139 -0
  28. data/formtastic-6.0.0/lib/formtastic/helpers/fieldset_wrapper.rb +85 -0
  29. data/formtastic-6.0.0/lib/formtastic/helpers/file_column_detection.rb +17 -0
  30. data/formtastic-6.0.0/lib/formtastic/helpers/form_helper.rb +204 -0
  31. data/formtastic-6.0.0/lib/formtastic/helpers/input_helper.rb +349 -0
  32. data/formtastic-6.0.0/lib/formtastic/helpers/inputs_helper.rb +421 -0
  33. data/formtastic-6.0.0/lib/formtastic/helpers/reflection.rb +38 -0
  34. data/formtastic-6.0.0/lib/formtastic/helpers.rb +16 -0
  35. data/formtastic-6.0.0/lib/formtastic/html_attributes.rb +33 -0
  36. data/formtastic-6.0.0/lib/formtastic/i18n.rb +33 -0
  37. data/formtastic-6.0.0/lib/formtastic/input_class_finder.rb +19 -0
  38. data/formtastic-6.0.0/lib/formtastic/inputs/base/aria.rb +26 -0
  39. data/formtastic-6.0.0/lib/formtastic/inputs/base/associations.rb +32 -0
  40. data/formtastic-6.0.0/lib/formtastic/inputs/base/choices.rb +109 -0
  41. data/formtastic-6.0.0/lib/formtastic/inputs/base/collections.rb +158 -0
  42. data/formtastic-6.0.0/lib/formtastic/inputs/base/database.rb +20 -0
  43. data/formtastic-6.0.0/lib/formtastic/inputs/base/datetime_pickerish.rb +86 -0
  44. data/formtastic-6.0.0/lib/formtastic/inputs/base/errors.rb +59 -0
  45. data/formtastic-6.0.0/lib/formtastic/inputs/base/fileish.rb +24 -0
  46. data/formtastic-6.0.0/lib/formtastic/inputs/base/hints.rb +32 -0
  47. data/formtastic-6.0.0/lib/formtastic/inputs/base/html.rb +54 -0
  48. data/formtastic-6.0.0/lib/formtastic/inputs/base/labelling.rb +53 -0
  49. data/formtastic-6.0.0/lib/formtastic/inputs/base/naming.rb +43 -0
  50. data/formtastic-6.0.0/lib/formtastic/inputs/base/numeric.rb +51 -0
  51. data/formtastic-6.0.0/lib/formtastic/inputs/base/options.rb +18 -0
  52. data/formtastic-6.0.0/lib/formtastic/inputs/base/placeholder.rb +18 -0
  53. data/formtastic-6.0.0/lib/formtastic/inputs/base/stringish.rb +39 -0
  54. data/formtastic-6.0.0/lib/formtastic/inputs/base/timeish.rb +246 -0
  55. data/formtastic-6.0.0/lib/formtastic/inputs/base/validations.rb +250 -0
  56. data/formtastic-6.0.0/lib/formtastic/inputs/base/wrapping.rb +51 -0
  57. data/formtastic-6.0.0/lib/formtastic/inputs/base.rb +79 -0
  58. data/formtastic-6.0.0/lib/formtastic/inputs/boolean_input.rb +119 -0
  59. data/formtastic-6.0.0/lib/formtastic/inputs/check_boxes_input.rb +198 -0
  60. data/formtastic-6.0.0/lib/formtastic/inputs/color_input.rb +42 -0
  61. data/formtastic-6.0.0/lib/formtastic/inputs/country_input.rb +90 -0
  62. data/formtastic-6.0.0/lib/formtastic/inputs/datalist_input.rb +42 -0
  63. data/formtastic-6.0.0/lib/formtastic/inputs/date_picker_input.rb +94 -0
  64. data/formtastic-6.0.0/lib/formtastic/inputs/date_select_input.rb +35 -0
  65. data/formtastic-6.0.0/lib/formtastic/inputs/datetime_picker_input.rb +104 -0
  66. data/formtastic-6.0.0/lib/formtastic/inputs/datetime_select_input.rb +13 -0
  67. data/formtastic-6.0.0/lib/formtastic/inputs/email_input.rb +42 -0
  68. data/formtastic-6.0.0/lib/formtastic/inputs/file_input.rb +43 -0
  69. data/formtastic-6.0.0/lib/formtastic/inputs/hidden_input.rb +63 -0
  70. data/formtastic-6.0.0/lib/formtastic/inputs/number_input.rb +89 -0
  71. data/formtastic-6.0.0/lib/formtastic/inputs/password_input.rb +42 -0
  72. data/formtastic-6.0.0/lib/formtastic/inputs/phone_input.rb +43 -0
  73. data/formtastic-6.0.0/lib/formtastic/inputs/radio_input.rb +164 -0
  74. data/formtastic-6.0.0/lib/formtastic/inputs/range_input.rb +96 -0
  75. data/formtastic-6.0.0/lib/formtastic/inputs/search_input.rb +42 -0
  76. data/formtastic-6.0.0/lib/formtastic/inputs/select_input.rb +236 -0
  77. data/formtastic-6.0.0/lib/formtastic/inputs/string_input.rb +37 -0
  78. data/formtastic-6.0.0/lib/formtastic/inputs/text_input.rb +49 -0
  79. data/formtastic-6.0.0/lib/formtastic/inputs/time_picker_input.rb +100 -0
  80. data/formtastic-6.0.0/lib/formtastic/inputs/time_select_input.rb +39 -0
  81. data/formtastic-6.0.0/lib/formtastic/inputs/time_zone_input.rb +59 -0
  82. data/formtastic-6.0.0/lib/formtastic/inputs/url_input.rb +42 -0
  83. data/formtastic-6.0.0/lib/formtastic/inputs.rb +43 -0
  84. data/formtastic-6.0.0/lib/formtastic/localized_string.rb +18 -0
  85. data/formtastic-6.0.0/lib/formtastic/localizer.rb +151 -0
  86. data/formtastic-6.0.0/lib/formtastic/namespaced_class_finder.rb +98 -0
  87. data/formtastic-6.0.0/lib/formtastic/version.rb +4 -0
  88. data/formtastic-6.0.0/lib/formtastic.rb +48 -0
  89. data/formtastic-6.0.0/lib/generators/formtastic/form/form_generator.rb +111 -0
  90. data/formtastic-6.0.0/lib/generators/formtastic/input/input_generator.rb +47 -0
  91. data/formtastic-6.0.0/lib/generators/formtastic/install/install_generator.rb +23 -0
  92. data/formtastic-6.0.0/lib/generators/formtastic/stylesheets/stylesheets_generator.rb +15 -0
  93. data/formtastic-6.0.0/lib/generators/templates/_form.html.erb +11 -0
  94. data/formtastic-6.0.0/lib/generators/templates/_form.html.haml +8 -0
  95. data/formtastic-6.0.0/lib/generators/templates/_form.html.slim +8 -0
  96. data/formtastic-6.0.0/lib/generators/templates/formtastic.css +289 -0
  97. data/formtastic-6.0.0/lib/generators/templates/formtastic.rb +118 -0
  98. data/formtastic-6.0.0/lib/generators/templates/input.rb +19 -0
  99. data/formtastic-6.0.0/lib/locale/en.yml +10 -0
  100. data/formtastic-6.0.0/sample/basic_inputs.html +224 -0
  101. data/formtastic-6.0.0/sample/config.ru +69 -0
  102. data/formtastic-6.0.0/sample/index.html +14 -0
  103. data/formtastic-6.0.0/script/integration-template.rb +76 -0
  104. data/formtastic-6.0.0/script/integration.sh +32 -0
  105. data/formtastic-6.0.0/spec/action_class_finder_spec.rb +12 -0
  106. data/formtastic-6.0.0/spec/actions/button_action_spec.rb +63 -0
  107. data/formtastic-6.0.0/spec/actions/generic_action_spec.rb +521 -0
  108. data/formtastic-6.0.0/spec/actions/input_action_spec.rb +59 -0
  109. data/formtastic-6.0.0/spec/actions/link_action_spec.rb +92 -0
  110. data/formtastic-6.0.0/spec/builder/custom_builder_spec.rb +132 -0
  111. data/formtastic-6.0.0/spec/builder/error_proc_spec.rb +27 -0
  112. data/formtastic-6.0.0/spec/builder/semantic_fields_for_spec.rb +213 -0
  113. data/formtastic-6.0.0/spec/fast_spec_helper.rb +12 -0
  114. data/formtastic-6.0.0/spec/generators/formtastic/form/form_generator_spec.rb +132 -0
  115. data/formtastic-6.0.0/spec/generators/formtastic/input/input_generator_spec.rb +125 -0
  116. data/formtastic-6.0.0/spec/generators/formtastic/install/install_generator_spec.rb +48 -0
  117. data/formtastic-6.0.0/spec/generators/formtastic/stylesheets/stylesheets_generator_spec.rb +22 -0
  118. data/formtastic-6.0.0/spec/helpers/action_helper_spec.rb +338 -0
  119. data/formtastic-6.0.0/spec/helpers/actions_helper_spec.rb +143 -0
  120. data/formtastic-6.0.0/spec/helpers/form_helper_spec.rb +224 -0
  121. data/formtastic-6.0.0/spec/helpers/input_helper_spec.rb +991 -0
  122. data/formtastic-6.0.0/spec/helpers/inputs_helper_spec.rb +669 -0
  123. data/formtastic-6.0.0/spec/helpers/reflection_helper_spec.rb +32 -0
  124. data/formtastic-6.0.0/spec/helpers/semantic_errors_helper_spec.rb +220 -0
  125. data/formtastic-6.0.0/spec/i18n_spec.rb +210 -0
  126. data/formtastic-6.0.0/spec/input_class_finder_spec.rb +10 -0
  127. data/formtastic-6.0.0/spec/inputs/base/collections_spec.rb +119 -0
  128. data/formtastic-6.0.0/spec/inputs/base/validations_spec.rb +481 -0
  129. data/formtastic-6.0.0/spec/inputs/boolean_input_spec.rb +254 -0
  130. data/formtastic-6.0.0/spec/inputs/check_boxes_input_spec.rb +547 -0
  131. data/formtastic-6.0.0/spec/inputs/color_input_spec.rb +85 -0
  132. data/formtastic-6.0.0/spec/inputs/country_input_spec.rb +133 -0
  133. data/formtastic-6.0.0/spec/inputs/custom_input_spec.rb +51 -0
  134. data/formtastic-6.0.0/spec/inputs/datalist_input_spec.rb +61 -0
  135. data/formtastic-6.0.0/spec/inputs/date_picker_input_spec.rb +449 -0
  136. data/formtastic-6.0.0/spec/inputs/date_select_input_spec.rb +249 -0
  137. data/formtastic-6.0.0/spec/inputs/datetime_picker_input_spec.rb +490 -0
  138. data/formtastic-6.0.0/spec/inputs/datetime_select_input_spec.rb +209 -0
  139. data/formtastic-6.0.0/spec/inputs/email_input_spec.rb +85 -0
  140. data/formtastic-6.0.0/spec/inputs/file_input_spec.rb +89 -0
  141. data/formtastic-6.0.0/spec/inputs/hidden_input_spec.rb +135 -0
  142. data/formtastic-6.0.0/spec/inputs/include_blank_spec.rb +78 -0
  143. data/formtastic-6.0.0/spec/inputs/label_spec.rb +181 -0
  144. data/formtastic-6.0.0/spec/inputs/number_input_spec.rb +815 -0
  145. data/formtastic-6.0.0/spec/inputs/password_input_spec.rb +99 -0
  146. data/formtastic-6.0.0/spec/inputs/phone_input_spec.rb +85 -0
  147. data/formtastic-6.0.0/spec/inputs/placeholder_spec.rb +71 -0
  148. data/formtastic-6.0.0/spec/inputs/radio_input_spec.rb +326 -0
  149. data/formtastic-6.0.0/spec/inputs/range_input_spec.rb +505 -0
  150. data/formtastic-6.0.0/spec/inputs/readonly_spec.rb +50 -0
  151. data/formtastic-6.0.0/spec/inputs/search_input_spec.rb +84 -0
  152. data/formtastic-6.0.0/spec/inputs/select_input_spec.rb +661 -0
  153. data/formtastic-6.0.0/spec/inputs/string_input_spec.rb +326 -0
  154. data/formtastic-6.0.0/spec/inputs/text_input_spec.rb +187 -0
  155. data/formtastic-6.0.0/spec/inputs/time_picker_input_spec.rb +455 -0
  156. data/formtastic-6.0.0/spec/inputs/time_select_input_spec.rb +261 -0
  157. data/formtastic-6.0.0/spec/inputs/time_zone_input_spec.rb +143 -0
  158. data/formtastic-6.0.0/spec/inputs/url_input_spec.rb +85 -0
  159. data/formtastic-6.0.0/spec/inputs/with_options_spec.rb +43 -0
  160. data/formtastic-6.0.0/spec/localizer_spec.rb +130 -0
  161. data/formtastic-6.0.0/spec/namespaced_class_finder_spec.rb +90 -0
  162. data/formtastic-6.0.0/spec/schema.rb +22 -0
  163. data/formtastic-6.0.0/spec/spec.opts +2 -0
  164. data/formtastic-6.0.0/spec/spec_helper.rb +466 -0
  165. data/formtastic-6.0.0/spec/support/custom_macros.rb +570 -0
  166. data/formtastic-6.0.0/spec/support/deprecation.rb +7 -0
  167. data/formtastic-6.0.0/spec/support/shared_examples.rb +13 -0
  168. data/formtastic-6.0.0/spec/support/specialized_class_finder_shared_example.rb +27 -0
  169. data/formtastic-6.0.0/spec/support/test_environment.rb +46 -0
  170. data/mega-safe-tool.gemspec +11 -0
  171. metadata +209 -0
@@ -0,0 +1,224 @@
1
+ # frozen_string_literal: true
2
+ require 'spec_helper'
3
+
4
+ RSpec.describe 'FormHelper' do
5
+
6
+ include FormtasticSpecHelper
7
+
8
+ before do
9
+ @output_buffer = ActionView::OutputBuffer.new ''
10
+ mock_everything
11
+ end
12
+
13
+ describe '#semantic_form_for' do
14
+
15
+ it 'yields an instance of Formtastic::FormBuilder' do
16
+ semantic_form_for(@new_post, :url => '/hello') do |builder|
17
+ expect(builder.class).to eq(Formtastic::FormBuilder)
18
+ end
19
+ end
20
+
21
+ it 'adds a class of "formtastic" to the generated form' do
22
+ concat(semantic_form_for(@new_post, :url => '/hello') do |builder|
23
+ end)
24
+ expect(output_buffer.to_str).to have_tag("form.formtastic")
25
+ end
26
+
27
+ it 'does not add "novalidate" attribute to the generated form when configured to do so' do
28
+ with_config :perform_browser_validations, true do
29
+ concat(semantic_form_for(@new_post, :url => '/hello') do |builder|
30
+ end)
31
+ expect(output_buffer.to_str).not_to have_tag("form[@novalidate]")
32
+ end
33
+ end
34
+
35
+ it 'adds "novalidate" attribute to the generated form when configured to do so' do
36
+ with_config :perform_browser_validations, false do
37
+ concat(semantic_form_for(@new_post, :url => '/hello') do |builder|
38
+ end)
39
+ expect(output_buffer.to_str).to have_tag("form[@novalidate]")
40
+ end
41
+ end
42
+
43
+ it 'allows form HTML to override "novalidate" attribute when configured to validate' do
44
+ with_config :perform_browser_validations, false do
45
+ concat(semantic_form_for(@new_post, :url => '/hello', :html => { :novalidate => true }) do |builder|
46
+ end)
47
+ expect(output_buffer.to_str).to have_tag("form[@novalidate]")
48
+ end
49
+ end
50
+
51
+ it 'allows form HTML to override "novalidate" attribute when configured to not validate' do
52
+ with_config :perform_browser_validations, true do
53
+ concat(semantic_form_for(@new_post, :url => '/hello', :html => { :novalidate => false }) do |builder|
54
+ end)
55
+ expect(output_buffer.to_str).not_to have_tag("form[@novalidate]")
56
+ end
57
+ end
58
+
59
+ it 'adds a class of "xyz" to the generated form' do
60
+ Formtastic::Helpers::FormHelper.default_form_class = 'xyz'
61
+ concat(semantic_form_for(::Post.new, :as => :post, :url => '/hello') do |builder|
62
+ end)
63
+ expect(output_buffer.to_str).to have_tag("form.xyz")
64
+ end
65
+
66
+ it 'omits the leading spaces from the classes in the generated form when the default class is nil' do
67
+ Formtastic::Helpers::FormHelper.default_form_class = nil
68
+ concat(semantic_form_for(::Post.new, :as => :post, :url => '/hello') do |builder|
69
+ end)
70
+ expect(output_buffer.to_str).to have_tag("form[class='post']")
71
+ end
72
+
73
+ it 'adds class matching the object name to the generated form when a symbol is provided' do
74
+ concat(semantic_form_for(@new_post, :url => '/hello') do |builder|
75
+ end)
76
+ expect(output_buffer.to_str).to have_tag("form.post")
77
+
78
+ concat(semantic_form_for(:project, :url => '/hello') do |builder|
79
+ end)
80
+ expect(output_buffer.to_str).to have_tag("form.project")
81
+ end
82
+
83
+ it 'adds class matching the :as option when provided' do
84
+ concat(semantic_form_for(@new_post, :as => :message, :url => '/hello') do |builder|
85
+ end)
86
+ expect(output_buffer.to_str).to have_tag("form.message")
87
+
88
+ concat(semantic_form_for([:admins, @new_post], :as => :message, :url => '/hello') do |builder|
89
+ end)
90
+ expect(output_buffer.to_str).to have_tag("form.message")
91
+ end
92
+
93
+ it 'adds class matching the object\'s class to the generated form when an object is provided' do
94
+ concat(semantic_form_for(@new_post) do |builder|
95
+ end)
96
+ expect(output_buffer.to_str).to have_tag("form.post")
97
+ end
98
+
99
+ it 'adds a namespaced class to the generated form' do
100
+ concat(semantic_form_for(::Namespaced::Post.new, :url => '/hello') do |builder|
101
+ end)
102
+ expect(output_buffer.to_str).to have_tag("form.namespaced_post")
103
+ end
104
+
105
+ it 'adds a customized class to the generated form' do
106
+ Formtastic::Helpers::FormHelper.default_form_model_class_proc = lambda { |model_class_name| "#{model_class_name}_form" }
107
+ concat(semantic_form_for(@new_post, :url => '/hello') do |builder|
108
+ end)
109
+ expect(output_buffer.to_str).to have_tag("form.post_form")
110
+
111
+ concat(semantic_form_for(:project, :url => '/hello') do |builder|
112
+ end)
113
+ expect(output_buffer.to_str).to have_tag("form.project_form")
114
+ end
115
+
116
+ describe 'allows :html options' do
117
+ before(:example) do
118
+ concat(semantic_form_for(@new_post, :url => '/hello', :html => { :id => "something-special", :class => "something-extra", :multipart => true }) do |builder|
119
+ end)
120
+ end
121
+
122
+ it 'to add a id of "something-special" to generated form' do
123
+ expect(output_buffer.to_str).to have_tag("form#something-special")
124
+ end
125
+
126
+ it 'to add a class of "something-extra" to generated form' do
127
+ expect(output_buffer.to_str).to have_tag("form.something-extra")
128
+ end
129
+
130
+ it 'to add enctype="multipart/form-data"' do
131
+ expect(output_buffer.to_str).to have_tag('form[@enctype="multipart/form-data"]')
132
+ end
133
+ end
134
+
135
+ it 'can be called with a resource-oriented style' do
136
+ semantic_form_for(@new_post) do |builder|
137
+ expect(builder.object.class).to eq(::Post)
138
+ expect(builder.object_name).to eq("post")
139
+ end
140
+ end
141
+
142
+ it 'can be called with a generic style and instance variable' do
143
+ semantic_form_for(@new_post, :as => :post, :url => new_post_path) do |builder|
144
+ expect(builder.object.class).to eq(::Post)
145
+ expect(builder.object_name.to_s).to eq("post") # TODO: is this forced .to_s a bad assumption somewhere?
146
+ end
147
+ end
148
+
149
+ it 'can be called with a generic style and inline object' do
150
+ semantic_form_for(@new_post, :url => new_post_path) do |builder|
151
+ expect(builder.object.class).to eq(::Post)
152
+ expect(builder.object_name.to_s).to eq("post") # TODO: is this forced .to_s a bad assumption somewhere?
153
+ end
154
+ end
155
+
156
+ describe 'ActionView::Base.field_error_proc' do
157
+ around do |ex|
158
+ error_proc = Formtastic::Helpers::FormHelper.formtastic_field_error_proc
159
+ ex.run
160
+ Formtastic::Helpers::FormHelper.formtastic_field_error_proc = error_proc
161
+ end
162
+
163
+ it 'is set to no-op wrapper by default' do
164
+ semantic_form_for(@new_post, :url => '/hello') do |builder|
165
+ expect(::ActionView::Base.field_error_proc.call("html", nil)).to eq("html")
166
+ end
167
+ end
168
+
169
+ it 'is set to the configured custom field_error_proc' do
170
+ field_error_proc = double()
171
+ Formtastic::Helpers::FormHelper.formtastic_field_error_proc = field_error_proc
172
+ semantic_form_for(@new_post, :url => '/hello') do |builder|
173
+ expect(::ActionView::Base.field_error_proc).to eq(field_error_proc)
174
+ end
175
+ end
176
+
177
+ it 'is restored to its original value after the form is rendered' do
178
+ expect do
179
+ Formtastic::Helpers::FormHelper.formtastic_field_error_proc = proc {""}
180
+ semantic_form_for(@new_post, :url => '/hello') { |builder| }
181
+ end.not_to change(::ActionView::Base, :field_error_proc)
182
+ end
183
+ end
184
+
185
+ describe "with :builder option" do
186
+ it "yields an instance of the given builder" do
187
+ class MyAwesomeCustomBuilder < Formtastic::FormBuilder
188
+ end
189
+ semantic_form_for(@new_post, :url => '/hello', :builder => MyAwesomeCustomBuilder) do |builder|
190
+ expect(builder.class).to eq(MyAwesomeCustomBuilder)
191
+ end
192
+ end
193
+ end
194
+
195
+ describe 'with :namespace option' do
196
+ it "should set the custom_namespace" do
197
+ semantic_form_for(@new_post, :namespace => 'context2') do |builder|
198
+ expect(builder.dom_id_namespace).to eq('context2')
199
+ end
200
+ end
201
+ end
202
+
203
+ describe 'without :namespace option' do
204
+ it 'defaults to class settings' do
205
+ expect(Formtastic::FormBuilder).to receive(:custom_namespace).and_return('context2')
206
+
207
+ semantic_form_for(@new_post) do |builder|
208
+ expect(builder.dom_id_namespace).to eq('context2')
209
+ end
210
+ end
211
+ end
212
+
213
+ end
214
+
215
+ describe '#semantic_fields_for' do
216
+ it 'yields an instance of Formtastic::FormBuilder' do
217
+ semantic_fields_for(@new_post) do |builder|
218
+ expect(builder.class).to be(Formtastic::FormBuilder)
219
+ end
220
+ end
221
+ end
222
+
223
+ end
224
+