campo 0.9.1 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.travis.yml +1 -1
- data/{CHANGES.markdown → CHANGES.md} +24 -0
- data/campo.gemspec +1 -1
- data/lib/campo/campo.rb +7 -3
- data/lib/campo/version.rb +1 -1
- data/spec/aria_spec.rb +5 -5
- data/spec/campo_spec.rb +141 -132
- data/spec/jqueryvalidation_spec.rb +11 -11
- data/spec/partial_spec.rb +6 -6
- metadata +16 -26
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ad1704182be3effc8d533bbe5017d6d7082da7ba
|
4
|
+
data.tar.gz: 29e3d38af3651aac6edea7f97bdd680c0eb0520a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: bf5879d45f7e15ee8009733ad3bfc84fbb9ebfd0334ee301976d827a5a63ddaec09e80e4a61315f158622537050af01eb9529278eb19d4e82a6e42e622c4a7cb
|
7
|
+
data.tar.gz: 297ad597fd258f8c4087730325281e7f7fbe6ef8ff2ba793c68c6e3337d96970edd802a0dd26233b1e7c96f8bc1f6e6c24f12efaf733bd1cf9364d96ac2cf138
|
data/.travis.yml
CHANGED
@@ -1,3 +1,27 @@
|
|
1
|
+
# CH CH CH CHANGES! #
|
2
|
+
|
3
|
+
## v0.11.0 Thursday the 19th of December 2013 ##
|
4
|
+
|
5
|
+
* Run specs on Travis against Ruby 2.
|
6
|
+
* Use the latest Haml.
|
7
|
+
|
8
|
+
---
|
9
|
+
|
10
|
+
|
11
|
+
## v0.10.1 Thursday the 19th of December 2013 ##
|
12
|
+
|
13
|
+
* A couple of the specs weren't written correctly to check for failure. For some reason they pass on my machine but fail on Travis CI, so I've updated them and now they should be good!
|
14
|
+
|
15
|
+
----
|
16
|
+
|
17
|
+
|
18
|
+
## v0.10.0 Thursday the 19th of December 2013 ##
|
19
|
+
|
20
|
+
* The `name` attribute can now be overridden if needs be.
|
21
|
+
|
22
|
+
----
|
23
|
+
|
24
|
+
|
1
25
|
## v0.9.1 16th of December 2012 ##
|
2
26
|
|
3
27
|
* `labelled` can now take an attributes hash, so: `.labelled("Favourite tea:", class: "list")` will output `%label{ class: "list", for: "teas", }`
|
data/campo.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.required_ruby_version = ">= 1.9.2"
|
16
16
|
s.authors = ["Iain Barnett"]
|
17
17
|
s.files = `git ls-files`.split("\n")
|
18
|
-
s.add_development_dependency("haml", "~>
|
18
|
+
s.add_development_dependency("haml", "~> 4.0.0")
|
19
19
|
s.add_development_dependency("yard")
|
20
20
|
s.add_development_dependency("rake")
|
21
21
|
s.homepage = "https://github.com/yb66/Campo"
|
data/lib/campo/campo.rb
CHANGED
@@ -155,7 +155,7 @@ module Campo
|
|
155
155
|
|
156
156
|
# @param (see #text)
|
157
157
|
# @param [:symbol] type The type html attribute.
|
158
|
-
def input( name, type, label=nil, attributes={} )
|
158
|
+
def input( name, type, label=nil, attributes={} )
|
159
159
|
if label.kind_of? Hash
|
160
160
|
attributes = label
|
161
161
|
label = nil
|
@@ -248,9 +248,13 @@ module Campo
|
|
248
248
|
# @param [Hash,optional] attributes Any attributes for the element. Defaults to a generated tabindex (dependent on the order of form elements).
|
249
249
|
# @yield Any fields defined in the passed block become children of this element.
|
250
250
|
def initialize( name, attributes={}, &block )
|
251
|
-
@attributes = DEFAULT.merge(
|
251
|
+
@attributes = DEFAULT.merge(
|
252
|
+
{id: name}.merge(
|
253
|
+
{name: name}.merge(attributes)
|
254
|
+
)
|
255
|
+
).reject{|k,v| v.nil? }
|
252
256
|
@fields = []
|
253
|
-
|
257
|
+
|
254
258
|
instance_eval( &block ) if block
|
255
259
|
end
|
256
260
|
|
data/lib/campo/version.rb
CHANGED
data/spec/aria_spec.rb
CHANGED
@@ -27,17 +27,17 @@ describe "Aria" do
|
|
27
27
|
- inners = {} if inners.nil?
|
28
28
|
- inners.default = "" if inners.default.nil?
|
29
29
|
- @campo_tabindex ||= 0 # for tabindex
|
30
|
-
%form{ atts[:example], id: "example",
|
30
|
+
%form{ atts[:example], id: "example", name: "example", method: "POST", role: "form", }
|
31
31
|
%label{ for: "a", }
|
32
32
|
A
|
33
33
|
%span{id: "a_description", }
|
34
34
|
mm/yy
|
35
|
-
%input{ atts[:a], tabindex: "#{@campo_tabindex += 1}", id: "a",
|
35
|
+
%input{ atts[:a], tabindex: "#{@campo_tabindex += 1}", id: "a", name: "a", type: "text", :"aria-describedby" => "a_description", }
|
36
36
|
%label{ for: "b", }
|
37
37
|
B
|
38
38
|
%span{id: "b_description", class: "description", }
|
39
39
|
All in caps
|
40
|
-
%input{ atts[:b], tabindex: "#{@campo_tabindex += 1}", id: "b",
|
40
|
+
%input{ atts[:b], tabindex: "#{@campo_tabindex += 1}", id: "b", name: "b", type: "text", :"aria-describedby" => "b_description", }
|
41
41
|
%label{ for: "c", }
|
42
42
|
C
|
43
43
|
%span{id: "c_description", class: "description", }
|
@@ -46,7 +46,7 @@ describe "Aria" do
|
|
46
46
|
Must be 8 characters at least.
|
47
47
|
%li{ id: "password_not_email_address", class: "password validate", }
|
48
48
|
It's better to add some numbers/punctuation.
|
49
|
-
%input{ atts[:c], tabindex: "#{@campo_tabindex += 1}", id: "c",
|
49
|
+
%input{ atts[:c], tabindex: "#{@campo_tabindex += 1}", id: "c", name: "c", type: "text", :"aria-describedby" => "c_description", }
|
50
50
|
%label{ for: "d", }
|
51
51
|
D
|
52
52
|
%span{id: "d_description", }
|
@@ -57,7 +57,7 @@ describe "Aria" do
|
|
57
57
|
Me
|
58
58
|
%li
|
59
59
|
Them
|
60
|
-
%input{ atts[:d], tabindex: "#{@campo_tabindex += 1}", id: "d",
|
60
|
+
%input{ atts[:d], tabindex: "#{@campo_tabindex += 1}", id: "d", name: "d", type: "text", :"aria-describedby" => "d_description", }
|
61
61
|
STR
|
62
62
|
}
|
63
63
|
|
data/spec/campo_spec.rb
CHANGED
@@ -29,7 +29,7 @@ STR
|
|
29
29
|
describe :output do
|
30
30
|
context "Given a form with no fields" do
|
31
31
|
let(:expected) {
|
32
|
-
expected = top_bit + %q!%form{ atts[:myform], id: "myform",
|
32
|
+
expected = top_bit + %q!%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }!.strip + "\n"
|
33
33
|
}
|
34
34
|
|
35
35
|
subject{ Campo.output Campo::Form.new( "myform" ) }
|
@@ -43,10 +43,10 @@ STR
|
|
43
43
|
%label{ class: "list", for: "teas", }
|
44
44
|
Favourite tea:
|
45
45
|
%select{ atts[:teas], tabindex: "#{@campo_tabindex += 1}", id: "teas", name: "teas", }
|
46
|
-
%option{ atts[:teas_default], id: "teas_default",
|
47
|
-
%option{ atts[:teas_ceylon], id: "teas_ceylon",
|
48
|
-
%option{ atts[:teas_breakfast], id: "teas_breakfast",
|
49
|
-
%option{ atts[:teas_earl_grey], id: "teas_earl_grey",
|
46
|
+
%option{ atts[:teas_default], id: "teas_default", name: "teas", value: "", disabled: "disabled", }Choose one:
|
47
|
+
%option{ atts[:teas_ceylon], id: "teas_ceylon", name: "teas", value: "ceylon", }Ceylon
|
48
|
+
%option{ atts[:teas_breakfast], id: "teas_breakfast", name: "teas", value: "breakfast", }Breakfast
|
49
|
+
%option{ atts[:teas_earl_grey], id: "teas_earl_grey", name: "teas", value: "earl grey", }Earl grey
|
50
50
|
!.strip + "\n"
|
51
51
|
}
|
52
52
|
let(:tag) {
|
@@ -64,7 +64,7 @@ STR
|
|
64
64
|
describe "A realish form" do
|
65
65
|
context "Given a form" do
|
66
66
|
let(:expected) {
|
67
|
-
top_bit + %Q!%form{ atts[:personal_details], id: "personal_details", method: "POST", action: uri("/my/personal_details/update/"),
|
67
|
+
top_bit + %Q!%form{ atts[:personal_details], id: "personal_details", name: "personal_details", method: "POST", action: uri("/my/personal_details/update/"), role: "form", }\n %fieldset{ }\n %legend{ }Your details\n %label{ for: "full_name", }\n Full name: \n %input{ atts[:full_name], tabindex: "\#{@campo_tabindex += 1}", id: "full_name", name: "full_name", type: "text", size: "60", }\n %label{ for: "dob", }\n Date of birth: \n %input{ atts[:dob], tabindex: "\#{@campo_tabindex += 1}", id: "dob", name: "date_of_birth", type: "text", size: "10", }\n %fieldset{ }\n %legend{ }Gender: \n %label{ for: "gender_1", }\n Male\n %input{ atts[:gender_1], tabindex: "\#{@campo_tabindex += 1}", id: "gender_1", name: "gender", type: "radio", value: "1", }\n %label{ for: "gender_2", }\n Female\n %input{ atts[:gender_2], tabindex: "\#{@campo_tabindex += 1}", id: "gender_2", name: "gender", type: "radio", value: "2", }\n %label{ for: "ethnicorigin_id", }\n Ethnic-origin: \n %select{ atts[:ethnicorigin_id], tabindex: "\#{@campo_tabindex += 1}", id: "ethnicorigin_id", name: "ethnicorigin_id", }\n %option{ atts[:ethnicorigin_id_default], id: "ethnicorigin_id_default", name: "ethnicorigin_id", value: "", disabled: "disabled", }Choose one:\n %option{ atts[:ethnicorigin_id_1], id: "ethnicorigin_id_1", name: "ethnicorigin_id", value: "1", }White\n %option{ atts[:ethnicorigin_id_2], id: "ethnicorigin_id_2", name: "ethnicorigin_id", value: "2", }Asian\n %option{ atts[:ethnicorigin_id_3], id: "ethnicorigin_id_3", name: "ethnicorigin_id", value: "3", }Black\n %option{ atts[:ethnicorigin_id_4], id: "ethnicorigin_id_4", name: "ethnicorigin_id", value: "4", }Chinese and Other\n %option{ atts[:ethnicorigin_id_5], id: "ethnicorigin_id_5", name: "ethnicorigin_id", value: "5", }Mixed\n %label{ for: "occupation", }\n Occupation: \n %input{ atts[:occupation], tabindex: "\#{@campo_tabindex += 1}", id: "occupation", name: "occupation", type: "text", size: "60", }\n %label{ for: "phone_landline", }\n Phone (landline): \n %input{ atts[:phone_landline], tabindex: "\#{@campo_tabindex += 1}", id: "phone_landline", name: "phone_landline", type: "text", size: "20", }\n %label{ for: "phone_mobile", }\n Phone (mobile): \n %input{ atts[:phone_mobile], tabindex: "\#{@campo_tabindex += 1}", id: "phone_mobile", name: "phone_mobile", type: "text", size: "20", }\n %fieldset{ }\n %legend{ }May we contact you...\n %label{ for: "contactable_day", }\n In the day?\n %input{ atts[:contactable_day], tabindex: "\#{@campo_tabindex += 1}", id: "contactable_day", name: "contactable", type: "checkbox", value: "day", }\n %label{ for: "contactable_evening", }\n In the evening?\n %input{ atts[:contactable_evening], tabindex: "\#{@campo_tabindex += 1}", id: "contactable_evening", name: "contactable", type: "checkbox", value: "evening", }\n %input{ atts[:method], id: "method", name: "method", type: "hidden", value: "put", }\n %input{ atts[:Save], tabindex: "\#{@campo_tabindex += 1}", id: "Save", type: "submit", value: "Save", }\n!
|
68
68
|
} # let expected
|
69
69
|
context "block with var style" do
|
70
70
|
let(:form) do
|
@@ -73,7 +73,7 @@ top_bit + %Q!%form{ atts[:personal_details], id: "personal_details", method: "PO
|
|
73
73
|
form.fieldset("Your details") do |f|
|
74
74
|
|
75
75
|
f.text( "full_name", "Full name: ", size: 60 )
|
76
|
-
f.text( "dob", "Date of birth: ", size: 10 )
|
76
|
+
f.text( "dob", "Date of birth: ", name: "date_of_birth", size: 10 )
|
77
77
|
f.fieldset( "Gender: " ) do |genders|
|
78
78
|
genders.radio( "gender", "Male", value: 1 )
|
79
79
|
genders.radio( "gender", "Female", value: 2 )
|
@@ -102,50 +102,50 @@ top_bit + %Q!%form{ atts[:personal_details], id: "personal_details", method: "PO
|
|
102
102
|
}
|
103
103
|
let(:expected) {
|
104
104
|
top_bit + %Q!.centred.form
|
105
|
-
%form{ atts[:personal_details], id: "personal_details", method: "POST", action: uri("/my/personal_details/update/"),
|
105
|
+
%form{ atts[:personal_details], id: "personal_details", name: "personal_details", method: "POST", action: uri("/my/personal_details/update/"), role: "form", }
|
106
106
|
%fieldset{ }
|
107
107
|
%legend{ }Your details
|
108
108
|
%label{ for: "full_name", }
|
109
109
|
Full name:
|
110
|
-
%input{ atts[:full_name], tabindex: "\#{@campo_tabindex += 1}", id: "full_name",
|
110
|
+
%input{ atts[:full_name], tabindex: "\#{@campo_tabindex += 1}", id: "full_name", name: "full_name", type: "text", size: "60", }
|
111
111
|
%label{ for: "dob", }
|
112
112
|
Date of birth:
|
113
|
-
%input{ atts[:dob], tabindex: "\#{@campo_tabindex += 1}", id: "dob",
|
113
|
+
%input{ atts[:dob], tabindex: "\#{@campo_tabindex += 1}", id: "dob", name: "date_of_birth", type: "text", size: "10", }
|
114
114
|
%fieldset{ }
|
115
115
|
%legend{ }Gender:
|
116
116
|
%label{ for: "gender_1", }
|
117
117
|
Male
|
118
|
-
%input{ atts[:gender_1], tabindex: "\#{@campo_tabindex += 1}", id: "gender_1",
|
118
|
+
%input{ atts[:gender_1], tabindex: "\#{@campo_tabindex += 1}", id: "gender_1", name: "gender", type: "radio", value: "1", }
|
119
119
|
%label{ for: "gender_2", }
|
120
120
|
Female
|
121
|
-
%input{ atts[:gender_2], tabindex: "\#{@campo_tabindex += 1}", id: "gender_2",
|
121
|
+
%input{ atts[:gender_2], tabindex: "\#{@campo_tabindex += 1}", id: "gender_2", name: "gender", type: "radio", value: "2", }
|
122
122
|
%label{ for: "ethnicorigin_id", }
|
123
123
|
Ethnic-origin:
|
124
124
|
%select{ atts[:ethnicorigin_id], tabindex: "\#{@campo_tabindex += 1}", id: "ethnicorigin_id", name: "ethnicorigin_id", }
|
125
|
-
%option{ atts[:ethnicorigin_id_default], id: "ethnicorigin_id_default",
|
126
|
-
%option{ atts[:ethnicorigin_id_1], id: "ethnicorigin_id_1",
|
127
|
-
%option{ atts[:ethnicorigin_id_2], id: "ethnicorigin_id_2",
|
128
|
-
%option{ atts[:ethnicorigin_id_3], id: "ethnicorigin_id_3",
|
129
|
-
%option{ atts[:ethnicorigin_id_4], id: "ethnicorigin_id_4",
|
130
|
-
%option{ atts[:ethnicorigin_id_5], id: "ethnicorigin_id_5",
|
125
|
+
%option{ atts[:ethnicorigin_id_default], id: "ethnicorigin_id_default", name: "ethnicorigin_id", value: "", disabled: "disabled", }Choose one:
|
126
|
+
%option{ atts[:ethnicorigin_id_1], id: "ethnicorigin_id_1", name: "ethnicorigin_id", value: "1", }White
|
127
|
+
%option{ atts[:ethnicorigin_id_2], id: "ethnicorigin_id_2", name: "ethnicorigin_id", value: "2", }Asian
|
128
|
+
%option{ atts[:ethnicorigin_id_3], id: "ethnicorigin_id_3", name: "ethnicorigin_id", value: "3", }Black
|
129
|
+
%option{ atts[:ethnicorigin_id_4], id: "ethnicorigin_id_4", name: "ethnicorigin_id", value: "4", }Chinese and Other
|
130
|
+
%option{ atts[:ethnicorigin_id_5], id: "ethnicorigin_id_5", name: "ethnicorigin_id", value: "5", }Mixed
|
131
131
|
%label{ for: "occupation", }
|
132
132
|
Occupation:
|
133
|
-
%input{ atts[:occupation], tabindex: "\#{@campo_tabindex += 1}", id: "occupation",
|
133
|
+
%input{ atts[:occupation], tabindex: "\#{@campo_tabindex += 1}", id: "occupation", name: "occupation", type: "text", size: "60", }
|
134
134
|
%label{ for: "phone_landline", }
|
135
135
|
Phone (landline):
|
136
|
-
%input{ atts[:phone_landline], tabindex: "\#{@campo_tabindex += 1}", id: "phone_landline",
|
136
|
+
%input{ atts[:phone_landline], tabindex: "\#{@campo_tabindex += 1}", id: "phone_landline", name: "phone_landline", type: "text", size: "20", }
|
137
137
|
%label{ for: "phone_mobile", }
|
138
138
|
Phone (mobile):
|
139
|
-
%input{ atts[:phone_mobile], tabindex: "\#{@campo_tabindex += 1}", id: "phone_mobile",
|
139
|
+
%input{ atts[:phone_mobile], tabindex: "\#{@campo_tabindex += 1}", id: "phone_mobile", name: "phone_mobile", type: "text", size: "20", }
|
140
140
|
%fieldset{ }
|
141
141
|
%legend{ }May we contact you...
|
142
142
|
%label{ for: "contactable_day", }
|
143
143
|
In the day?
|
144
|
-
%input{ atts[:contactable_day], tabindex: "\#{@campo_tabindex += 1}", id: "contactable_day",
|
144
|
+
%input{ atts[:contactable_day], tabindex: "\#{@campo_tabindex += 1}", id: "contactable_day", name: "contactable", type: "checkbox", value: "day", }
|
145
145
|
%label{ for: "contactable_evening", }
|
146
146
|
In the evening?
|
147
|
-
%input{ atts[:contactable_evening], tabindex: "\#{@campo_tabindex += 1}", id: "contactable_evening",
|
148
|
-
%input{ atts[:method], id: "method",
|
147
|
+
%input{ atts[:contactable_evening], tabindex: "\#{@campo_tabindex += 1}", id: "contactable_evening", name: "contactable", type: "checkbox", value: "evening", }
|
148
|
+
%input{ atts[:method], id: "method", name: "method", type: "hidden", value: "put", }
|
149
149
|
%input{ atts[:Save], tabindex: "\#{@campo_tabindex += 1}", id: "Save", type: "submit", value: "Save", }
|
150
150
|
!
|
151
151
|
} # let expected
|
@@ -159,7 +159,7 @@ top_bit + %Q!%form{ atts[:personal_details], id: "personal_details", method: "PO
|
|
159
159
|
form = Campo.form "personal_details", action: %Q!"uri("/my/personal_details/update/")! do
|
160
160
|
fieldset("Your details") do
|
161
161
|
text( "full_name", "Full name: ", size: 60 )
|
162
|
-
text( "dob", "Date of birth: ", size: 10 ) #TODO change this
|
162
|
+
text( "dob", "Date of birth: ", name: "date_of_birth", size: 10 ) #TODO change this
|
163
163
|
fieldset( "Gender: " ) do
|
164
164
|
radio( "gender", "Male", value: 1 )
|
165
165
|
radio( "gender", "Female", value: 2 )
|
@@ -182,7 +182,10 @@ top_bit + %Q!%form{ atts[:personal_details], id: "personal_details", method: "PO
|
|
182
182
|
end
|
183
183
|
end
|
184
184
|
end # describe a form
|
185
|
+
|
186
|
+
|
185
187
|
end
|
188
|
+
|
186
189
|
|
187
190
|
describe Convenience do
|
188
191
|
let(:obj) {
|
@@ -199,10 +202,10 @@ top_bit + %Q!%form{ atts[:personal_details], id: "personal_details", method: "PO
|
|
199
202
|
context "of text" do
|
200
203
|
context "with a label" do
|
201
204
|
let(:expected) { top_bit + %q!
|
202
|
-
%form{ atts[:myform], id: "myform",
|
205
|
+
%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }
|
203
206
|
%label{ for: "blah", }
|
204
207
|
Blahd
|
205
|
-
%input{ atts[:blah], tabindex: "#{@campo_tabindex += 1}", id: "blah",
|
208
|
+
%input{ atts[:blah], tabindex: "#{@campo_tabindex += 1}", id: "blah", name: "blah", type: "text", value: "blahdeblah", }!.strip + "\n" }
|
206
209
|
subject {
|
207
210
|
form.input( "blah", :text, "Blahd", value: "blahdeblah" )
|
208
211
|
Campo.output form
|
@@ -220,10 +223,10 @@ top_bit + %Q!%form{ atts[:personal_details], id: "personal_details", method: "PO
|
|
220
223
|
end
|
221
224
|
context "without a label" do
|
222
225
|
let(:expected) { top_bit + %q!
|
223
|
-
%form{ atts[:myform], id: "myform",
|
226
|
+
%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }
|
224
227
|
%label{ for: "blah", }
|
225
228
|
Blah
|
226
|
-
%input{ atts[:blah], tabindex: "#{@campo_tabindex += 1}", id: "blah",
|
229
|
+
%input{ atts[:blah], tabindex: "#{@campo_tabindex += 1}", id: "blah", name: "blah", type: "text", value: "blahdeblah", }!.strip + "\n" }
|
227
230
|
|
228
231
|
subject {
|
229
232
|
form.input( "blah", :text, value: "blahdeblah" )
|
@@ -244,10 +247,10 @@ top_bit + %Q!%form{ atts[:personal_details], id: "personal_details", method: "PO
|
|
244
247
|
end # text
|
245
248
|
context "of checkbox" do
|
246
249
|
let(:expected) { top_bit + %q!
|
247
|
-
%form{ atts[:myform], id: "myform",
|
250
|
+
%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }
|
248
251
|
%label{ for: "blah_blahdeblah", }
|
249
252
|
Blahd
|
250
|
-
%input{ atts[:blah_blahdeblah], tabindex: "#{@campo_tabindex += 1}", id: "blah_blahdeblah",
|
253
|
+
%input{ atts[:blah_blahdeblah], tabindex: "#{@campo_tabindex += 1}", id: "blah_blahdeblah", name: "blah", type: "checkbox", value: "blahdeblah", }!.strip + "\n" }
|
251
254
|
|
252
255
|
subject {
|
253
256
|
form.input( "blah", :checkbox, "Blahd", value: "blahdeblah" )
|
@@ -270,6 +273,7 @@ top_bit + %Q!%form{ atts[:personal_details], id: "personal_details", method: "PO
|
|
270
273
|
|
271
274
|
end # Convenience
|
272
275
|
|
276
|
+
|
273
277
|
describe Helpers do
|
274
278
|
describe "self.options_builder" do
|
275
279
|
context "Given a name" do
|
@@ -439,7 +443,8 @@ top_bit + %Q!%form{ atts[:personal_details], id: "personal_details", method: "PO
|
|
439
443
|
end
|
440
444
|
end
|
441
445
|
end
|
442
|
-
|
446
|
+
|
447
|
+
|
443
448
|
describe Label do
|
444
449
|
let(:tag) { Label.new( "abc", "A, B, or C?" ) }
|
445
450
|
subject { tag }
|
@@ -458,13 +463,15 @@ s.chomp
|
|
458
463
|
end
|
459
464
|
end
|
460
465
|
|
466
|
+
|
461
467
|
describe Form do
|
462
468
|
|
463
469
|
describe "initialisation" do
|
464
470
|
context "When given no args" do
|
465
471
|
let(:form) { Campo::Form.new }
|
466
|
-
it
|
467
|
-
|
472
|
+
it "should fail" do
|
473
|
+
expect { form }.to raise_error
|
474
|
+
end
|
468
475
|
end
|
469
476
|
context "When given a name" do
|
470
477
|
let(:form) { Campo::Form.new( "myform" ) }
|
@@ -481,7 +488,7 @@ s.chomp
|
|
481
488
|
|
482
489
|
|
483
490
|
context "simple output" do
|
484
|
-
let(:expected) { %q!%form{ atts[:myform], id: "myform",
|
491
|
+
let(:expected) { %q!%form{ atts[:myform], id: "myform", name: "myform", method: "POST", }! }
|
485
492
|
subject { form.output }
|
486
493
|
it { should == expected }
|
487
494
|
end
|
@@ -493,7 +500,7 @@ s.chomp
|
|
493
500
|
it { should be_a_kind_of(Form) }
|
494
501
|
|
495
502
|
context "simple output" do
|
496
|
-
let(:expected) { %q!%form{ atts[:myform], id: "myform",
|
503
|
+
let(:expected) { %q!%form{ atts[:myform], id: "myform", name: "myform", method: "POST", action: "/", }! }
|
497
504
|
subject { form.output }
|
498
505
|
it { should == expected }
|
499
506
|
end
|
@@ -506,7 +513,7 @@ s.chomp
|
|
506
513
|
context "When given a form with only a name" do
|
507
514
|
let(:form) { Campo::Form.new( "myform" ).fieldset("Do you like these colours? Tick for yes:") }
|
508
515
|
let(:expected) { top_bit + %q!
|
509
|
-
%form{ atts[:myform], id: "myform",
|
516
|
+
%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }
|
510
517
|
%fieldset{ }
|
511
518
|
%legend{ }Do you like these colours? Tick for yes:
|
512
519
|
|
@@ -526,14 +533,14 @@ s.chomp
|
|
526
533
|
let(:form) { Campo::Form.new( "myform" ) }
|
527
534
|
context "Given one select tag" do
|
528
535
|
let(:expected) { top_bit + %q!
|
529
|
-
%form{ atts[:myform], id: "myform",
|
536
|
+
%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }
|
530
537
|
%label{ for: "teas", }
|
531
538
|
Favourite tea:
|
532
539
|
%select{ atts[:teas], tabindex: "#{@campo_tabindex += 1}", id: "teas", name: "teas", }
|
533
|
-
%option{ atts[:teas_default], id: "teas_default",
|
534
|
-
%option{ atts[:teas_ceylon], id: "teas_ceylon",
|
535
|
-
%option{ atts[:teas_breakfast], id: "teas_breakfast",
|
536
|
-
%option{ atts[:teas_earl_grey], id: "teas_earl_grey",
|
540
|
+
%option{ atts[:teas_default], id: "teas_default", name: "teas", value: "", disabled: "disabled", }Choose one:
|
541
|
+
%option{ atts[:teas_ceylon], id: "teas_ceylon", name: "teas", value: "ceylon", }Ceylon
|
542
|
+
%option{ atts[:teas_breakfast], id: "teas_breakfast", name: "teas", value: "breakfast", }Breakfast
|
543
|
+
%option{ atts[:teas_earl_grey], id: "teas_earl_grey", name: "teas", value: "earl grey", }Earl grey
|
537
544
|
|
538
545
|
!.strip + "\n"
|
539
546
|
}
|
@@ -547,22 +554,22 @@ s.chomp
|
|
547
554
|
end
|
548
555
|
context "Given several select tags" do
|
549
556
|
let(:expected) { top_bit + %q!
|
550
|
-
%form{ atts[:myform], id: "myform",
|
557
|
+
%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }
|
551
558
|
%label{ for: "teas", }
|
552
559
|
Favourite tea:
|
553
560
|
%select{ atts[:teas], tabindex: "#{@campo_tabindex += 1}", id: "teas", name: "teas", }
|
554
|
-
%option{ atts[:teas_default], id: "teas_default",
|
555
|
-
%option{ atts[:teas_ceylon], id: "teas_ceylon",
|
556
|
-
%option{ atts[:teas_breakfast], id: "teas_breakfast",
|
557
|
-
%option{ atts[:teas_earl_grey], id: "teas_earl_grey",
|
561
|
+
%option{ atts[:teas_default], id: "teas_default", name: "teas", value: "", disabled: "disabled", }Choose one:
|
562
|
+
%option{ atts[:teas_ceylon], id: "teas_ceylon", name: "teas", value: "ceylon", }Ceylon
|
563
|
+
%option{ atts[:teas_breakfast], id: "teas_breakfast", name: "teas", value: "breakfast", }Breakfast
|
564
|
+
%option{ atts[:teas_earl_grey], id: "teas_earl_grey", name: "teas", value: "earl grey", }Earl grey
|
558
565
|
%label{ for: "coffees", }
|
559
566
|
Favourite coffee:
|
560
567
|
%select{ atts[:coffees], tabindex: "#{@campo_tabindex += 1}", id: "coffees", name: "coffees", }
|
561
|
-
%option{ atts[:coffees_default], id: "coffees_default",
|
562
|
-
%option{ atts[:coffees_blue_mountain], id: "coffees_blue_mountain",
|
563
|
-
%option{ atts[:coffees_kenyan_peaberry], id: "coffees_kenyan_peaberry",
|
564
|
-
%option{ atts[:coffees_colombian], id: "coffees_colombian",
|
565
|
-
%option{ atts[:coffees_java], id: "coffees_java",
|
568
|
+
%option{ atts[:coffees_default], id: "coffees_default", name: "coffees", value: "", disabled: "disabled", }Choose one:
|
569
|
+
%option{ atts[:coffees_blue_mountain], id: "coffees_blue_mountain", name: "coffees", value: "blue mountain", }Blue mountain
|
570
|
+
%option{ atts[:coffees_kenyan_peaberry], id: "coffees_kenyan_peaberry", name: "coffees", value: "kenyan peaberry", }Kenyan peaberry
|
571
|
+
%option{ atts[:coffees_colombian], id: "coffees_colombian", name: "coffees", value: "colombian", }Colombian
|
572
|
+
%option{ atts[:coffees_java], id: "coffees_java", name: "coffees", value: "java", }Java
|
566
573
|
|
567
574
|
!.strip + "\n" }
|
568
575
|
before {
|
@@ -581,7 +588,7 @@ s.chomp
|
|
581
588
|
context "Given a submit button" do
|
582
589
|
context "With no arguments" do
|
583
590
|
let(:expected) { top_bit + %q!
|
584
|
-
%form{ atts[:myform], id: "myform",
|
591
|
+
%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }
|
585
592
|
%input{ atts[:Submit], tabindex: "#{@campo_tabindex += 1}", id: "Submit", type: "submit", value: "Submit", }
|
586
593
|
|
587
594
|
!.strip + "\n" }
|
@@ -596,7 +603,7 @@ s.chomp
|
|
596
603
|
end
|
597
604
|
context "With a name" do
|
598
605
|
let(:expected) { top_bit + %q!
|
599
|
-
%form{ atts[:myform], id: "myform",
|
606
|
+
%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }
|
600
607
|
%input{ atts[:save], tabindex: "#{@campo_tabindex += 1}", id: "save", type: "submit", value: "Save", }
|
601
608
|
|
602
609
|
!.strip + "\n" }
|
@@ -659,7 +666,7 @@ s.chomp
|
|
659
666
|
|
660
667
|
describe "the full output" do
|
661
668
|
let(:expected) { top_bit + %q$
|
662
|
-
%form{ atts[:myform], id: "myform",
|
669
|
+
%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }
|
663
670
|
Hello, World!$.strip + "\n"}
|
664
671
|
let(:form){
|
665
672
|
form = Campo::Form.new( "myform" )
|
@@ -685,7 +692,7 @@ s.chomp
|
|
685
692
|
end
|
686
693
|
Campo.output form
|
687
694
|
}
|
688
|
-
let(:expected) { top_bit + %q$%form{ atts[:myform], id: "myform",
|
695
|
+
let(:expected) { top_bit + %q$%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }
|
689
696
|
%p
|
690
697
|
Whatever
|
691
698
|
%br
|
@@ -730,7 +737,7 @@ $.strip + "\n" }
|
|
730
737
|
|
731
738
|
describe "the full output" do
|
732
739
|
let(:expected) { top_bit + %q!
|
733
|
-
%form{ atts[:myform], id: "myform",
|
740
|
+
%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }
|
734
741
|
= 5 + 1!.strip + "\n"}
|
735
742
|
let(:form){
|
736
743
|
form = Campo::Form.new( "myform" )
|
@@ -755,7 +762,7 @@ $.strip + "\n" }
|
|
755
762
|
end
|
756
763
|
Campo.output form
|
757
764
|
}
|
758
|
-
let(:expected) { top_bit + %q$%form{ atts[:myform], id: "myform",
|
765
|
+
let(:expected) { top_bit + %q$%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }
|
759
766
|
= 5 + 1
|
760
767
|
="%p"
|
761
768
|
Whatever
|
@@ -813,7 +820,7 @@ $.strip + "\n" }
|
|
813
820
|
|
814
821
|
context "Campo.output" do
|
815
822
|
let(:expected) { %q!%select{ atts[:pqr], tabindex: "#{@campo_tabindex += 1}", id: "pqr", name: "pqr", }
|
816
|
-
%option{ atts[:pqr_default], id: "pqr_default",
|
823
|
+
%option{ atts[:pqr_default], id: "pqr_default", name: "pqr", value: "", disabled: "disabled", }Choose one:!.strip + "\n" }
|
817
824
|
subject { Campo.output tag.with_default, :partial=>true }
|
818
825
|
it { should == expected }
|
819
826
|
end
|
@@ -827,7 +834,7 @@ $.strip + "\n" }
|
|
827
834
|
|
828
835
|
context "Campo.output" do
|
829
836
|
let(:expected) { %q<%select{ atts[:pqr], tabindex: "#{@campo_tabindex += 1}", id: "pqr", name: "pqr", }
|
830
|
-
%option{ atts[:pqr_default], id: "pqr_default",
|
837
|
+
%option{ atts[:pqr_default], id: "pqr_default", name: "pqr", value: "", disabled: "disabled", }Choose wisely!>.strip + "\n" }
|
831
838
|
subject { Campo.output tag.with_default("Choose wisely!"), :partial=>true }
|
832
839
|
it { should == expected }
|
833
840
|
end
|
@@ -840,7 +847,7 @@ $.strip + "\n" }
|
|
840
847
|
|
841
848
|
context "Campo.output" do
|
842
849
|
let(:expected) { %q<%select{ atts[:pqr], tabindex: "#{@campo_tabindex += 1}", id: "pqr", name: "pqr", }
|
843
|
-
%option{ atts[:pqr_default], id: "pqr_default",
|
850
|
+
%option{ atts[:pqr_default], id: "pqr_default", name: "pqr", value: "", }Choose wisely!>.strip + "\n" }
|
844
851
|
subject { Campo.output tag.with_default("Choose wisely!",{}), :partial=>true }
|
845
852
|
it { should == expected }
|
846
853
|
end
|
@@ -853,7 +860,7 @@ $.strip + "\n" }
|
|
853
860
|
|
854
861
|
context "Campo.output" do
|
855
862
|
let(:expected) { %q<%select{ atts[:pqr], tabindex: "#{@campo_tabindex += 1}", id: "pqr", name: "pqr", }
|
856
|
-
%option{ atts[:pqr_default], id: "pqr_default",
|
863
|
+
%option{ atts[:pqr_default], id: "pqr_default", name: "pqr", value: "", class: "default", }Choose wisely!>.strip + "\n" }
|
857
864
|
subject { Campo.output tag.with_default("Choose wisely!",{class: "default"}), :partial=>true }
|
858
865
|
it { should == expected }
|
859
866
|
end
|
@@ -880,9 +887,9 @@ $.strip + "\n" }
|
|
880
887
|
|
881
888
|
context "Campo.output" do
|
882
889
|
let(:expected) { %q!%select{ atts[:pqr], tabindex: "#{@campo_tabindex += 1}", id: "pqr", name: "pqr", }
|
883
|
-
%option{ atts[:pqr_volvo], id: "pqr_volvo",
|
884
|
-
%option{ atts[:pqr_saab], id: "pqr_saab",
|
885
|
-
%option{ atts[:pqr_audi], id: "pqr_audi",
|
890
|
+
%option{ atts[:pqr_volvo], id: "pqr_volvo", name: "pqr", value: "volvo", }Volvo
|
891
|
+
%option{ atts[:pqr_saab], id: "pqr_saab", name: "pqr", value: "saab", }Saab
|
892
|
+
%option{ atts[:pqr_audi], id: "pqr_audi", name: "pqr", value: "audi", }Audi
|
886
893
|
!.strip + "\n" }
|
887
894
|
subject { Campo.output tag, :partial=>true }
|
888
895
|
it { should_not be_nil }
|
@@ -899,10 +906,10 @@ $.strip + "\n" }
|
|
899
906
|
|
900
907
|
context "Campo.output" do
|
901
908
|
let(:expected) { %q!%select{ atts[:pqr], tabindex: "#{@campo_tabindex += 1}", id: "pqr", name: "pqr", }
|
902
|
-
%option{ atts[:pqr_default], id: "pqr_default",
|
903
|
-
%option{ atts[:pqr_volvo], id: "pqr_volvo",
|
904
|
-
%option{ atts[:pqr_saab], id: "pqr_saab",
|
905
|
-
%option{ atts[:pqr_audi], id: "pqr_audi",
|
909
|
+
%option{ atts[:pqr_default], id: "pqr_default", name: "pqr", value: "", disabled: "disabled", }Choose one:
|
910
|
+
%option{ atts[:pqr_volvo], id: "pqr_volvo", name: "pqr", value: "volvo", }Volvo
|
911
|
+
%option{ atts[:pqr_saab], id: "pqr_saab", name: "pqr", value: "saab", }Saab
|
912
|
+
%option{ atts[:pqr_audi], id: "pqr_audi", name: "pqr", value: "audi", }Audi
|
906
913
|
!.strip + "\n" }
|
907
914
|
subject { Campo.output tag.with_default, :partial=>true }
|
908
915
|
it { should == expected }
|
@@ -923,9 +930,9 @@ $.strip + "\n" }
|
|
923
930
|
|
924
931
|
context "Campo.output" do
|
925
932
|
let(:expected) { %q!%select{ atts[:pqr], tabindex: "#{@campo_tabindex += 1}", id: "pqr", name: "pqr", }
|
926
|
-
%option{ atts[:pqr_volvo], id: "pqr_volvo",
|
927
|
-
%option{ atts[:pqr_saab], id: "pqr_saab",
|
928
|
-
%option{ atts[:pqr_audi], id: "pqr_audi",
|
933
|
+
%option{ atts[:pqr_volvo], id: "pqr_volvo", name: "pqr", value: "volvo", }Volvo
|
934
|
+
%option{ atts[:pqr_saab], id: "pqr_saab", name: "pqr", value: "saab", }Saab
|
935
|
+
%option{ atts[:pqr_audi], id: "pqr_audi", name: "pqr", value: "audi", }Audi
|
929
936
|
= opts!.strip + "\n" }
|
930
937
|
subject {
|
931
938
|
Campo.output tag, :partial=>true
|
@@ -950,9 +957,9 @@ $.strip + "\n" }
|
|
950
957
|
}
|
951
958
|
let(:expected) {
|
952
959
|
%q!%select{ atts[:pqr], tabindex: "#{@campo_tabindex += 1}", id: "pqr", name: "pqr", }
|
953
|
-
%option{ atts[:pqr_ford], id: "pqr_ford",
|
954
|
-
%option{ atts[:pqr_bmw], id: "pqr_bmw",
|
955
|
-
%option{ atts[:pqr_ferrari], id: "pqr_ferrari",
|
960
|
+
%option{ atts[:pqr_ford], id: "pqr_ford", name: "pqr", value: "ford", }Ford
|
961
|
+
%option{ atts[:pqr_bmw], id: "pqr_bmw", name: "pqr", value: "bmw", }Bmw
|
962
|
+
%option{ atts[:pqr_ferrari], id: "pqr_ferrari", name: "pqr", value: "ferrari", selected: "selected", }Ferrari!.strip + "\n" }
|
956
963
|
subject { Campo.output tag, :partial=>true }
|
957
964
|
it { should_not be_nil }
|
958
965
|
it { should == expected }
|
@@ -984,12 +991,12 @@ $.strip + "\n" }
|
|
984
991
|
|
985
992
|
context "Campo.output" do
|
986
993
|
let(:expected) { %q!%select{ atts[:pqr], tabindex: "#{@campo_tabindex += 1}", id: "pqr", name: "pqr", }
|
987
|
-
%option{ atts[:pqr_volvo], id: "pqr_volvo",
|
988
|
-
%option{ atts[:pqr_saab], id: "pqr_saab",
|
989
|
-
%option{ atts[:pqr_audi], id: "pqr_audi",
|
990
|
-
%option{ atts[:pqr_ford], id: "pqr_ford",
|
991
|
-
%option{ atts[:pqr_bmw], id: "pqr_bmw",
|
992
|
-
%option{ atts[:pqr_ferrari], id: "pqr_ferrari",
|
994
|
+
%option{ atts[:pqr_volvo], id: "pqr_volvo", name: "pqr", value: "volvo", }Volvo
|
995
|
+
%option{ atts[:pqr_saab], id: "pqr_saab", name: "pqr", value: "saab", }Saab
|
996
|
+
%option{ atts[:pqr_audi], id: "pqr_audi", name: "pqr", value: "audi", }Audi
|
997
|
+
%option{ atts[:pqr_ford], id: "pqr_ford", name: "pqr", value: "ford", }Ford
|
998
|
+
%option{ atts[:pqr_bmw], id: "pqr_bmw", name: "pqr", value: "bmw", }BMW
|
999
|
+
%option{ atts[:pqr_ferrari], id: "pqr_ferrari", name: "pqr", value: "ferrari", selected: "selected", }Ferrari!.strip + "\n" }
|
993
1000
|
subject { Campo.output tag, :partial=>true }
|
994
1001
|
it { should_not be_nil }
|
995
1002
|
it { should == expected }
|
@@ -1004,12 +1011,12 @@ $.strip + "\n" }
|
|
1004
1011
|
end
|
1005
1012
|
}
|
1006
1013
|
let(:expected) { %q!%select{ atts[:pqr], tabindex: "#{@campo_tabindex += 1}", id: "pqr", name: "pqr", }
|
1007
|
-
%option{ atts[:pqr_volvo], id: "pqr_volvo",
|
1008
|
-
%option{ atts[:pqr_saab], id: "pqr_saab",
|
1009
|
-
%option{ atts[:pqr_audi], id: "pqr_audi",
|
1010
|
-
%option{ atts[:pqr_ford], id: "pqr_ford",
|
1011
|
-
%option{ atts[:pqr_bmw], id: "pqr_bmw",
|
1012
|
-
%option{ atts[:pqr_ferrari], id: "pqr_ferrari", value: "ferrari", selected: "selected", class: "green",
|
1014
|
+
%option{ atts[:pqr_volvo], id: "pqr_volvo", name: "pqr", value: "volvo", }Volvo
|
1015
|
+
%option{ atts[:pqr_saab], id: "pqr_saab", name: "pqr", value: "saab", }Saab
|
1016
|
+
%option{ atts[:pqr_audi], id: "pqr_audi", name: "pqr", value: "audi", }Audi
|
1017
|
+
%option{ atts[:pqr_ford], id: "pqr_ford", name: "pqr", value: "ford", class: "blue", }Ford
|
1018
|
+
%option{ atts[:pqr_bmw], id: "pqr_bmw", name: "pqr", value: "bmw", }BMW
|
1019
|
+
%option{ atts[:pqr_ferrari], id: "pqr_ferrari", name: "pqr", value: "ferrari", selected: "selected", class: "green", }Ferrari!.strip + "\n" }
|
1013
1020
|
subject { Campo.output tag, :partial=>true }
|
1014
1021
|
it { should_not be_nil }
|
1015
1022
|
it { should == expected }
|
@@ -1025,13 +1032,13 @@ $.strip + "\n" }
|
|
1025
1032
|
|
1026
1033
|
context "Campo.output" do
|
1027
1034
|
let(:expected) { %q!%select{ atts[:pqr], tabindex: "#{@campo_tabindex += 1}", id: "pqr", name: "pqr", }
|
1028
|
-
%option{ atts[:pqr_default], id: "pqr_default",
|
1029
|
-
%option{ atts[:pqr_volvo], id: "pqr_volvo",
|
1030
|
-
%option{ atts[:pqr_saab], id: "pqr_saab",
|
1031
|
-
%option{ atts[:pqr_audi], id: "pqr_audi",
|
1032
|
-
%option{ atts[:pqr_ford], id: "pqr_ford",
|
1033
|
-
%option{ atts[:pqr_bmw], id: "pqr_bmw",
|
1034
|
-
%option{ atts[:pqr_ferrari], id: "pqr_ferrari",
|
1035
|
+
%option{ atts[:pqr_default], id: "pqr_default", name: "pqr", value: "", disabled: "disabled", }Choose one:
|
1036
|
+
%option{ atts[:pqr_volvo], id: "pqr_volvo", name: "pqr", value: "volvo", }Volvo
|
1037
|
+
%option{ atts[:pqr_saab], id: "pqr_saab", name: "pqr", value: "saab", }Saab
|
1038
|
+
%option{ atts[:pqr_audi], id: "pqr_audi", name: "pqr", value: "audi", }Audi
|
1039
|
+
%option{ atts[:pqr_ford], id: "pqr_ford", name: "pqr", value: "ford", }Ford
|
1040
|
+
%option{ atts[:pqr_bmw], id: "pqr_bmw", name: "pqr", value: "bmw", }BMW
|
1041
|
+
%option{ atts[:pqr_ferrari], id: "pqr_ferrari", name: "pqr", value: "ferrari", selected: "selected", }Ferrari!.strip + "\n" }
|
1035
1042
|
subject { Campo.output tag.with_default, :partial=>true }
|
1036
1043
|
it { should == expected }
|
1037
1044
|
end
|
@@ -1054,7 +1061,7 @@ $.strip + "\n" }
|
|
1054
1061
|
|
1055
1062
|
it { should_not be_nil }
|
1056
1063
|
it { should be_a_kind_of(Select) }
|
1057
|
-
specify { Campo.output( subject, :partial=>true ).should == %Q!%select{ atts[:tea], tabindex: "\#{@campo_tabindex += 1}", id: "tea", name: "tea", }\n %option{ atts[:tea_ceylon], id: "tea_ceylon",
|
1064
|
+
specify { Campo.output( subject, :partial=>true ).should == %Q!%select{ atts[:tea], tabindex: "\#{@campo_tabindex += 1}", id: "tea", name: "tea", }\n %option{ atts[:tea_ceylon], id: "tea_ceylon", name: "tea", value: "ceylon", }Ceylon\n %option{ atts[:tea_english_breakfast], id: "tea_english_breakfast", name: "tea", value: "english_breakfast", }English breakfast\n %option{ atts[:tea_earl_grey], id: "tea_earl_grey", name: "tea", value: "earl_grey", }Earl grey\n! }
|
1058
1065
|
end
|
1059
1066
|
context "and a single string value" do
|
1060
1067
|
let(:opts) {
|
@@ -1071,7 +1078,7 @@ $.strip + "\n" }
|
|
1071
1078
|
|
1072
1079
|
it { should_not be_nil }
|
1073
1080
|
it { should be_a_kind_of(Select) }
|
1074
|
-
specify { Campo.output( subject, :partial=>true ).should == %Q!%select{ atts[:tea], tabindex: "\#{@campo_tabindex += 1}", id: "tea", name: "tea", }\n %option{ atts[:tea_ceylon], id: "tea_ceylon",
|
1081
|
+
specify { Campo.output( subject, :partial=>true ).should == %Q!%select{ atts[:tea], tabindex: "\#{@campo_tabindex += 1}", id: "tea", name: "tea", }\n %option{ atts[:tea_ceylon], id: "tea_ceylon", name: "tea", value: "ceylon", }Ceylon\n %option{ atts[:tea_english_breakfast], id: "tea_english_breakfast", name: "tea", value: "english_breakfast", }English Breakfast\n %option{ atts[:tea_earl_grey], id: "tea_earl_grey", name: "tea", value: "earl_grey", }Earl Grey\n! }
|
1075
1082
|
end
|
1076
1083
|
context "and an array value" do
|
1077
1084
|
let(:opts) {
|
@@ -1088,7 +1095,7 @@ $.strip + "\n" }
|
|
1088
1095
|
|
1089
1096
|
it { should_not be_nil }
|
1090
1097
|
it { should be_a_kind_of(Select) }
|
1091
|
-
specify { Campo.output( subject, :partial=>true ).should == %Q!%select{ atts[:tea], tabindex: "\#{@campo_tabindex += 1}", id: "tea", name: "tea", }\n %option{ atts[:tea_ceylon], id: "tea_ceylon",
|
1098
|
+
specify { Campo.output( subject, :partial=>true ).should == %Q!%select{ atts[:tea], tabindex: "\#{@campo_tabindex += 1}", id: "tea", name: "tea", }\n %option{ atts[:tea_ceylon], id: "tea_ceylon", name: "tea", value: "ceylon", }Ceylon\n %option{ atts[:tea_english_breakfast], id: "tea_english_breakfast", name: "tea", value: "english_breakfast", selected: "selected", }English Breakfast\n %option{ atts[:tea_earl_grey], id: "tea_earl_grey", name: "tea", value: "earl_grey", }Earl Grey\n! }
|
1092
1099
|
end
|
1093
1100
|
end
|
1094
1101
|
end
|
@@ -1107,7 +1114,7 @@ $.strip + "\n" }
|
|
1107
1114
|
context "Given a name" do
|
1108
1115
|
context "and nothing else" do
|
1109
1116
|
let(:tag) { Campo::Input.new( "abc" ) }
|
1110
|
-
let(:output) { %q!%input{ atts[:abc], tabindex: "#{@campo_tabindex += 1}", id: "abc",
|
1117
|
+
let(:output) { %q!%input{ atts[:abc], tabindex: "#{@campo_tabindex += 1}", id: "abc", name: "abc", type: "text", }! }
|
1111
1118
|
subject { tag }
|
1112
1119
|
it { should_not be_nil }
|
1113
1120
|
it { should be_a_kind_of(Input) }
|
@@ -1124,7 +1131,7 @@ $.strip + "\n" }
|
|
1124
1131
|
context "and a type" do
|
1125
1132
|
context "of text" do
|
1126
1133
|
let(:tag) { Campo::Input.new( "abc", :text ) }
|
1127
|
-
let(:output) { %q!%input{ atts[:abc], tabindex: "#{@campo_tabindex += 1}", id: "abc",
|
1134
|
+
let(:output) { %q!%input{ atts[:abc], tabindex: "#{@campo_tabindex += 1}", id: "abc", name: "abc", type: "text", }! }
|
1128
1135
|
subject { tag }
|
1129
1136
|
it { should_not be_nil }
|
1130
1137
|
it { should be_a_kind_of(Input) }
|
@@ -1139,7 +1146,7 @@ $.strip + "\n" }
|
|
1139
1146
|
end
|
1140
1147
|
context "of password" do
|
1141
1148
|
let(:tag) { Campo::Input.new( "abc", :password ) }
|
1142
|
-
let(:output) { %q!%input{ atts[:abc], tabindex: "#{@campo_tabindex += 1}", id: "abc",
|
1149
|
+
let(:output) { %q!%input{ atts[:abc], tabindex: "#{@campo_tabindex += 1}", id: "abc", name: "abc", type: "password", }! }
|
1143
1150
|
subject { tag }
|
1144
1151
|
it { should_not be_nil }
|
1145
1152
|
it { should be_a_kind_of(Input) }
|
@@ -1156,7 +1163,7 @@ $.strip + "\n" }
|
|
1156
1163
|
end
|
1157
1164
|
context "of checkbox" do
|
1158
1165
|
let(:tag) { Campo::Input.new( "abc", :checkbox ) }
|
1159
|
-
let(:output) { %q!%input{ atts[:abc], tabindex: "#{@campo_tabindex += 1}", id: "abc",
|
1166
|
+
let(:output) { %q!%input{ atts[:abc], tabindex: "#{@campo_tabindex += 1}", id: "abc", name: "abc", type: "checkbox", }! }
|
1160
1167
|
subject { tag }
|
1161
1168
|
it { should_not be_nil }
|
1162
1169
|
it { should be_a_kind_of(Input) }
|
@@ -1174,7 +1181,7 @@ $.strip + "\n" }
|
|
1174
1181
|
|
1175
1182
|
context "Given an input with a [] to notify it's an array" do
|
1176
1183
|
let(:tag) { Campo::Input.new( "abc[]", :checkbox, value: "many" ) }
|
1177
|
-
let(:output) { %q!%input{ atts[:abc_many], tabindex: "#{@campo_tabindex += 1}", id: "abc_many",
|
1184
|
+
let(:output) { %q!%input{ atts[:abc_many], tabindex: "#{@campo_tabindex += 1}", id: "abc_many", name: "abc[]", type: "checkbox", value: "many", }! }
|
1178
1185
|
subject { tag }
|
1179
1186
|
it { should_not be_nil }
|
1180
1187
|
it { should be_a_kind_of(Input) }
|
@@ -1193,29 +1200,29 @@ $.strip + "\n" }
|
|
1193
1200
|
- inners = {} if inners.nil?
|
1194
1201
|
- inners.default = "" if inners.default.nil?
|
1195
1202
|
- @campo_tabindex ||= 0 # for tabindex
|
1196
|
-
%form{ atts[:example], id: "example",
|
1203
|
+
%form{ atts[:example], id: "example", name: "example", method: "POST", role: "form", }
|
1197
1204
|
%label{ for: "a", }
|
1198
1205
|
A
|
1199
|
-
%input{ atts[:a], tabindex: "#{@campo_tabindex += 1}", id: "a",
|
1206
|
+
%input{ atts[:a], tabindex: "#{@campo_tabindex += 1}", id: "a", name: "a", type: "text", }
|
1200
1207
|
%label{ for: "b", }
|
1201
1208
|
B
|
1202
|
-
%input{ atts[:b], tabindex: "#{@campo_tabindex += 1}", id: "b",
|
1209
|
+
%input{ atts[:b], tabindex: "#{@campo_tabindex += 1}", id: "b", name: "b", type: "text", }
|
1203
1210
|
%fieldset{ }
|
1204
1211
|
%legend{ }Which C?
|
1205
1212
|
%label{ for: "c_grouped", }
|
1206
1213
|
Grouped
|
1207
|
-
%input{ atts[:c_grouped], tabindex: "#{@campo_tabindex += 1}", id: "c_grouped",
|
1214
|
+
%input{ atts[:c_grouped], tabindex: "#{@campo_tabindex += 1}", id: "c_grouped", name: "c", type: "checkbox", value: "grouped", }
|
1208
1215
|
%label{ for: "c", }
|
1209
1216
|
Also grouped
|
1210
|
-
%input{ atts[:c], tabindex: "#{@campo_tabindex += 1}", id: "c", type: "checkbox", valued: "also grouped",
|
1217
|
+
%input{ atts[:c], tabindex: "#{@campo_tabindex += 1}", id: "c", name: "c", type: "checkbox", valued: "also grouped", }
|
1211
1218
|
%fieldset{ }
|
1212
1219
|
%legend{ }Which D?
|
1213
1220
|
%label{ for: "d_grouped", }
|
1214
1221
|
Grouped
|
1215
|
-
%input{ atts[:d_grouped], tabindex: "#{@campo_tabindex += 1}", id: "d_grouped",
|
1222
|
+
%input{ atts[:d_grouped], tabindex: "#{@campo_tabindex += 1}", id: "d_grouped", name: "d[]", type: "checkbox", value: "grouped", }
|
1216
1223
|
%label{ for: "d_also_grouped", }
|
1217
1224
|
Also grouped
|
1218
|
-
%input{ atts[:d_also_grouped], tabindex: "#{@campo_tabindex += 1}", id: "d_also_grouped", type: "checkbox", value: "also grouped",
|
1225
|
+
%input{ atts[:d_also_grouped], tabindex: "#{@campo_tabindex += 1}", id: "d_also_grouped", name: "d[]", type: "checkbox", value: "also grouped", }
|
1219
1226
|
%input{ atts[:Submit], tabindex: "#{@campo_tabindex += 1}", id: "Submit", type: "submit", value: "Submit", }
|
1220
1227
|
!
|
1221
1228
|
}
|
@@ -1244,7 +1251,7 @@ $.strip + "\n" }
|
|
1244
1251
|
|
1245
1252
|
context "of radio" do
|
1246
1253
|
let(:tag) { Campo::Input.new( "abc", :radio ) }
|
1247
|
-
let(:output) { %q!%input{ atts[:abc], tabindex: "#{@campo_tabindex += 1}", id: "abc",
|
1254
|
+
let(:output) { %q!%input{ atts[:abc], tabindex: "#{@campo_tabindex += 1}", id: "abc", name: "abc", type: "radio", }! }
|
1248
1255
|
subject { tag }
|
1249
1256
|
it { should_not be_nil }
|
1250
1257
|
it { should be_a_kind_of(Input) }
|
@@ -1265,16 +1272,16 @@ $.strip + "\n" }
|
|
1265
1272
|
context "Labelling" do
|
1266
1273
|
let(:expected) {
|
1267
1274
|
top_bit + %q!
|
1268
|
-
%form{ atts[:myform], id: "myform",
|
1275
|
+
%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }
|
1269
1276
|
%label{ for: "abc", }
|
1270
1277
|
abc
|
1271
|
-
%input{ atts[:abc], tabindex: "#{@campo_tabindex += 1}", id: "abc",
|
1278
|
+
%input{ atts[:abc], tabindex: "#{@campo_tabindex += 1}", id: "abc", name: "abc", type: "text", }
|
1272
1279
|
%label{ for: "deff", }
|
1273
1280
|
deff
|
1274
|
-
%input{ atts[:deff], tabindex: "#{@campo_tabindex += 1}", id: "deff",
|
1281
|
+
%input{ atts[:deff], tabindex: "#{@campo_tabindex += 1}", id: "deff", name: "deff", type: "text", }
|
1275
1282
|
%label{ for: "ghi", }
|
1276
1283
|
ghi
|
1277
|
-
%input{ atts[:ghi], tabindex: "#{@campo_tabindex += 1}", id: "ghi",
|
1284
|
+
%input{ atts[:ghi], tabindex: "#{@campo_tabindex += 1}", id: "ghi", name: "ghi", type: "text", }
|
1278
1285
|
|
1279
1286
|
!.strip + "\n"
|
1280
1287
|
}
|
@@ -1292,18 +1299,18 @@ $.strip + "\n" }
|
|
1292
1299
|
context "Within a fieldset" do
|
1293
1300
|
let(:expected) {
|
1294
1301
|
top_bit + %q!
|
1295
|
-
%form{ atts[:myform], id: "myform",
|
1302
|
+
%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }
|
1296
1303
|
%fieldset{ }
|
1297
1304
|
%legend{ }Alphabetty spaghetti
|
1298
1305
|
%label{ for: "abc", }
|
1299
1306
|
Abc
|
1300
|
-
%input{ atts[:abc], tabindex: "#{@campo_tabindex += 1}", id: "abc",
|
1307
|
+
%input{ atts[:abc], tabindex: "#{@campo_tabindex += 1}", id: "abc", name: "abc", type: "text", }
|
1301
1308
|
%label{ for: "def", }
|
1302
1309
|
Def
|
1303
|
-
%input{ atts[:def], tabindex: "#{@campo_tabindex += 1}", id: "def",
|
1310
|
+
%input{ atts[:def], tabindex: "#{@campo_tabindex += 1}", id: "def", name: "def", type: "text", }
|
1304
1311
|
%label{ for: "ghi", }
|
1305
1312
|
Ghi
|
1306
|
-
%input{ atts[:ghi], tabindex: "#{@campo_tabindex += 1}", id: "ghi",
|
1313
|
+
%input{ atts[:ghi], tabindex: "#{@campo_tabindex += 1}", id: "ghi", name: "ghi", type: "text", }
|
1307
1314
|
|
1308
1315
|
!.strip + "\n"
|
1309
1316
|
}
|
@@ -1327,24 +1334,24 @@ $.strip + "\n" }
|
|
1327
1334
|
describe "A form with a group of radio buttons" do
|
1328
1335
|
let(:expected) {
|
1329
1336
|
top_bit + %q!
|
1330
|
-
%form{ atts[:myform], id: "myform",
|
1337
|
+
%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }
|
1331
1338
|
%fieldset{ }
|
1332
1339
|
%legend{ }Select the colour you like most:
|
1333
1340
|
%label{ for: "radio1_green", }
|
1334
1341
|
green
|
1335
|
-
%input{ atts[:radio1_green], tabindex: "#{@campo_tabindex += 1}", id: "radio1_green",
|
1342
|
+
%input{ atts[:radio1_green], tabindex: "#{@campo_tabindex += 1}", id: "radio1_green", name: "radio1", type: "radio", value: "green", }
|
1336
1343
|
%label{ for: "radio1_yellow", }
|
1337
1344
|
yellow
|
1338
|
-
%input{ atts[:radio1_yellow], tabindex: "#{@campo_tabindex += 1}", id: "radio1_yellow",
|
1345
|
+
%input{ atts[:radio1_yellow], tabindex: "#{@campo_tabindex += 1}", id: "radio1_yellow", name: "radio1", type: "radio", value: "yellow", }
|
1339
1346
|
%label{ for: "radio1_red", }
|
1340
1347
|
red
|
1341
|
-
%input{ atts[:radio1_red], tabindex: "#{@campo_tabindex += 1}", id: "radio1_red",
|
1348
|
+
%input{ atts[:radio1_red], tabindex: "#{@campo_tabindex += 1}", id: "radio1_red", name: "radio1", type: "radio", value: "red", }
|
1342
1349
|
%label{ for: "radio1_blue", }
|
1343
1350
|
blue
|
1344
|
-
%input{ atts[:radio1_blue], tabindex: "#{@campo_tabindex += 1}", id: "radio1_blue",
|
1351
|
+
%input{ atts[:radio1_blue], tabindex: "#{@campo_tabindex += 1}", id: "radio1_blue", name: "radio1", type: "radio", value: "blue", }
|
1345
1352
|
%label{ for: "radio1_purple", }
|
1346
1353
|
purple
|
1347
|
-
%input{ atts[:radio1_purple], tabindex: "#{@campo_tabindex += 1}", id: "radio1_purple",
|
1354
|
+
%input{ atts[:radio1_purple], tabindex: "#{@campo_tabindex += 1}", id: "radio1_purple", name: "radio1", type: "radio", value: "purple", }
|
1348
1355
|
|
1349
1356
|
!.strip + "\n"
|
1350
1357
|
}
|
@@ -1368,8 +1375,10 @@ $.strip + "\n" }
|
|
1368
1375
|
|
1369
1376
|
describe Textarea do
|
1370
1377
|
context "Given no arguments" do
|
1371
|
-
|
1372
|
-
it
|
1378
|
+
subject { Textarea.new }
|
1379
|
+
it "should fail" do
|
1380
|
+
expect { subject }.should raise_error
|
1381
|
+
end
|
1373
1382
|
end
|
1374
1383
|
context "Given a name" do
|
1375
1384
|
subject { Textarea.new( "textie" ) }
|
@@ -1386,10 +1395,10 @@ $.strip + "\n" }
|
|
1386
1395
|
|
1387
1396
|
describe "the full output" do
|
1388
1397
|
let(:expected) { top_bit + %q!
|
1389
|
-
%form{ atts[:myform], id: "myform",
|
1398
|
+
%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }
|
1390
1399
|
%label{ for: "textie", }
|
1391
1400
|
Textie
|
1392
|
-
%textarea{ atts[:textie], tabindex: "#{@campo_tabindex += 1}", id: "textie",
|
1401
|
+
%textarea{ atts[:textie], tabindex: "#{@campo_tabindex += 1}", id: "textie", name: "textie", cols: "40", rows: "10", }= inners[:textie] !.strip + " \n"}
|
1393
1402
|
let(:form){
|
1394
1403
|
form = Campo::Form.new( "myform" )
|
1395
1404
|
form.textarea( "textie" )
|
@@ -1407,10 +1416,10 @@ $.strip + "\n" }
|
|
1407
1416
|
|
1408
1417
|
describe "the full output" do
|
1409
1418
|
let(:expected) { top_bit + %q!
|
1410
|
-
%form{ atts[:myform], id: "myform",
|
1419
|
+
%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }
|
1411
1420
|
%label{ for: "textie", }
|
1412
1421
|
Textie labelled
|
1413
|
-
%textarea{ atts[:textie], tabindex: "#{@campo_tabindex += 1}", id: "textie",
|
1422
|
+
%textarea{ atts[:textie], tabindex: "#{@campo_tabindex += 1}", id: "textie", name: "textie", cols: "40", rows: "10", }= inners[:textie] !.strip + " \n"}
|
1414
1423
|
let(:form){
|
1415
1424
|
form = Campo::Form.new( "myform" )
|
1416
1425
|
form.textarea( "textie", labelled: "Textie labelled")
|
@@ -1436,10 +1445,10 @@ $.strip + "\n" }
|
|
1436
1445
|
|
1437
1446
|
describe "the full output" do
|
1438
1447
|
let(:expected) { top_bit + %q!
|
1439
|
-
%form{ atts[:myform], id: "myform",
|
1448
|
+
%form{ atts[:myform], id: "myform", name: "myform", method: "POST", role: "form", }
|
1440
1449
|
%label{ for: "textie", }
|
1441
1450
|
Textie
|
1442
|
-
%textarea{ atts[:textie], tabindex: "#{@campo_tabindex += 1}", id: "textie",
|
1451
|
+
%textarea{ atts[:textie], tabindex: "#{@campo_tabindex += 1}", id: "textie", name: "textie", cols: "60", rows: "10", }= inners[:textie]
|
1443
1452
|
!.strip + " \n"}
|
1444
1453
|
let(:form){
|
1445
1454
|
form = Campo::Form.new( "myform" )
|
@@ -83,13 +83,13 @@ let(:expected) {
|
|
83
83
|
.form
|
84
84
|
%label{ for: "a", class: "required", }
|
85
85
|
A
|
86
|
-
%input{ atts[:a], tabindex: "#{@campo_tabindex += 1}", id: "a",
|
86
|
+
%input{ atts[:a], tabindex: "#{@campo_tabindex += 1}", id: "a", name: "a", type: "text", class: "required", }
|
87
87
|
%label{ for: "c", }
|
88
88
|
C
|
89
|
-
%input{ atts[:c], tabindex: "#{@campo_tabindex += 1}", id: "c",
|
89
|
+
%input{ atts[:c], tabindex: "#{@campo_tabindex += 1}", id: "c", name: "c", type: "text", }
|
90
90
|
%label{ for: "g", class: "required", }
|
91
91
|
G
|
92
|
-
%input{ atts[:g], tabindex: "#{@campo_tabindex += 1}", id: "g",
|
92
|
+
%input{ atts[:g], tabindex: "#{@campo_tabindex += 1}", id: "g", name: "g", type: "text", size: "3", class: "required", }
|
93
93
|
STR
|
94
94
|
}
|
95
95
|
|
@@ -139,28 +139,28 @@ STR
|
|
139
139
|
- inners = {} if inners.nil?
|
140
140
|
- inners.default = "" if inners.default.nil?
|
141
141
|
- @campo_tabindex ||= 0 # for tabindex
|
142
|
-
%form{ atts[:exampleform], id: "exampleForm",
|
142
|
+
%form{ atts[:exampleform], id: "exampleForm", name: "exampleForm", method: "POST", role: "form", }
|
143
143
|
%label{ for: "a", class: "required", }
|
144
144
|
A
|
145
|
-
%input{ atts[:a], tabindex: "#{@campo_tabindex += 1}", id: "a",
|
145
|
+
%input{ atts[:a], tabindex: "#{@campo_tabindex += 1}", id: "a", name: "a", type: "text", class: "required", }
|
146
146
|
%label{ for: "b", class: "required", }
|
147
147
|
B
|
148
|
-
%input{ atts[:b], tabindex: "#{@campo_tabindex += 1}", id: "b",
|
148
|
+
%input{ atts[:b], tabindex: "#{@campo_tabindex += 1}", id: "b", name: "b", type: "text", class: "required", }
|
149
149
|
%label{ for: "c", }
|
150
150
|
C
|
151
|
-
%input{ atts[:c], tabindex: "#{@campo_tabindex += 1}", id: "c",
|
151
|
+
%input{ atts[:c], tabindex: "#{@campo_tabindex += 1}", id: "c", name: "c", type: "text", }
|
152
152
|
%label{ for: "d", }
|
153
153
|
D
|
154
|
-
%input{ atts[:d], tabindex: "#{@campo_tabindex += 1}", id: "d",
|
154
|
+
%input{ atts[:d], tabindex: "#{@campo_tabindex += 1}", id: "d", name: "d", type: "text", size: "2", }
|
155
155
|
%label{ for: "e", class: "required", }
|
156
156
|
E
|
157
|
-
%input{ atts[:e], tabindex: "#{@campo_tabindex += 1}", id: "e",
|
157
|
+
%input{ atts[:e], tabindex: "#{@campo_tabindex += 1}", id: "e", name: "e", type: "text", size: "5", class: "required", }
|
158
158
|
%label{ for: "f", }
|
159
159
|
F
|
160
|
-
%input{ atts[:f], tabindex: "#{@campo_tabindex += 1}", id: "f",
|
160
|
+
%input{ atts[:f], tabindex: "#{@campo_tabindex += 1}", id: "f", name: "f", type: "text", }
|
161
161
|
%label{ for: "g", class: "required", }
|
162
162
|
G
|
163
|
-
%input{ atts[:g], tabindex: "#{@campo_tabindex += 1}", id: "g",
|
163
|
+
%input{ atts[:g], tabindex: "#{@campo_tabindex += 1}", id: "g", name: "g", type: "text", size: "3", class: "required", }
|
164
164
|
STR
|
165
165
|
}
|
166
166
|
subject { Campo.output(form) }
|
data/spec/partial_spec.rb
CHANGED
@@ -16,19 +16,19 @@ describe :"Campo::Plugins::Partial" do
|
|
16
16
|
it { should_not be_nil }
|
17
17
|
it { should be_a_kind_of Campo::Plugins::Partial::Klass }
|
18
18
|
end
|
19
|
-
|
19
|
+
|
20
20
|
context "After initialisation" do
|
21
21
|
subject { Campo::Plugins::Partial::Klass.new }
|
22
22
|
it { should respond_to(:befores, :afters, :before_output, :after_output, :on_plugin, :extras, :plugged_in) }
|
23
23
|
end
|
24
24
|
end
|
25
|
-
|
25
|
+
|
26
26
|
describe :"Campo::Plugins::Partial.new" do
|
27
27
|
subject { Campo::Plugins::Partial.new }
|
28
28
|
it { should_not be_nil }
|
29
29
|
it { should be_a_kind_of Campo::Plugins::Partial::Klass }
|
30
30
|
end
|
31
|
-
|
31
|
+
|
32
32
|
context "Plugging in the Partial plugin" do
|
33
33
|
before(:each) { Campo.plugin :partial }
|
34
34
|
after(:each) { Campo.plugins.clear }
|
@@ -43,12 +43,12 @@ describe :"Campo::Plugins::Partial" do
|
|
43
43
|
subject { Campo::Outputter.new.partial }
|
44
44
|
it { should be_nil }
|
45
45
|
end
|
46
|
-
describe :declarations do
|
46
|
+
describe :declarations do
|
47
47
|
subject { Campo::Outputter.new.declarations }
|
48
48
|
it { should_not be_nil }
|
49
49
|
it { should be_a_kind_of String }
|
50
|
-
it { should include("- atts = {} if atts.nil?")
|
51
|
-
it { should include("# for tabindex\n")
|
50
|
+
it { should include("- atts = {} if atts.nil?") }
|
51
|
+
it { should include("# for tabindex\n") }
|
52
52
|
end
|
53
53
|
describe :options do
|
54
54
|
subject { Campo::Outputter.new.options }
|
metadata
CHANGED
@@ -1,67 +1,59 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: campo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.11.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Iain Barnett
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-12-19 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: haml
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
19
|
+
version: 4.0.0
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
26
|
+
version: 4.0.0
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: yard
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rake
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - '>='
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
|
-
description:
|
63
|
-
|
64
|
-
'
|
55
|
+
description: |2
|
56
|
+
Form builder for Haml
|
65
57
|
email: iainspeed @nospam@ gmail.com
|
66
58
|
executables: []
|
67
59
|
extensions: []
|
@@ -70,7 +62,7 @@ files:
|
|
70
62
|
- .gitignore
|
71
63
|
- .rspec
|
72
64
|
- .travis.yml
|
73
|
-
- CHANGES.
|
65
|
+
- CHANGES.md
|
74
66
|
- Gemfile
|
75
67
|
- README.markdown
|
76
68
|
- Rakefile
|
@@ -91,27 +83,26 @@ files:
|
|
91
83
|
- spec/support/matchers/items.rb
|
92
84
|
homepage: https://github.com/yb66/Campo
|
93
85
|
licenses: []
|
86
|
+
metadata: {}
|
94
87
|
post_install_message:
|
95
88
|
rdoc_options: []
|
96
89
|
require_paths:
|
97
90
|
- lib
|
98
91
|
required_ruby_version: !ruby/object:Gem::Requirement
|
99
|
-
none: false
|
100
92
|
requirements:
|
101
|
-
- -
|
93
|
+
- - '>='
|
102
94
|
- !ruby/object:Gem::Version
|
103
95
|
version: 1.9.2
|
104
96
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
97
|
requirements:
|
107
|
-
- -
|
98
|
+
- - '>='
|
108
99
|
- !ruby/object:Gem::Version
|
109
100
|
version: '0'
|
110
101
|
requirements: []
|
111
102
|
rubyforge_project:
|
112
|
-
rubygems_version: 1.
|
103
|
+
rubygems_version: 2.1.5
|
113
104
|
signing_key:
|
114
|
-
specification_version:
|
105
|
+
specification_version: 4
|
115
106
|
summary: Form builder for Haml
|
116
107
|
test_files:
|
117
108
|
- spec/aria_spec.rb
|
@@ -121,4 +112,3 @@ test_files:
|
|
121
112
|
- spec/plugins_spec.rb
|
122
113
|
- spec/spec_helper.rb
|
123
114
|
- spec/support/matchers/items.rb
|
124
|
-
has_rdoc:
|