formtastic-bootstrap 2.0.0 → 2.1.0
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.
- data/README.md +11 -2
- data/VERSION +1 -1
- data/vendor/assets/stylesheets/formtastic-bootstrap.css +4 -0
- metadata +51 -154
- data/.rspec +0 -1
- data/Gemfile +0 -14
- data/Gemfile.lock +0 -131
- data/Rakefile +0 -49
- data/formtastic-bootstrap.gemspec +0 -166
- data/lib/action_view/helpers/text_field_date_helper.rb +0 -166
- data/lib/formtastic-bootstrap/actions.rb +0 -10
- data/lib/formtastic-bootstrap/actions/base.rb +0 -22
- data/lib/formtastic-bootstrap/actions/button_action.rb +0 -13
- data/lib/formtastic-bootstrap/actions/input_action.rb +0 -13
- data/lib/formtastic-bootstrap/actions/link_action.rb +0 -12
- data/lib/formtastic-bootstrap/engine.rb +0 -4
- data/lib/formtastic-bootstrap/form_builder.rb +0 -40
- data/lib/formtastic-bootstrap/helpers.rb +0 -17
- data/lib/formtastic-bootstrap/helpers/action_helper.rb +0 -12
- data/lib/formtastic-bootstrap/helpers/actions_helper.rb +0 -24
- data/lib/formtastic-bootstrap/helpers/fieldset_wrapper.rb +0 -35
- data/lib/formtastic-bootstrap/helpers/input_helper.rb +0 -12
- data/lib/formtastic-bootstrap/helpers/inputs_helper.rb +0 -34
- data/lib/formtastic-bootstrap/inputs.rb +0 -36
- data/lib/formtastic-bootstrap/inputs/base.rb +0 -45
- data/lib/formtastic-bootstrap/inputs/base/choices.rb +0 -20
- data/lib/formtastic-bootstrap/inputs/base/collections.rb +0 -9
- data/lib/formtastic-bootstrap/inputs/base/errors.rb +0 -48
- data/lib/formtastic-bootstrap/inputs/base/grouped_collections.rb +0 -9
- data/lib/formtastic-bootstrap/inputs/base/hints.rb +0 -27
- data/lib/formtastic-bootstrap/inputs/base/html.rb +0 -21
- data/lib/formtastic-bootstrap/inputs/base/labelling.rb +0 -29
- data/lib/formtastic-bootstrap/inputs/base/numeric.rb +0 -9
- data/lib/formtastic-bootstrap/inputs/base/stringish.rb +0 -17
- data/lib/formtastic-bootstrap/inputs/base/timeish.rb +0 -55
- data/lib/formtastic-bootstrap/inputs/base/wrapping.rb +0 -55
- data/lib/formtastic-bootstrap/inputs/boolean_input.rb +0 -29
- data/lib/formtastic-bootstrap/inputs/check_boxes_input.rb +0 -40
- data/lib/formtastic-bootstrap/inputs/date_input.rb +0 -10
- data/lib/formtastic-bootstrap/inputs/date_select_input.rb +0 -8
- data/lib/formtastic-bootstrap/inputs/datetime_input.rb +0 -10
- data/lib/formtastic-bootstrap/inputs/datetime_select_input.rb +0 -8
- data/lib/formtastic-bootstrap/inputs/email_input.rb +0 -15
- data/lib/formtastic-bootstrap/inputs/file_input.rb +0 -14
- data/lib/formtastic-bootstrap/inputs/hidden_input.rb +0 -12
- data/lib/formtastic-bootstrap/inputs/number_input.rb +0 -15
- data/lib/formtastic-bootstrap/inputs/password_input.rb +0 -15
- data/lib/formtastic-bootstrap/inputs/phone_input.rb +0 -15
- data/lib/formtastic-bootstrap/inputs/radio_input.rb +0 -46
- data/lib/formtastic-bootstrap/inputs/range_input.rb +0 -15
- data/lib/formtastic-bootstrap/inputs/search_input.rb +0 -15
- data/lib/formtastic-bootstrap/inputs/select_input.rb +0 -16
- data/lib/formtastic-bootstrap/inputs/string_input.rb +0 -8
- data/lib/formtastic-bootstrap/inputs/text_input.rb +0 -14
- data/lib/formtastic-bootstrap/inputs/time_input.rb +0 -10
- data/lib/formtastic-bootstrap/inputs/time_select_input.rb +0 -8
- data/lib/formtastic-bootstrap/inputs/time_zone_input.rb +0 -14
- data/lib/formtastic-bootstrap/inputs/url_input.rb +0 -14
- data/spec/actions/button_action_spec.rb +0 -63
- data/spec/actions/input_action_spec.rb +0 -59
- data/spec/actions/link_action_spec.rb +0 -92
- data/spec/builder/semantic_fields_for_spec.rb +0 -130
- data/spec/helpers/action_helper_spec.rb +0 -368
- data/spec/helpers/actions_helper_spec.rb +0 -147
- data/spec/helpers/input_helper_spec.rb +0 -935
- data/spec/helpers/inputs_helper_spec.rb +0 -636
- data/spec/inputs/boolean_input_spec.rb +0 -226
- data/spec/inputs/check_boxes_input_spec.rb +0 -454
- data/spec/inputs/date_select_input_spec.rb +0 -164
- data/spec/inputs/datetime_select_input_spec.rb +0 -112
- data/spec/inputs/deprecated_time_date_datetime_inputs_spec.rb +0 -48
- data/spec/inputs/email_input_spec.rb +0 -86
- data/spec/inputs/file_input_spec.rb +0 -90
- data/spec/inputs/hidden_input_spec.rb +0 -153
- data/spec/inputs/number_input_spec.rb +0 -816
- data/spec/inputs/password_input_spec.rb +0 -100
- data/spec/inputs/phone_input_spec.rb +0 -86
- data/spec/inputs/radio_input_spec.rb +0 -267
- data/spec/inputs/range_input_spec.rb +0 -506
- data/spec/inputs/search_input_spec.rb +0 -85
- data/spec/inputs/select_input_spec.rb +0 -624
- data/spec/inputs/string_input_spec.rb +0 -210
- data/spec/inputs/text_input_spec.rb +0 -188
- data/spec/inputs/time_select_input_spec.rb +0 -191
- data/spec/inputs/time_zone_input_spec.rb +0 -118
- data/spec/inputs/url_input_spec.rb +0 -86
- data/spec/spec_helper.rb +0 -30
- data/spec/support/custom_macros.rb +0 -537
- data/spec/support/fb_custom_macros.rb +0 -23
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
require 'spec_helper'
|
|
3
|
-
|
|
4
|
-
describe 'date select input' do
|
|
5
|
-
|
|
6
|
-
include FormtasticSpecHelper
|
|
7
|
-
|
|
8
|
-
before do
|
|
9
|
-
@output_buffer = ''
|
|
10
|
-
mock_everything
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
describe "general" do
|
|
14
|
-
|
|
15
|
-
before do
|
|
16
|
-
output_buffer.replace ''
|
|
17
|
-
concat(semantic_form_for(@new_post) do |builder|
|
|
18
|
-
concat(builder.input(:publish_at, :as => :date_select, :order => [:year, :month, :day]))
|
|
19
|
-
end)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
it_should_have_bootstrap_horizontal_wrapping
|
|
23
|
-
it_should_have_input_wrapper_with_class("date_select")
|
|
24
|
-
it_should_have_input_wrapper_with_class(:input)
|
|
25
|
-
it_should_have_input_wrapper_with_id("post_publish_at_input")
|
|
26
|
-
it_should_apply_error_logic_for_input_type(:date_select)
|
|
27
|
-
|
|
28
|
-
it 'should have a label with the label text inside the control-group' do
|
|
29
|
-
output_buffer.should have_tag('form div.control-group > label.control-label', /Publish at/)
|
|
30
|
-
output_buffer.should have_tag('form div.control-group label.control-label[@for="post_publish_at"]')
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
it 'should not associate the legend label with the first select' do
|
|
34
|
-
output_buffer.should_not have_tag('form div.control-group label.control-label[@for="post_publish_at_1i"]')
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
it 'should not have three labels for year, month and day' do
|
|
38
|
-
output_buffer.should_not have_tag('form div.control-group div.controls label', :count => 3)
|
|
39
|
-
output_buffer.should_not have_tag('form div.control-group div.controls label', /year/i)
|
|
40
|
-
output_buffer.should_not have_tag('form div.control-group div.controls label', /month/i)
|
|
41
|
-
output_buffer.should_not have_tag('form div.control-group div.controls label', /day/i)
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
it 'should have three selects for year, month and day' do
|
|
45
|
-
output_buffer.should have_tag('form div.control-group div.controls select', :count => 3)
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
describe "when namespace is provided" do
|
|
50
|
-
|
|
51
|
-
before do
|
|
52
|
-
output_buffer.replace ''
|
|
53
|
-
concat(semantic_form_for(@new_post, :namespace => "context2") do |builder|
|
|
54
|
-
concat(builder.input(:publish_at, :as => :date_select, :order => [:year, :month, :day]))
|
|
55
|
-
end)
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
it_should_have_input_wrapper_with_id("context2_post_publish_at_input")
|
|
59
|
-
it_should_have_select_with_id("context2_post_publish_at_1i")
|
|
60
|
-
it_should_have_select_with_id("context2_post_publish_at_2i")
|
|
61
|
-
it_should_have_select_with_id("context2_post_publish_at_3i")
|
|
62
|
-
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
describe "when index is provided" do
|
|
66
|
-
|
|
67
|
-
before do
|
|
68
|
-
@output_buffer = ''
|
|
69
|
-
mock_everything
|
|
70
|
-
|
|
71
|
-
concat(semantic_form_for(@new_post) do |builder|
|
|
72
|
-
concat(builder.fields_for(:author, :index => 3) do |author|
|
|
73
|
-
concat(author.input(:created_at, :as => :date_select))
|
|
74
|
-
end)
|
|
75
|
-
end)
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
it 'should index the id of the control-group' do
|
|
79
|
-
output_buffer.should have_tag("div.control-group#post_author_attributes_3_created_at_input")
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
it 'should index the id of the select tag' do
|
|
83
|
-
output_buffer.should have_tag("select#post_author_attributes_3_created_at_1i")
|
|
84
|
-
output_buffer.should have_tag("select#post_author_attributes_3_created_at_2i")
|
|
85
|
-
output_buffer.should have_tag("select#post_author_attributes_3_created_at_3i")
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
it 'should index the name of the select tag' do
|
|
89
|
-
output_buffer.should have_tag("select[@name='post[author_attributes][3][created_at(1i)]']")
|
|
90
|
-
output_buffer.should have_tag("select[@name='post[author_attributes][3][created_at(2i)]']")
|
|
91
|
-
output_buffer.should have_tag("select[@name='post[author_attributes][3][created_at(3i)]']")
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
describe ':labels option' do
|
|
97
|
-
it "should provide a message that :labels is not supported" do
|
|
98
|
-
pending ':labels is not supported'
|
|
99
|
-
end
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
describe "when required" do
|
|
103
|
-
it "should add the required attribute to the input's html options" do
|
|
104
|
-
with_config :use_required_attribute, true do
|
|
105
|
-
concat(semantic_form_for(@new_post) do |builder|
|
|
106
|
-
concat(builder.input(:title, :as => :date_select, :required => true))
|
|
107
|
-
end)
|
|
108
|
-
output_buffer.should have_tag("select[@required]", :count => 3)
|
|
109
|
-
end
|
|
110
|
-
end
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
describe "when order does not include day" do
|
|
114
|
-
before do
|
|
115
|
-
output_buffer.replace ''
|
|
116
|
-
concat(semantic_form_for(@new_post) do |builder|
|
|
117
|
-
concat(builder.input(:publish_at, :as => :date_select, :order => [:year, :month]))
|
|
118
|
-
end)
|
|
119
|
-
end
|
|
120
|
-
|
|
121
|
-
it "should include a hidden input for day" do
|
|
122
|
-
output_buffer.should have_tag('input[@type="hidden"][@name="post[publish_at(3i)]"][@value="1"]')
|
|
123
|
-
end
|
|
124
|
-
|
|
125
|
-
it "should not include a select for day" do
|
|
126
|
-
output_buffer.should_not have_tag('select[@name="post[publish_at(3i)]"]')
|
|
127
|
-
end
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
describe "when order does not include month" do
|
|
131
|
-
before do
|
|
132
|
-
output_buffer.replace ''
|
|
133
|
-
concat(semantic_form_for(@new_post) do |builder|
|
|
134
|
-
concat(builder.input(:publish_at, :as => :date_select, :order => [:year, :day]))
|
|
135
|
-
end)
|
|
136
|
-
end
|
|
137
|
-
|
|
138
|
-
it "should include a hidden input for month" do
|
|
139
|
-
output_buffer.should have_tag('input[@type="hidden"][@name="post[publish_at(2i)]"][@value="1"]')
|
|
140
|
-
end
|
|
141
|
-
|
|
142
|
-
it "should not include a select for month" do
|
|
143
|
-
output_buffer.should_not have_tag('select[@name="post[publish_at(2i)]"]')
|
|
144
|
-
end
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
describe "when order does not include year" do
|
|
148
|
-
before do
|
|
149
|
-
output_buffer.replace ''
|
|
150
|
-
concat(semantic_form_for(@new_post) do |builder|
|
|
151
|
-
concat(builder.input(:publish_at, :as => :date_select, :order => [:month, :day]))
|
|
152
|
-
end)
|
|
153
|
-
end
|
|
154
|
-
|
|
155
|
-
it "should include a hidden input for month" do
|
|
156
|
-
output_buffer.should have_tag("input[@type=\"hidden\"][@name=\"post[publish_at(1i)]\"][@value=\"#{Time.now.year}\"]")
|
|
157
|
-
end
|
|
158
|
-
|
|
159
|
-
it "should not include a select for month" do
|
|
160
|
-
output_buffer.should_not have_tag('select[@name="post[publish_at(1i)]"]')
|
|
161
|
-
end
|
|
162
|
-
end
|
|
163
|
-
|
|
164
|
-
end
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
require 'spec_helper'
|
|
3
|
-
|
|
4
|
-
describe 'datetime select input' do
|
|
5
|
-
|
|
6
|
-
include FormtasticSpecHelper
|
|
7
|
-
|
|
8
|
-
before do
|
|
9
|
-
@output_buffer = ''
|
|
10
|
-
mock_everything
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
describe "general" do
|
|
14
|
-
|
|
15
|
-
before do
|
|
16
|
-
::I18n.backend.store_translations :en, {}
|
|
17
|
-
output_buffer.replace ''
|
|
18
|
-
concat(semantic_form_for(@new_post) do |builder|
|
|
19
|
-
concat(builder.input(:publish_at, :as => :datetime_select))
|
|
20
|
-
end)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
it_should_have_bootstrap_horizontal_wrapping
|
|
24
|
-
it_should_have_input_wrapper_with_class("datetime_select")
|
|
25
|
-
it_should_have_input_wrapper_with_class(:input)
|
|
26
|
-
it_should_have_input_wrapper_with_id("post_publish_at_input")
|
|
27
|
-
it_should_apply_error_logic_for_input_type(:datetime_select)
|
|
28
|
-
|
|
29
|
-
it 'should have a legend and label with the label text inside the fieldset' do
|
|
30
|
-
output_buffer.should have_tag('form div.control-group.datetime_select label.control-label', /Publish at/)
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
it 'should have five selects' do
|
|
34
|
-
output_buffer.should have_tag('form div.control-group.datetime_select div.controls select', :count => 5)
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
describe "when namespace is provided" do
|
|
39
|
-
|
|
40
|
-
before do
|
|
41
|
-
output_buffer.replace ''
|
|
42
|
-
concat(semantic_form_for(@new_post, :namespace => "context2") do |builder|
|
|
43
|
-
concat(builder.input(:publish_at, :as => :datetime_select))
|
|
44
|
-
end)
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
it_should_have_input_wrapper_with_id("context2_post_publish_at_input")
|
|
48
|
-
it_should_have_select_with_id("context2_post_publish_at_1i")
|
|
49
|
-
it_should_have_select_with_id("context2_post_publish_at_2i")
|
|
50
|
-
it_should_have_select_with_id("context2_post_publish_at_3i")
|
|
51
|
-
it_should_have_select_with_id("context2_post_publish_at_4i")
|
|
52
|
-
it_should_have_select_with_id("context2_post_publish_at_5i")
|
|
53
|
-
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
describe "when index is provided" do
|
|
57
|
-
|
|
58
|
-
before do
|
|
59
|
-
@output_buffer = ''
|
|
60
|
-
mock_everything
|
|
61
|
-
|
|
62
|
-
concat(semantic_form_for(@new_post) do |builder|
|
|
63
|
-
concat(builder.fields_for(:author, :index => 3) do |author|
|
|
64
|
-
concat(author.input(:created_at, :as => :datetime_select))
|
|
65
|
-
end)
|
|
66
|
-
end)
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
it 'should index the id of the control-group' do
|
|
70
|
-
output_buffer.should have_tag("div.control-group#post_author_attributes_3_created_at_input")
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
it 'should index the id of the select tag' do
|
|
74
|
-
output_buffer.should have_tag("select#post_author_attributes_3_created_at_1i")
|
|
75
|
-
output_buffer.should have_tag("select#post_author_attributes_3_created_at_2i")
|
|
76
|
-
output_buffer.should have_tag("select#post_author_attributes_3_created_at_3i")
|
|
77
|
-
output_buffer.should have_tag("select#post_author_attributes_3_created_at_4i")
|
|
78
|
-
output_buffer.should have_tag("select#post_author_attributes_3_created_at_5i")
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
it 'should index the name of the select tag' do
|
|
82
|
-
output_buffer.should have_tag("select[@name='post[author_attributes][3][created_at(1i)]']")
|
|
83
|
-
output_buffer.should have_tag("select[@name='post[author_attributes][3][created_at(2i)]']")
|
|
84
|
-
output_buffer.should have_tag("select[@name='post[author_attributes][3][created_at(3i)]']")
|
|
85
|
-
output_buffer.should have_tag("select[@name='post[author_attributes][3][created_at(4i)]']")
|
|
86
|
-
output_buffer.should have_tag("select[@name='post[author_attributes][3][created_at(5i)]']")
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
describe ':labels option' do
|
|
93
|
-
describe ':labels option' do
|
|
94
|
-
it "should provide a message that :labels is not supported" do
|
|
95
|
-
pending ':labels is not supported'
|
|
96
|
-
end
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
describe "when required" do
|
|
102
|
-
it "should add the required attribute to the input's html options" do
|
|
103
|
-
with_config :use_required_attribute, true do
|
|
104
|
-
concat(semantic_form_for(@new_post) do |builder|
|
|
105
|
-
concat(builder.input(:title, :as => :datetime_select, :required => true))
|
|
106
|
-
end)
|
|
107
|
-
output_buffer.should have_tag("select[@required]", :count => 5)
|
|
108
|
-
end
|
|
109
|
-
end
|
|
110
|
-
end
|
|
111
|
-
|
|
112
|
-
end
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe 'deprecated time, datetime and date inputs' do
|
|
4
|
-
include FormtasticSpecHelper
|
|
5
|
-
|
|
6
|
-
before do
|
|
7
|
-
@output_buffer = ''
|
|
8
|
-
mock_everything
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
it 'should warn :time is deprecated' do
|
|
12
|
-
::ActiveSupport::Deprecation.should_receive(:warn)
|
|
13
|
-
semantic_form_for(@new_post) do |f|
|
|
14
|
-
concat(f.input :created_at, :as => :time)
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
it 'should warn :datetime is deprecated' do
|
|
19
|
-
::ActiveSupport::Deprecation.should_receive(:warn)
|
|
20
|
-
semantic_form_for(@new_post) do |f|
|
|
21
|
-
concat(f.input :created_at, :as => :datetime)
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
it 'should warn :date is deprecated' do
|
|
26
|
-
::ActiveSupport::Deprecation.should_receive(:warn)
|
|
27
|
-
semantic_form_for(@new_post) do |f|
|
|
28
|
-
concat(f.input :created_at, :as => :date)
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
it 'should use wrapper css class based off :as, not off their parent class' do
|
|
33
|
-
with_deprecation_silenced do
|
|
34
|
-
concat(semantic_form_for(@new_post) do |f|
|
|
35
|
-
concat(f.input :created_at, :as => :time)
|
|
36
|
-
concat(f.input :created_at, :as => :datetime)
|
|
37
|
-
concat(f.input :created_at, :as => :date)
|
|
38
|
-
end)
|
|
39
|
-
end
|
|
40
|
-
output_buffer.should have_tag('div.control-group.time')
|
|
41
|
-
output_buffer.should have_tag('div.control-group.datetime')
|
|
42
|
-
output_buffer.should have_tag('div.control-group.date')
|
|
43
|
-
output_buffer.should_not have_tag('li.time_select')
|
|
44
|
-
output_buffer.should_not have_tag('li.datetime_select')
|
|
45
|
-
output_buffer.should_not have_tag('li.date_select')
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
end
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
require 'spec_helper'
|
|
3
|
-
|
|
4
|
-
describe 'email input' do
|
|
5
|
-
|
|
6
|
-
include FormtasticSpecHelper
|
|
7
|
-
|
|
8
|
-
before do
|
|
9
|
-
@output_buffer = ''
|
|
10
|
-
mock_everything
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
describe "when object is provided" do
|
|
14
|
-
before do
|
|
15
|
-
concat(semantic_form_for(@new_post) do |builder|
|
|
16
|
-
concat(builder.input(:email))
|
|
17
|
-
end)
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
it_should_have_bootstrap_horizontal_wrapping
|
|
21
|
-
it_should_have_input_wrapper_with_class(:email)
|
|
22
|
-
it_should_have_input_wrapper_with_class(:input)
|
|
23
|
-
it_should_have_input_wrapper_with_class(:stringish)
|
|
24
|
-
it_should_have_input_wrapper_with_id("post_email_input")
|
|
25
|
-
it_should_have_label_with_text(/Email/)
|
|
26
|
-
it_should_have_label_for("post_email")
|
|
27
|
-
it_should_have_input_with_id("post_email")
|
|
28
|
-
it_should_have_input_with_type(:email)
|
|
29
|
-
it_should_have_input_with_name("post[email]")
|
|
30
|
-
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
describe "when namespace is provided" do
|
|
34
|
-
|
|
35
|
-
before do
|
|
36
|
-
concat(semantic_form_for(@new_post, :namespace => 'context2') do |builder|
|
|
37
|
-
concat(builder.input(:email))
|
|
38
|
-
end)
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
it_should_have_input_wrapper_with_id("context2_post_email_input")
|
|
42
|
-
it_should_have_label_and_input_with_id("context2_post_email")
|
|
43
|
-
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
describe "when index is provided" do
|
|
47
|
-
|
|
48
|
-
before do
|
|
49
|
-
@output_buffer = ''
|
|
50
|
-
mock_everything
|
|
51
|
-
|
|
52
|
-
concat(semantic_form_for(@new_post) do |builder|
|
|
53
|
-
concat(builder.fields_for(:author, :index => 3) do |author|
|
|
54
|
-
concat(author.input(:name, :as => :email))
|
|
55
|
-
end)
|
|
56
|
-
end)
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
it 'should index the id of the wrapper' do
|
|
60
|
-
output_buffer.should have_tag("div.control-group#post_author_attributes_3_name_input")
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
it 'should index the id of the select tag' do
|
|
64
|
-
output_buffer.should have_tag("input#post_author_attributes_3_name")
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
it 'should index the name of the select tag' do
|
|
68
|
-
output_buffer.should have_tag("input[@name='post[author_attributes][3][name]']")
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
describe "when required" do
|
|
75
|
-
it "should add the required attribute to the input's html options" do
|
|
76
|
-
with_config :use_required_attribute, true do
|
|
77
|
-
concat(semantic_form_for(@new_post) do |builder|
|
|
78
|
-
concat(builder.input(:title, :as => :email, :required => true))
|
|
79
|
-
end)
|
|
80
|
-
output_buffer.should have_tag("input[@required]")
|
|
81
|
-
end
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
end
|
|
86
|
-
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
require 'spec_helper'
|
|
3
|
-
|
|
4
|
-
describe 'file input' do
|
|
5
|
-
|
|
6
|
-
include FormtasticSpecHelper
|
|
7
|
-
|
|
8
|
-
before do
|
|
9
|
-
@output_buffer = ''
|
|
10
|
-
mock_everything
|
|
11
|
-
|
|
12
|
-
concat(semantic_form_for(@new_post) do |builder|
|
|
13
|
-
concat(builder.input(:body, :as => :file))
|
|
14
|
-
end)
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
it_should_have_bootstrap_horizontal_wrapping
|
|
18
|
-
it_should_have_input_wrapper_with_class("file")
|
|
19
|
-
it_should_have_input_wrapper_with_class(:input)
|
|
20
|
-
it_should_have_input_wrapper_with_id("post_body_input")
|
|
21
|
-
it_should_have_label_with_text(/Body/)
|
|
22
|
-
it_should_have_label_for("post_body")
|
|
23
|
-
it_should_have_input_with_id("post_body")
|
|
24
|
-
it_should_have_input_with_name("post[body]")
|
|
25
|
-
it_should_apply_error_logic_for_input_type(:file)
|
|
26
|
-
|
|
27
|
-
it 'should use input_html to style inputs' do
|
|
28
|
-
concat(semantic_form_for(@new_post) do |builder|
|
|
29
|
-
concat(builder.input(:title, :as => :file, :input_html => { :class => 'myclass' }))
|
|
30
|
-
end)
|
|
31
|
-
output_buffer.should have_tag("form div.control-group div.controls input.myclass")
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
describe "when namespace is provided" do
|
|
35
|
-
|
|
36
|
-
before do
|
|
37
|
-
@output_buffer = ''
|
|
38
|
-
mock_everything
|
|
39
|
-
|
|
40
|
-
concat(semantic_form_for(@new_post, :namespace => 'context2') do |builder|
|
|
41
|
-
concat(builder.input(:body, :as => :file))
|
|
42
|
-
end)
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
it_should_have_input_wrapper_with_id("context2_post_body_input")
|
|
46
|
-
it_should_have_label_and_input_with_id("context2_post_body")
|
|
47
|
-
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
describe "when index is provided" do
|
|
51
|
-
|
|
52
|
-
before do
|
|
53
|
-
@output_buffer = ''
|
|
54
|
-
mock_everything
|
|
55
|
-
|
|
56
|
-
concat(semantic_form_for(@new_post) do |builder|
|
|
57
|
-
concat(builder.fields_for(:author, :index => 3) do |author|
|
|
58
|
-
concat(author.input(:name, :as => :file))
|
|
59
|
-
end)
|
|
60
|
-
end)
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
it 'should index the id of the control group' do
|
|
64
|
-
output_buffer.should have_tag("div.control-group#post_author_attributes_3_name_input")
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
it 'should index the id of the select tag' do
|
|
68
|
-
output_buffer.should have_tag("input#post_author_attributes_3_name")
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
it 'should index the name of the select tag' do
|
|
72
|
-
output_buffer.should have_tag("input[@name='post[author_attributes][3][name]']")
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
context "when required" do
|
|
79
|
-
it "should add the required attribute to the input's html options" do
|
|
80
|
-
with_config :use_required_attribute, true do
|
|
81
|
-
concat(semantic_form_for(@new_post) do |builder|
|
|
82
|
-
concat(builder.input(:title, :as => :file, :required => true))
|
|
83
|
-
end)
|
|
84
|
-
output_buffer.should have_tag("input[@required]")
|
|
85
|
-
end
|
|
86
|
-
end
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
end
|
|
90
|
-
|