padrino-helpers 0.12.0 → 0.12.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/padrino-helpers.rb +4 -1
- data/lib/padrino-helpers/asset_tag_helpers.rb +17 -14
- data/lib/padrino-helpers/breadcrumb_helpers.rb +6 -6
- data/lib/padrino-helpers/form_builder/abstract_form_builder.rb +119 -163
- data/lib/padrino-helpers/form_builder/deprecated_builder_methods.rb +92 -0
- data/lib/padrino-helpers/form_helpers.rb +66 -347
- data/lib/padrino-helpers/form_helpers/errors.rb +138 -0
- data/lib/padrino-helpers/form_helpers/options.rb +97 -0
- data/lib/padrino-helpers/form_helpers/security.rb +70 -0
- data/lib/padrino-helpers/output_helpers.rb +1 -1
- data/lib/padrino-helpers/output_helpers/abstract_handler.rb +1 -1
- data/lib/padrino-helpers/render_helpers.rb +10 -9
- data/lib/padrino-helpers/tag_helpers.rb +2 -1
- data/lib/padrino/rendering.rb +378 -0
- data/lib/padrino/rendering/extensions/erubis.rb +74 -0
- data/lib/padrino/rendering/extensions/haml.rb +29 -0
- data/lib/padrino/rendering/extensions/slim.rb +21 -0
- data/padrino-helpers.gemspec +2 -1
- data/test/fixtures/apps/.components +6 -0
- data/test/fixtures/apps/.gitignore +7 -0
- data/test/fixtures/apps/render.rb +25 -0
- data/test/fixtures/apps/views/article/comment/show.slim +1 -0
- data/test/fixtures/apps/views/blog/post.erb +1 -0
- data/test/fixtures/apps/views/layouts/specific.erb +1 -0
- data/test/fixtures/apps/views/test/post.erb +1 -0
- data/test/fixtures/layouts/layout.erb +1 -0
- data/test/fixtures/markup_app/app.rb +0 -1
- data/test/fixtures/render_app/app.rb +25 -1
- data/test/fixtures/render_app/views/_unsafe.html.builder +2 -0
- data/test/fixtures/render_app/views/_unsafe_object.html.builder +2 -0
- data/test/fixtures/render_app/views/ruby_block_capture_erb.erb +1 -0
- data/test/fixtures/render_app/views/ruby_block_capture_haml.haml +1 -0
- data/test/fixtures/render_app/views/ruby_block_capture_slim.slim +1 -0
- data/test/helper.rb +65 -1
- data/test/test_asset_tag_helpers.rb +83 -79
- data/test/test_breadcrumb_helpers.rb +20 -20
- data/test/test_form_builder.rb +196 -196
- data/test/test_form_helpers.rb +163 -163
- data/test/test_format_helpers.rb +65 -65
- data/test/test_locale.rb +1 -1
- data/test/test_number_helpers.rb +10 -11
- data/test/test_output_helpers.rb +28 -28
- data/test/test_render_helpers.rb +89 -35
- data/test/test_rendering.rb +683 -0
- data/test/test_rendering_extensions.rb +14 -0
- data/test/test_tag_helpers.rb +23 -23
- metadata +57 -5
data/test/test_format_helpers.rb
CHANGED
@@ -12,80 +12,80 @@ describe "FormatHelpers" do
|
|
12
12
|
Time.stubs(:now).returns(Time.utc(1983, 11, 9, 5))
|
13
13
|
end
|
14
14
|
|
15
|
-
|
16
|
-
should
|
15
|
+
describe 'for #simple_format method' do
|
16
|
+
it 'should format simple text into html format' do
|
17
17
|
actual_text = simple_format("Here is some basic text...\n...with a line break.")
|
18
18
|
assert_equal true, actual_text.html_safe?
|
19
19
|
assert_equal "<p>Here is some basic text...\n<br />...with a line break.</p>", actual_text
|
20
20
|
end
|
21
21
|
|
22
|
-
should
|
22
|
+
it 'should format more text into html format' do
|
23
23
|
actual_text = simple_format("We want to put a paragraph...\n\n...right there.")
|
24
24
|
assert_equal "<p>We want to put a paragraph...</p>\n\n<p>...right there.</p>", actual_text
|
25
25
|
end
|
26
26
|
|
27
|
-
should
|
27
|
+
it 'should support defining a class for the paragraphs' do
|
28
28
|
actual_text = simple_format("Look me! A class!", :class => 'description')
|
29
29
|
assert_equal "<p class=\"description\">Look me! A class!</p>", actual_text
|
30
30
|
end
|
31
31
|
|
32
|
-
should
|
32
|
+
it 'should escape html tags' do
|
33
33
|
actual_text = simple_format("Will you escape <b>that</b>?")
|
34
34
|
assert_equal "<p>Will you escape <b>that</b>?</p>", actual_text
|
35
35
|
end
|
36
36
|
|
37
|
-
should
|
37
|
+
it 'should support already sanitized text' do
|
38
38
|
actual_text = simple_format("Don't try to escape <b>me</b>!".html_safe)
|
39
39
|
assert_equal "<p>Don't try to escape <b>me</b>!</p>", actual_text
|
40
40
|
end
|
41
41
|
|
42
|
-
|
43
|
-
should
|
42
|
+
describe 'wrapped in a custom tag' do
|
43
|
+
it 'should format simple text into html format' do
|
44
44
|
actual_text = simple_format("Here is some basic text...\n...with a line break.", :tag => :div)
|
45
45
|
assert_equal "<div>Here is some basic text...\n<br />...with a line break.</div>", actual_text
|
46
46
|
end
|
47
47
|
|
48
|
-
should
|
48
|
+
it 'should format more text into html format' do
|
49
49
|
actual_text = simple_format("We want to put a paragraph...\n\n...right there.", :tag => :div)
|
50
50
|
assert_equal "<div>We want to put a paragraph...</div>\n\n<div>...right there.</div>", actual_text
|
51
51
|
end
|
52
52
|
|
53
|
-
should
|
53
|
+
it 'should support defining a class for the paragraphs' do
|
54
54
|
actual_text = simple_format("Look me! A class!", :class => 'description', :tag => :div)
|
55
55
|
assert_equal "<div class=\"description\">Look me! A class!</div>", actual_text
|
56
56
|
end
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
|
-
|
61
|
-
should
|
60
|
+
describe 'for #pluralize method' do
|
61
|
+
it 'should return singular count for 1 item collections' do
|
62
62
|
actual_text = pluralize(1, 'person')
|
63
63
|
assert_equal '1 person', actual_text
|
64
64
|
end
|
65
|
-
should
|
65
|
+
it 'should return plural count for empty collections' do
|
66
66
|
actual_text = pluralize(0, 'person')
|
67
67
|
assert_equal '0 people', actual_text
|
68
68
|
end
|
69
|
-
should
|
69
|
+
it 'should return plural count for many collections' do
|
70
70
|
actual_text = pluralize(2, 'person')
|
71
71
|
assert_equal '2 people', actual_text
|
72
72
|
end
|
73
|
-
should
|
73
|
+
it 'should return pluralized word specified as argument' do
|
74
74
|
actual_text = pluralize(3, 'person', 'users')
|
75
75
|
assert_equal '3 users', actual_text
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
79
|
-
|
80
|
-
should
|
79
|
+
describe 'for #word_wrap method' do
|
80
|
+
it 'should return proper formatting for 8 max width' do
|
81
81
|
actual_text = word_wrap('Once upon a time', :line_width => 8)
|
82
82
|
assert_equal "Once\nupon a\ntime", actual_text
|
83
83
|
end
|
84
|
-
should
|
84
|
+
it 'should return proper formatting for 1 max width' do
|
85
85
|
actual_text = word_wrap('Once upon a time', :line_width => 1)
|
86
86
|
assert_equal "Once\nupon\na\ntime", actual_text
|
87
87
|
end
|
88
|
-
should
|
88
|
+
it 'should return proper formatting for default width' do
|
89
89
|
actual_text = word_wrap((1..50).to_a.join(" "))
|
90
90
|
assert_equal (1..30).to_a.join(" ") + "\n" + (31..50).to_a.join(" "), actual_text
|
91
91
|
actual_text = word_wrap((1..50).to_a.join(" "), 80)
|
@@ -93,157 +93,157 @@ describe "FormatHelpers" do
|
|
93
93
|
end
|
94
94
|
end
|
95
95
|
|
96
|
-
|
97
|
-
should
|
96
|
+
describe 'for #highlight method' do
|
97
|
+
it 'should highligth with defaults' do
|
98
98
|
actual_text = highlight('Lorem ipsum dolor sit amet', 'dolor')
|
99
99
|
assert_equal 'Lorem ipsum <strong class="highlight">dolor</strong> sit amet', actual_text
|
100
100
|
end
|
101
101
|
|
102
|
-
should
|
102
|
+
it 'should highlight with highlighter' do
|
103
103
|
actual_text = highlight('Lorem ipsum dolor sit amet', 'dolor', :highlighter => '<span class="custom">\1</span>')
|
104
104
|
assert_equal 'Lorem ipsum <span class="custom">dolor</span> sit amet', actual_text
|
105
105
|
end
|
106
106
|
end
|
107
107
|
|
108
|
-
|
109
|
-
should
|
108
|
+
describe 'for #truncate method' do
|
109
|
+
it 'should support default truncation' do
|
110
110
|
actual_text = truncate("Once upon a time in a world far far away")
|
111
111
|
assert_equal "Once upon a time in a world...", actual_text
|
112
112
|
end
|
113
|
-
should
|
113
|
+
it 'should support specifying length' do
|
114
114
|
actual_text = truncate("Once upon a time in a world far far away", :length => 14)
|
115
115
|
assert_equal "Once upon a...", actual_text
|
116
116
|
end
|
117
|
-
should
|
117
|
+
it 'should support specifying omission text' do
|
118
118
|
actual_text = truncate("And they found that many people were sleeping better.", :length => 25, :omission => "(clipped)")
|
119
119
|
assert_equal "And they found t(clipped)", actual_text
|
120
120
|
end
|
121
121
|
end
|
122
122
|
|
123
|
-
|
124
|
-
should
|
123
|
+
describe 'for #truncate_words method' do
|
124
|
+
it 'should support default truncation' do
|
125
125
|
actual_text = truncate_words("Long before books were made, people told stories. They told them to one another and to the children as they sat before the fire. Many of these stories were about interesting people, but most of them were about the ways of fairies and giants.")
|
126
126
|
assert_equal "Long before books were made, people told stories. They told them to one another and to the children as they sat before the fire. Many of these stories were about...", actual_text
|
127
127
|
end
|
128
|
-
should
|
128
|
+
it 'should support specifying length' do
|
129
129
|
actual_text = truncate_words("Once upon a time in a world far far away", :length => 8)
|
130
130
|
assert_equal "Once upon a time in a world far...", actual_text
|
131
131
|
end
|
132
|
-
should
|
132
|
+
it 'should support specifying omission text' do
|
133
133
|
actual_text = truncate_words("And they found that many people were sleeping better.", :length => 4, :omission => "(clipped)")
|
134
134
|
assert_equal "And they found that(clipped)", actual_text
|
135
135
|
end
|
136
136
|
end
|
137
137
|
|
138
|
-
|
139
|
-
should
|
138
|
+
describe 'for #h and #h! method' do
|
139
|
+
it 'should escape the simple html' do
|
140
140
|
assert_equal '<h1>hello</h1>', h('<h1>hello</h1>')
|
141
141
|
assert_equal '<h1>hello</h1>', escape_html('<h1>hello</h1>')
|
142
142
|
end
|
143
|
-
should
|
143
|
+
it 'should escape all brackets, quotes and ampersands' do
|
144
144
|
assert_equal '<h1><>"&demo&"<></h1>', h('<h1><>"&demo&"<></h1>')
|
145
145
|
end
|
146
|
-
should
|
146
|
+
it 'should return default text if text is empty' do
|
147
147
|
assert_equal 'default', h!("", "default")
|
148
148
|
assert_equal ' ', h!("")
|
149
149
|
end
|
150
|
-
should
|
150
|
+
it 'should return text escaped if not empty' do
|
151
151
|
assert_equal '<h1>hello</h1>', h!('<h1>hello</h1>')
|
152
152
|
end
|
153
|
-
should
|
153
|
+
it 'should mark escaped text as safe' do
|
154
154
|
assert_equal false, '<h1>hello</h1>'.html_safe?
|
155
155
|
assert_equal true, h('<h1>hello</h1>').html_safe?
|
156
156
|
assert_equal true, h!("", "default").html_safe?
|
157
157
|
end
|
158
158
|
end
|
159
159
|
|
160
|
-
|
161
|
-
should
|
160
|
+
describe 'for #time_ago_in_words method' do
|
161
|
+
it 'should less than 5 seconds' do
|
162
162
|
assert_equal 'less than 5 seconds', time_ago_in_words(Time.now, true)
|
163
163
|
end
|
164
|
-
should
|
164
|
+
it 'should less than 10 seconds' do
|
165
165
|
assert_equal 'less than 10 seconds', time_ago_in_words(Time.now-5, true)
|
166
166
|
end
|
167
|
-
should
|
167
|
+
it 'should less than 20 seconds' do
|
168
168
|
assert_equal 'less than 20 seconds', time_ago_in_words(Time.now-10, true)
|
169
169
|
end
|
170
|
-
should
|
170
|
+
it 'should less than a minute' do
|
171
171
|
assert_equal 'less than a minute', time_ago_in_words(Time.now-40, true)
|
172
172
|
end
|
173
|
-
should
|
173
|
+
it 'should 2 minutes' do
|
174
174
|
assert_equal '2 minutes', time_ago_in_words(Time.now-120, true)
|
175
175
|
end
|
176
|
-
should
|
176
|
+
it 'should display today' do
|
177
177
|
assert_equal 'less than a minute', time_ago_in_words(Time.now)
|
178
178
|
end
|
179
|
-
should
|
179
|
+
it 'should display yesterday' do
|
180
180
|
assert_equal '1 day', time_ago_in_words(1.day.ago)
|
181
181
|
end
|
182
|
-
should
|
182
|
+
it 'should display tomorrow' do
|
183
183
|
assert_equal '1 day', time_ago_in_words(1.day.from_now)
|
184
184
|
end
|
185
|
-
should
|
185
|
+
it 'should return future number of days' do
|
186
186
|
assert_equal '4 days', time_ago_in_words(4.days.from_now)
|
187
187
|
end
|
188
|
-
should
|
188
|
+
it 'should return past days ago' do
|
189
189
|
assert_equal '4 days', time_ago_in_words(4.days.ago)
|
190
190
|
end
|
191
|
-
should
|
191
|
+
it 'should return formatted archived date' do
|
192
192
|
assert_equal '3 months', time_ago_in_words(100.days.ago)
|
193
193
|
end
|
194
|
-
should
|
194
|
+
it 'should return formatted archived year date' do
|
195
195
|
assert_equal 'over 1 year', time_ago_in_words(500.days.ago)
|
196
196
|
end
|
197
|
-
should
|
197
|
+
it 'should display now as a minute ago' do
|
198
198
|
assert_equal '1 minute', time_ago_in_words(1.minute.ago)
|
199
199
|
end
|
200
|
-
should
|
200
|
+
it 'should display a few minutes ago' do
|
201
201
|
assert_equal '4 minutes', time_ago_in_words(4.minute.ago)
|
202
202
|
end
|
203
|
-
should
|
203
|
+
it 'should display an hour ago' do
|
204
204
|
assert_equal 'about 1 hour', time_ago_in_words(1.hour.ago + 5.minutes.ago.sec)
|
205
205
|
end
|
206
|
-
should
|
206
|
+
it 'should display a few hours ago' do
|
207
207
|
assert_equal 'about 3 hours', time_ago_in_words(3.hour.ago + 5.minutes.ago.sec)
|
208
208
|
end
|
209
|
-
should
|
209
|
+
it 'should display a day ago' do
|
210
210
|
assert_equal '1 day', time_ago_in_words(1.day.ago)
|
211
211
|
end
|
212
|
-
should
|
212
|
+
it 'should display a few days ago' do
|
213
213
|
assert_equal '5 days', time_ago_in_words(5.days.ago - 5.minutes.ago.sec)
|
214
214
|
end
|
215
|
-
should
|
215
|
+
it 'should display a month ago' do
|
216
216
|
assert_equal 'about 1 month', time_ago_in_words(32.days.ago + 5.minutes.ago.sec)
|
217
217
|
end
|
218
|
-
should
|
218
|
+
it 'should display a few months ago' do
|
219
219
|
assert_equal '6 months', time_ago_in_words(180.days.ago - 5.minutes.ago.sec)
|
220
220
|
end
|
221
|
-
should
|
221
|
+
it 'should display a year ago' do
|
222
222
|
assert_equal 'about 1 year', time_ago_in_words(365.days.ago - 5.minutes.ago.sec)
|
223
223
|
end
|
224
|
-
should
|
224
|
+
it 'should display a few years ago' do
|
225
225
|
assert_equal 'over 7 years', time_ago_in_words(2800.days.ago - 5.minutes.ago.sec)
|
226
226
|
end
|
227
227
|
end
|
228
228
|
|
229
|
-
|
230
|
-
should
|
229
|
+
describe 'for #js_escape_html method' do
|
230
|
+
it 'should escape double quotes' do
|
231
231
|
assert_equal "\\\"hello\\\"", js_escape_html('"hello"')
|
232
232
|
assert_equal "\\\"hello\\\"", js_escape_html(ActiveSupport::SafeBuffer.new('"hello"'))
|
233
233
|
end
|
234
|
-
should
|
234
|
+
it 'should escape single quotes' do
|
235
235
|
assert_equal "\\'hello\\'", js_escape_html("'hello'")
|
236
236
|
assert_equal "\\'hello\\'", js_escape_html(ActiveSupport::SafeBuffer.new("'hello'"))
|
237
237
|
end
|
238
|
-
should
|
238
|
+
it 'should escape html tags and breaks' do
|
239
239
|
assert_equal "\\n\\n<p>hello<\\/p>\\n", js_escape_html("\n\r<p>hello</p>\r\n")
|
240
240
|
assert_equal "\\n\\n<p>hello<\\/p>\\n", js_escape_html(ActiveSupport::SafeBuffer.new("\n\r<p>hello</p>\r\n"))
|
241
241
|
end
|
242
|
-
should
|
242
|
+
it 'should escape data-confirm attribute' do
|
243
243
|
assert_equal "<data-confirm=\\\"are you sure\\\">", js_escape_html("<data-confirm=\"are you sure\">")
|
244
244
|
assert_equal "<data-confirm=\\\"are you sure\\\">", js_escape_html(ActiveSupport::SafeBuffer.new("<data-confirm=\"are you sure\">"))
|
245
245
|
end
|
246
|
-
should
|
246
|
+
it 'should keep html_safe content html_safe' do
|
247
247
|
assert_equal false, js_escape_html('"hello"').html_safe?
|
248
248
|
assert_equal true, js_escape_html(ActiveSupport::SafeBuffer.new('"hello"')).html_safe?
|
249
249
|
end
|
data/test/test_locale.rb
CHANGED
@@ -4,7 +4,7 @@ describe "Locale Helpers" do
|
|
4
4
|
Dir[File.expand_path("../../lib/padrino-helpers/locale/*.yml", __FILE__)].each do |file|
|
5
5
|
base_original = YAML.load_file(file)
|
6
6
|
name = File.basename(file, '.yml')
|
7
|
-
|
7
|
+
it "should should have correct locale for #{name}" do
|
8
8
|
base = base_original[name]['number']['format']
|
9
9
|
assert !base['separator'].nil?
|
10
10
|
assert !base['delimiter'].nil?
|
data/test/test_number_helpers.rb
CHANGED
@@ -24,9 +24,8 @@ describe "NumberHelpers" do
|
|
24
24
|
gigabytes(number) * 1024
|
25
25
|
end
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
should 'display number_to_currency' do
|
27
|
+
describe 'for number helpers functionality' do
|
28
|
+
it 'should display number_to_currency' do
|
30
29
|
assert_equal "$1,234,567,890.50", number_to_currency(1234567890.50)
|
31
30
|
assert_equal "$1,234,567,890.51", number_to_currency(1234567890.506)
|
32
31
|
assert_equal "$1,234,567,892", number_to_currency(1234567891.50, {:precision => 0})
|
@@ -39,7 +38,7 @@ describe "NumberHelpers" do
|
|
39
38
|
assert_nil number_to_currency(nil)
|
40
39
|
end
|
41
40
|
|
42
|
-
should
|
41
|
+
it 'should display number_to_percentage' do
|
43
42
|
assert_equal "100.000%", number_to_percentage(100)
|
44
43
|
assert_equal "100%", number_to_percentage(100, {:precision => 0})
|
45
44
|
assert_equal "302.06%", number_to_percentage(302.0574, {:precision => 2})
|
@@ -51,7 +50,7 @@ describe "NumberHelpers" do
|
|
51
50
|
assert_nil number_to_percentage(nil)
|
52
51
|
end
|
53
52
|
|
54
|
-
should
|
53
|
+
it 'should display number_with_delimiter' do
|
55
54
|
assert_equal "12,345,678", number_with_delimiter(12345678)
|
56
55
|
assert_equal "0", number_with_delimiter(0)
|
57
56
|
assert_equal "123", number_with_delimiter(123)
|
@@ -67,14 +66,14 @@ describe "NumberHelpers" do
|
|
67
66
|
assert_nil number_with_delimiter(nil)
|
68
67
|
end
|
69
68
|
|
70
|
-
should
|
69
|
+
it 'should display number_with_delimiter with options' do
|
71
70
|
assert_equal '12 345 678', number_with_delimiter(12345678, :delimiter => ' ')
|
72
71
|
assert_equal '12,345,678-05', number_with_delimiter(12345678.05, :separator => '-')
|
73
72
|
assert_equal '12.345.678,05', number_with_delimiter(12345678.05, :separator => ',', :delimiter => '.')
|
74
73
|
assert_equal '12.345.678,05', number_with_delimiter(12345678.05, :delimiter => '.', :separator => ',')
|
75
74
|
end
|
76
75
|
|
77
|
-
should
|
76
|
+
it 'should display number_with_precision' do
|
78
77
|
assert_equal "111.235", number_with_precision(111.2346)
|
79
78
|
assert_equal "31.83", number_with_precision(31.825, :precision => 2)
|
80
79
|
assert_equal "111.23", number_with_precision(111.2346, :precision => 2)
|
@@ -90,12 +89,12 @@ describe "NumberHelpers" do
|
|
90
89
|
assert_nil number_with_precision(nil)
|
91
90
|
end
|
92
91
|
|
93
|
-
should
|
92
|
+
it 'should display number_with_precision with custom delimiter and separator' do
|
94
93
|
assert_equal '31,83', number_with_precision(31.825, :precision => 2, :separator => ',')
|
95
94
|
assert_equal '1.231,83', number_with_precision(1231.825, :precision => 2, :separator => ',', :delimiter => '.')
|
96
95
|
end
|
97
96
|
|
98
|
-
should
|
97
|
+
it 'should display number_to_human_size' do
|
99
98
|
assert_equal '0 Bytes', number_to_human_size(0)
|
100
99
|
assert_equal '1 Byte', number_to_human_size(1)
|
101
100
|
assert_equal '3 Bytes', number_to_human_size(3.14159265)
|
@@ -122,7 +121,7 @@ describe "NumberHelpers" do
|
|
122
121
|
assert_nil number_to_human_size(nil)
|
123
122
|
end
|
124
123
|
|
125
|
-
should
|
124
|
+
it 'should display number_to_human_size with options' do
|
126
125
|
assert_equal '1.18 MB', number_to_human_size(1234567, :precision => 2)
|
127
126
|
assert_equal '3 Bytes', number_to_human_size(3.14159265, :precision => 4)
|
128
127
|
assert_equal '1.01 KB', number_to_human_size(kilobytes(1.0123), :precision => 2)
|
@@ -134,7 +133,7 @@ describe "NumberHelpers" do
|
|
134
133
|
assert_equal '40 KB', number_to_human_size(41100, :precision => 0)
|
135
134
|
end
|
136
135
|
|
137
|
-
should
|
136
|
+
it 'should display number_to_human_size with custom delimiter and separator' do
|
138
137
|
assert_equal '1,01 KB', number_to_human_size(kilobytes(1.0123), :precision => 2, :separator => ',')
|
139
138
|
assert_equal '1,01 KB', number_to_human_size(kilobytes(1.0100), :precision => 4, :separator => ',')
|
140
139
|
assert_equal '1.000,1 TB', number_to_human_size(terabytes(1000.1), :delimiter => '.', :separator => ',')
|
data/test/test_output_helpers.rb
CHANGED
@@ -6,8 +6,8 @@ describe "OutputHelpers" do
|
|
6
6
|
MarkupDemo
|
7
7
|
end
|
8
8
|
|
9
|
-
|
10
|
-
should
|
9
|
+
describe 'for #content_for method' do
|
10
|
+
it 'should work for erb templates' do
|
11
11
|
visit '/erb/content_for'
|
12
12
|
assert_have_selector '.demo h1', :content => "This is content yielded from a content_for", :count => 1
|
13
13
|
assert_have_selector '.demo2 h1', :content => "This is content yielded with name Johnny Smith", :count => 1
|
@@ -15,7 +15,7 @@ describe "OutputHelpers" do
|
|
15
15
|
assert_have_selector '.demo3 p', :content => "Two", :class => "duplication"
|
16
16
|
end
|
17
17
|
|
18
|
-
should
|
18
|
+
it 'should work for haml templates' do
|
19
19
|
visit '/haml/content_for'
|
20
20
|
assert_have_selector '.demo h1', :content => "This is content yielded from a content_for", :count => 1
|
21
21
|
assert_have_selector '.demo2 h1', :content => "This is content yielded with name Johnny Smith", :count => 1
|
@@ -23,7 +23,7 @@ describe "OutputHelpers" do
|
|
23
23
|
assert_have_selector '.demo3 p', :content => "Two", :class => "duplication"
|
24
24
|
end
|
25
25
|
|
26
|
-
should
|
26
|
+
it 'should work for slim templates' do
|
27
27
|
visit '/slim/content_for'
|
28
28
|
assert_have_selector '.demo h1', :content => "This is content yielded from a content_for", :count => 1
|
29
29
|
assert_have_selector '.demo2 h1', :content => "This is content yielded with name Johnny Smith", :count => 1
|
@@ -32,85 +32,85 @@ describe "OutputHelpers" do
|
|
32
32
|
end
|
33
33
|
end # content_for
|
34
34
|
|
35
|
-
|
36
|
-
should
|
35
|
+
describe "for #content_for? method" do
|
36
|
+
it 'should work for erb templates' do
|
37
37
|
visit '/erb/content_for'
|
38
38
|
assert_have_selector '.demo_has_content', :content => "true"
|
39
39
|
assert_have_selector '.fake_has_content', :content => "false"
|
40
40
|
end
|
41
41
|
|
42
|
-
should
|
42
|
+
it 'should work for haml templates' do
|
43
43
|
visit '/haml/content_for'
|
44
44
|
assert_have_selector '.demo_has_content', :content => "true"
|
45
45
|
assert_have_selector '.fake_has_content', :content => "false"
|
46
46
|
end
|
47
47
|
|
48
|
-
should
|
48
|
+
it 'should work for slim templates' do
|
49
49
|
visit '/slim/content_for'
|
50
50
|
assert_have_selector '.demo_has_content', :content => "true"
|
51
51
|
assert_have_selector '.fake_has_content', :content => "false"
|
52
52
|
end
|
53
53
|
end # content_for?
|
54
54
|
|
55
|
-
|
56
|
-
should
|
55
|
+
describe 'for #capture_html method' do
|
56
|
+
it 'should work for erb templates' do
|
57
57
|
visit '/erb/capture_concat'
|
58
58
|
assert_have_selector 'p span', :content => "Captured Line 1", :count => 1
|
59
59
|
assert_have_selector 'p span', :content => "Captured Line 2", :count => 1
|
60
60
|
end
|
61
61
|
|
62
|
-
should
|
62
|
+
it 'should work for haml templates' do
|
63
63
|
visit '/haml/capture_concat'
|
64
64
|
assert_have_selector 'p span', :content => "Captured Line 1", :count => 1
|
65
65
|
assert_have_selector 'p span', :content => "Captured Line 2", :count => 1
|
66
66
|
end
|
67
67
|
|
68
|
-
should
|
68
|
+
it 'should work for slim templates' do
|
69
69
|
visit '/slim/capture_concat'
|
70
70
|
assert_have_selector 'p span', :content => "Captured Line 1", :count => 1
|
71
71
|
assert_have_selector 'p span', :content => "Captured Line 2", :count => 1
|
72
72
|
end
|
73
73
|
end
|
74
74
|
|
75
|
-
|
76
|
-
should
|
75
|
+
describe 'for #concat_content method' do
|
76
|
+
it 'should work for erb templates' do
|
77
77
|
visit '/erb/capture_concat'
|
78
78
|
assert_have_selector 'p', :content => "Concat Line 3", :count => 1
|
79
79
|
end
|
80
80
|
|
81
|
-
should
|
81
|
+
it 'should work for haml templates' do
|
82
82
|
visit '/haml/capture_concat'
|
83
83
|
assert_have_selector 'p', :content => "Concat Line 3", :count => 1
|
84
84
|
end
|
85
85
|
|
86
|
-
should
|
86
|
+
it 'should work for slim templates' do
|
87
87
|
visit '/slim/capture_concat'
|
88
88
|
assert_have_selector 'p', :content => "Concat Line 3", :count => 1
|
89
89
|
end
|
90
90
|
end
|
91
91
|
|
92
|
-
|
93
|
-
should
|
92
|
+
describe 'for #block_is_template?' do
|
93
|
+
it 'should work for erb templates' do
|
94
94
|
visit '/erb/capture_concat'
|
95
95
|
assert_have_selector 'p', :content => "The erb block passed in is a template", :class => 'is_template', :count => 1
|
96
96
|
assert_have_no_selector 'p', :content => "The ruby block passed in is a template", :class => 'is_template', :count => 1
|
97
97
|
end
|
98
98
|
|
99
|
-
should
|
99
|
+
it 'should work for haml templates' do
|
100
100
|
visit '/haml/capture_concat'
|
101
101
|
assert_have_selector 'p', :content => "The haml block passed in is a template", :class => 'is_template', :count => 1
|
102
102
|
assert_have_no_selector 'p', :content => "The ruby block passed in is a template", :class => 'is_template', :count => 1
|
103
103
|
end
|
104
104
|
|
105
|
-
should
|
105
|
+
it 'should work for slim templates' do
|
106
106
|
visit '/slim/capture_concat'
|
107
107
|
assert_have_selector 'p', :content => "The slim block passed in is a template", :class => 'is_template', :count => 1
|
108
108
|
assert_have_no_selector 'p', :content => "The ruby block passed in is a template", :class => 'is_template', :count => 1
|
109
109
|
end
|
110
110
|
end
|
111
111
|
|
112
|
-
|
113
|
-
should
|
112
|
+
describe 'for #current_engine method' do
|
113
|
+
it 'should detect correctly current engine for erb' do
|
114
114
|
visit '/erb/current_engine'
|
115
115
|
assert_have_selector 'p.start', :content => "erb"
|
116
116
|
assert_have_selector 'p.haml', :content => "haml"
|
@@ -119,7 +119,7 @@ describe "OutputHelpers" do
|
|
119
119
|
assert_have_selector 'p.end', :content => "erb"
|
120
120
|
end
|
121
121
|
|
122
|
-
should
|
122
|
+
it 'should detect correctly current engine for haml' do
|
123
123
|
visit '/haml/current_engine'
|
124
124
|
assert_have_selector 'p.start', :content => "haml"
|
125
125
|
assert_have_selector 'p.haml', :content => "haml"
|
@@ -128,7 +128,7 @@ describe "OutputHelpers" do
|
|
128
128
|
assert_have_selector 'p.end', :content => "haml"
|
129
129
|
end
|
130
130
|
|
131
|
-
should
|
131
|
+
it 'should detect correctly current engine for slim' do
|
132
132
|
visit '/slim/current_engine'
|
133
133
|
assert_have_selector 'p.start', :content => "slim"
|
134
134
|
assert_have_selector 'p.haml', :content => "haml"
|
@@ -138,18 +138,18 @@ describe "OutputHelpers" do
|
|
138
138
|
end
|
139
139
|
end
|
140
140
|
|
141
|
-
|
142
|
-
should
|
141
|
+
describe 'for #partial method in simple sinatra application' do
|
142
|
+
it 'should properly output in erb' do
|
143
143
|
visit '/erb/simple_partial'
|
144
144
|
assert_have_selector 'p.erb', :content => "erb"
|
145
145
|
end
|
146
146
|
|
147
|
-
should
|
147
|
+
it 'should properly output in haml' do
|
148
148
|
visit '/haml/simple_partial'
|
149
149
|
assert_have_selector 'p.haml', :content => "haml"
|
150
150
|
end
|
151
151
|
|
152
|
-
should
|
152
|
+
it 'should properly output in slim' do
|
153
153
|
visit '/slim/simple_partial'
|
154
154
|
assert_have_selector 'p.slim', :content => "slim"
|
155
155
|
end
|