inky-rb 1.3.8.0 → 1.4.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/inky.gemspec +5 -5
- data/lib/inky/component_factory.rb +15 -8
- data/lib/inky/rails/version.rb +1 -1
- data/lib/inky.rb +6 -1
- data/spec/cases/button/with_extra_attr.inky +3 -0
- data/spec/cases/button/with_link.inky +1 -1
- data/spec/cases/button/with_link_and_extra_attr.inky +3 -0
- data/spec/cases/h_line/basic.inky +1 -0
- data/spec/cases/h_line/multiple.inky +8 -0
- data/spec/cases/h_line/with_attr.inky +2 -0
- data/spec/cases/spacer/with_attr.inky +6 -0
- data/spec/cases/spacer/with_size.inky +1 -1
- data/spec/cases/spacer/with_size_lg.inky +1 -1
- data/spec/cases/spacer/with_size_sm.inky +1 -1
- data/spec/cases/spacer/with_size_sm_and_lg.inky +1 -1
- data/spec/cases/spacer/with_sizes_and_attr.inky +6 -0
- data/spec/components_spec.rb +48 -48
- data/spec/grid_spec.rb +38 -38
- data/spec/spec_helper.rb +0 -1
- data/spec/test_app/log/test.log +101 -4702
- data/spec/test_app/spec/features/inky_spec.rb +3 -3
- metadata +85 -131
- data/spec/_cases_output/button/no_link.inky +0 -1
- data/spec/_cases_output/button/with_expand_class.inky +0 -4
- data/spec/_cases_output/button/with_image.inky +0 -3
- data/spec/_cases_output/button/with_link.inky +0 -3
- data/spec/_cases_output/button/with_tricky_class.inky +0 -22
- data/spec/_cases_output/callout/basic.inky +0 -1
- data/spec/_cases_output/callout/with_attributes.inky +0 -3
- data/spec/_cases_output/general/empty_attributes.inky +0 -6
- data/spec/_cases_output/general/multiple_root.inky +0 -2
- data/spec/_cases_output/general/no_tag.inky +0 -1
- data/spec/_cases_output/general/root_within_text.inky +0 -3
- data/spec/_cases_output/general/void_html_elements.inky +0 -6
- data/spec/_cases_output/grid/columns.inky +0 -2
- data/spec/_cases_output/grid/container.inky +0 -1
- data/spec/_cases_output/grid/container_with_align.inky +0 -1
- data/spec/_cases_output/grid/row.inky +0 -1
- data/spec/_cases_output/grid/row_with_columns.inky +0 -5
- data/spec/_cases_output/menu/item.inky +0 -1
- data/spec/_cases_output/menu/menu.inky +0 -2
- data/spec/_cases_output/menu/menu_with_align.inky +0 -2
- data/spec/_cases_output/menu/menu_with_items.inky +0 -5
- data/spec/_cases_output/spacer/basic.inky +0 -5
- data/spec/_cases_output/spacer/with_size.inky +0 -5
- data/spec/_cases_output/spacer/with_size_lg.inky +0 -5
- data/spec/_cases_output/spacer/with_size_sm.inky +0 -5
- data/spec/_cases_output/spacer/with_size_sm_and_lg.inky +0 -5
- data/spec/_cases_output/wrapper/basic.inky +0 -1
- data/spec/_cases_output/wrapper/with_align.inky +0 -1
- data/spec/_cases_output/wrapper/with_attributes.inky +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8deedcc1e292b8b0f12de420af6d3493444416da805707ce7dd1e992b3a5768b
|
4
|
+
data.tar.gz: 6859292e358b42009d900b468fbe2c6cb748631f021c9264c5ce441b2b69a8bb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cc424f30789ff30c806b9c059350c35908f464ab0cf5afd4a8dfd6157a349b56714fa192aae54846a005527709f1bea71076c0caec557988290a1d16c5448bf3
|
7
|
+
data.tar.gz: 55880e2d1d5ea9ff137b0f851c52c4ba82e89e43697c63cdd6e77df05ef036df522c0715e662c25e5659589efb7e6c883428e8b93979d2f24fa659348a51ff56
|
data/inky.gemspec
CHANGED
@@ -5,11 +5,11 @@ require 'inky/rails/version'
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = 'inky-rb'
|
7
7
|
s.version = Inky::Rails::VERSION
|
8
|
-
s.summary = 'Inky is an HTML-based templating language that converts simple HTML into complex, responsive email-ready HTML. Designed for Foundation for Emails
|
9
|
-
s.description = 'Inky is an HTML-based templating language that converts simple HTML into complex, responsive email-ready HTML. Designed for Foundation for Emails
|
10
|
-
s.authors = ["
|
11
|
-
s.email = ['
|
12
|
-
s.homepage = 'https://github.com/
|
8
|
+
s.summary = 'Inky is an HTML-based templating language that converts simple HTML into complex, responsive email-ready HTML. Designed for Foundation for Emails'
|
9
|
+
s.description = 'Inky is an HTML-based templating language that converts simple HTML into complex, responsive email-ready HTML. Designed for Foundation for Emails'
|
10
|
+
s.authors = ["Foundation"]
|
11
|
+
s.email = ['contact@get.foundation']
|
12
|
+
s.homepage = 'https://github.com/foundation/inky-rb'
|
13
13
|
s.licenses = ['MIT']
|
14
14
|
|
15
15
|
s.files = `git ls-files -z`.split("\x0")
|
@@ -45,21 +45,22 @@ module Inky
|
|
45
45
|
|
46
46
|
def _transform_button(component, inner)
|
47
47
|
expand = _has_class(component, 'expand')
|
48
|
+
attributes = _pass_through_attributes(component)
|
48
49
|
if component.attr('href')
|
49
50
|
target = _target_attribute(component)
|
50
51
|
extra = ' align="center" class="float-center"' if expand
|
51
|
-
inner = %{<a href="#{component.attr('href')}"#{target}#{extra}>#{inner}</a>}
|
52
|
+
inner = %{<a #{attributes}href="#{component.attr('href')}"#{target}#{extra}>#{inner}</a>}
|
52
53
|
end
|
53
54
|
inner = "<center>#{inner}</center>" if expand
|
54
55
|
|
55
56
|
classes = _combine_classes(component, 'button')
|
56
57
|
expander = '<td class="expander"></td>' if expand
|
57
|
-
%{<table class="#{classes}"><tr><td><table><tr><td>#{inner}</td></tr></table></td>#{expander}</tr></table>}
|
58
|
+
%{<table class="#{classes}"><tbody><tr><td><table><tbody><tr><td>#{inner}</td></tr></tbody></table></td>#{expander}</tr></tbody></table>}
|
58
59
|
end
|
59
60
|
|
60
61
|
def _transform_menu(component, inner)
|
61
62
|
attributes = _combine_attributes(component, 'menu')
|
62
|
-
%{<table #{attributes}><tr><td><table><tr>#{inner}</tr></table></td></tr></table>}
|
63
|
+
%{<table #{attributes}><tbody><tr><td><table><tbody><tr>#{inner}</tr></tbody></table></td></tr></tbody></table>}
|
63
64
|
end
|
64
65
|
|
65
66
|
def _transform_menu_item(component, inner)
|
@@ -96,12 +97,12 @@ module Inky
|
|
96
97
|
subrows = component.elements.css(".row").to_a.concat(component.elements.css("row").to_a)
|
97
98
|
expander = %{<th class="expander"></th>} if large_size.to_i == column_count && subrows.empty?
|
98
99
|
|
99
|
-
%{<#{INTERIM_TH_TAG} class="#{classes}" #{_pass_through_attributes(component)}><table><tr><th>#{inner}</th>#{expander}</tr></table></#{INTERIM_TH_TAG}>}
|
100
|
+
%{<#{INTERIM_TH_TAG} class="#{classes}" #{_pass_through_attributes(component)}><table><tbody><tr><th>#{inner}</th>#{expander}</tr></tbody></table></#{INTERIM_TH_TAG}>}
|
100
101
|
end
|
101
102
|
|
102
103
|
def _transform_block_grid(component, inner)
|
103
104
|
classes = _combine_classes(component, "block-grid up-#{component.attr('up')}")
|
104
|
-
%{<table class="#{classes}"><tr>#{inner}</tr></table>}
|
105
|
+
%{<table class="#{classes}"><tbody><tr>#{inner}</tr></tbody></table>}
|
105
106
|
end
|
106
107
|
|
107
108
|
def _transform_center(component, _inner)
|
@@ -121,12 +122,12 @@ module Inky
|
|
121
122
|
def _transform_callout(component, inner)
|
122
123
|
classes = _combine_classes(component, 'callout-inner')
|
123
124
|
attributes = _pass_through_attributes(component)
|
124
|
-
%{<table #{attributes}class="callout"><tr><th class="#{classes}">#{inner}</th><th class="expander"></th></tr></table>}
|
125
|
+
%{<table #{attributes}class="callout"><tbody><tr><th class="#{classes}">#{inner}</th><th class="expander"></th></tr></tbody></table>}
|
125
126
|
end
|
126
127
|
|
127
128
|
def _transform_spacer(component, _inner)
|
128
129
|
classes = _combine_classes(component, 'spacer')
|
129
|
-
build_table = ->(size, extra) { %{<table class="#{classes} #{extra}"><tbody><tr><td height="#{size}" style="font-size:#{size}px;line-height:#{size}px;"
|
130
|
+
build_table = ->(size, extra) { %{<table class="#{classes} #{extra}"><tbody><tr><td height="#{size}" style="font-size:#{size}px;line-height:#{size}px;"> </td></tr></tbody></table>} }
|
130
131
|
size = component.attr('size')
|
131
132
|
size_sm = component.attr('size-sm')
|
132
133
|
size_lg = component.attr('size-lg')
|
@@ -140,9 +141,15 @@ module Inky
|
|
140
141
|
end
|
141
142
|
end
|
142
143
|
|
144
|
+
def _transform_h_line(component, _inner)
|
145
|
+
classes = _combine_classes(component, 'h-line')
|
146
|
+
attributes = _pass_through_attributes(component)
|
147
|
+
%{<table #{attributes}class="#{classes}"><tr><th> </th></tr></table>}
|
148
|
+
end
|
149
|
+
|
143
150
|
def _transform_wrapper(component, inner)
|
144
151
|
attributes = _combine_attributes(component, 'wrapper')
|
145
|
-
%{<table #{attributes} align="center"><tr><td class="wrapper-inner">#{inner}</td></tr></table>}
|
152
|
+
%{<table #{attributes} align="center"><tbody><tr><td class="wrapper-inner">#{inner}</td></tr></tbody></table>}
|
146
153
|
end
|
147
154
|
end
|
148
155
|
end
|
data/lib/inky/rails/version.rb
CHANGED
data/lib/inky.rb
CHANGED
@@ -20,7 +20,8 @@ module Inky
|
|
20
20
|
callout: 'callout',
|
21
21
|
spacer: 'spacer',
|
22
22
|
wrapper: 'wrapper',
|
23
|
-
menu_item: 'item'
|
23
|
+
menu_item: 'item',
|
24
|
+
h_line: 'h-line',
|
24
25
|
}.merge(::Inky.configuration.components).merge(options[:components] || {})
|
25
26
|
|
26
27
|
self.component_lookup = components.invert
|
@@ -31,6 +32,9 @@ module Inky
|
|
31
32
|
end
|
32
33
|
|
33
34
|
def release_the_kraken(html_string)
|
35
|
+
# Force conversion to string. (required for Rails 7.1+)
|
36
|
+
html_string = html_string.to_s
|
37
|
+
|
34
38
|
if html_string.encoding.name == "ASCII-8BIT"
|
35
39
|
html_string.force_encoding('utf-8') # transform_doc barfs if encoding is ASCII-8bit
|
36
40
|
end
|
@@ -41,6 +45,7 @@ module Inky
|
|
41
45
|
transform_doc(html)
|
42
46
|
string = html.to_html
|
43
47
|
string.gsub!(INTERIM_TH_TAG_REGEX, 'th')
|
48
|
+
string.gsub!(' ', ' ') # Convert non-breaking spaces to explicit entity
|
44
49
|
Inky::Core.re_inject_raws(string, raws)
|
45
50
|
end
|
46
51
|
|
@@ -0,0 +1 @@
|
|
1
|
+
<h-line/>
|
data/spec/components_spec.rb
CHANGED
@@ -31,19 +31,19 @@ RSpec.describe "Center" do
|
|
31
31
|
|
32
32
|
expected = <<-HTML
|
33
33
|
<center>
|
34
|
-
<table class="float-center menu " align="center">
|
34
|
+
<table class="float-center menu " align="center"><tbody>
|
35
35
|
<tr>
|
36
36
|
<td>
|
37
|
-
<table>
|
37
|
+
<table><tbody>
|
38
38
|
<tr>
|
39
39
|
<th class="float-center menu-item">
|
40
40
|
<a href="#"></a>
|
41
41
|
</th>
|
42
42
|
</tr>
|
43
|
-
</table>
|
43
|
+
</tbody></table>
|
44
44
|
</td>
|
45
45
|
</tr>
|
46
|
-
</table>
|
46
|
+
</tbody></table>
|
47
47
|
</center>
|
48
48
|
HTML
|
49
49
|
|
@@ -55,17 +55,17 @@ RSpec.describe "Button" do
|
|
55
55
|
it "creates a simple button" do
|
56
56
|
input = '<button href="http://zurb.com">Button</button>'
|
57
57
|
expected = <<-HTML
|
58
|
-
<table class="button">
|
58
|
+
<table class="button"><tbody>
|
59
59
|
<tr>
|
60
60
|
<td>
|
61
|
-
<table>
|
61
|
+
<table><tbody>
|
62
62
|
<tr>
|
63
63
|
<td><a href="http://zurb.com">Button</a></td>
|
64
64
|
</tr>
|
65
|
-
</table>
|
65
|
+
</tbody></table>
|
66
66
|
</td>
|
67
67
|
</tr>
|
68
|
-
</table>
|
68
|
+
</tbody></table>
|
69
69
|
HTML
|
70
70
|
compare(input, expected)
|
71
71
|
end
|
@@ -73,17 +73,17 @@ RSpec.describe "Button" do
|
|
73
73
|
it 'creates a button with target="_blank" attribute' do
|
74
74
|
input = '<button href="http://zurb.com" target="_blank">Button</button>'
|
75
75
|
expected = <<-HTML
|
76
|
-
<table class="button">
|
76
|
+
<table class="button"><tbody>
|
77
77
|
<tr>
|
78
78
|
<td>
|
79
|
-
<table>
|
79
|
+
<table><tbody>
|
80
80
|
<tr>
|
81
81
|
<td><a href="http://zurb.com" target="_blank">Button</a></td>
|
82
82
|
</tr>
|
83
|
-
</table>
|
83
|
+
</tbody></table>
|
84
84
|
</td>
|
85
85
|
</tr>
|
86
|
-
</table>
|
86
|
+
</tbody></table>
|
87
87
|
HTML
|
88
88
|
compare(input, expected)
|
89
89
|
end
|
@@ -91,17 +91,17 @@ RSpec.describe "Button" do
|
|
91
91
|
it 'creates a button with classes' do
|
92
92
|
input = '<button class="small alert" href="http://zurb.com">Button</button>'
|
93
93
|
expected = <<-HTML
|
94
|
-
<table class="button small alert">
|
94
|
+
<table class="button small alert"><tbody>
|
95
95
|
<tr>
|
96
96
|
<td>
|
97
|
-
<table>
|
97
|
+
<table><tbody>
|
98
98
|
<tr>
|
99
99
|
<td><a href="http://zurb.com">Button</a></td>
|
100
100
|
</tr>
|
101
|
-
</table>
|
101
|
+
</tbody></table>
|
102
102
|
</td>
|
103
103
|
</tr>
|
104
|
-
</table>
|
104
|
+
</tbody></table>
|
105
105
|
HTML
|
106
106
|
|
107
107
|
compare(input, expected)
|
@@ -110,20 +110,20 @@ RSpec.describe "Button" do
|
|
110
110
|
it 'creates a correct expanded button' do
|
111
111
|
input = '<button class="expand" href="http://zurb.com">Button</button>'
|
112
112
|
expected = <<-HTML
|
113
|
-
<table class="button expand">
|
113
|
+
<table class="button expand"><tbody>
|
114
114
|
<tr>
|
115
115
|
<td>
|
116
|
-
<table>
|
116
|
+
<table><tbody>
|
117
117
|
<tr>
|
118
118
|
<td>
|
119
119
|
<center><a href="http://zurb.com" align="center" class="float-center">Button</a></center>
|
120
120
|
</td>
|
121
121
|
</tr>
|
122
|
-
</table>
|
122
|
+
</tbody></table>
|
123
123
|
</td>
|
124
124
|
<td class="expander"></td>
|
125
125
|
</tr>
|
126
|
-
</table>
|
126
|
+
</tbody></table>
|
127
127
|
HTML
|
128
128
|
|
129
129
|
compare(input, expected)
|
@@ -138,17 +138,17 @@ RSpec.describe "Menu" do
|
|
138
138
|
</menu>
|
139
139
|
INKY
|
140
140
|
expected = <<-HTML
|
141
|
-
<table class="menu">
|
141
|
+
<table class="menu"><tbody>
|
142
142
|
<tr>
|
143
143
|
<td>
|
144
|
-
<table>
|
144
|
+
<table><tbody>
|
145
145
|
<tr>
|
146
146
|
<th class="menu-item"><a href="http://zurb.com">Item</a></th>
|
147
147
|
</tr>
|
148
|
-
</table>
|
148
|
+
</tbody></table>
|
149
149
|
</td>
|
150
150
|
</tr>
|
151
|
-
</table>
|
151
|
+
</tbody></table>
|
152
152
|
HTML
|
153
153
|
|
154
154
|
compare(input, expected)
|
@@ -161,17 +161,17 @@ RSpec.describe "Menu" do
|
|
161
161
|
</menu>
|
162
162
|
INKY
|
163
163
|
expected = <<-HTML
|
164
|
-
<table class="menu">
|
164
|
+
<table class="menu"><tbody>
|
165
165
|
<tr>
|
166
166
|
<td>
|
167
|
-
<table>
|
167
|
+
<table><tbody>
|
168
168
|
<tr>
|
169
169
|
<th class="menu-item"><a href="http://zurb.com" target="_blank">Item</a></th>
|
170
170
|
</tr>
|
171
|
-
</table>
|
171
|
+
</tbody></table>
|
172
172
|
</td>
|
173
173
|
</tr>
|
174
|
-
</table>
|
174
|
+
</tbody></table>
|
175
175
|
HTML
|
176
176
|
|
177
177
|
compare(input, expected)
|
@@ -183,16 +183,16 @@ RSpec.describe "Menu" do
|
|
183
183
|
</menu>
|
184
184
|
INKY
|
185
185
|
expected = <<-HTML
|
186
|
-
<table class="menu vertical">
|
186
|
+
<table class="menu vertical"><tbody>
|
187
187
|
<tr>
|
188
188
|
<td>
|
189
|
-
<table>
|
189
|
+
<table><tbody>
|
190
190
|
<tr>
|
191
191
|
</tr>
|
192
|
-
</table>
|
192
|
+
</tbody></table>
|
193
193
|
</td>
|
194
194
|
</tr>
|
195
|
-
</table>
|
195
|
+
</tbody></table>
|
196
196
|
HTML
|
197
197
|
|
198
198
|
compare(input, expected)
|
@@ -205,17 +205,17 @@ RSpec.describe "Menu" do
|
|
205
205
|
</menu>
|
206
206
|
INKY
|
207
207
|
expected = <<-HTML
|
208
|
-
<table class="menu">
|
208
|
+
<table class="menu"><tbody>
|
209
209
|
<tr>
|
210
210
|
<td>
|
211
|
-
<table>
|
211
|
+
<table><tbody>
|
212
212
|
<tr>
|
213
213
|
<th class="menu-item"><a href="http://zurb.com">Item 1</a></th>
|
214
214
|
</tr>
|
215
|
-
</table>
|
215
|
+
</tbody></table>
|
216
216
|
</td>
|
217
217
|
</tr>
|
218
|
-
</table>
|
218
|
+
</tbody></table>
|
219
219
|
HTML
|
220
220
|
|
221
221
|
compare(input, expected)
|
@@ -226,12 +226,12 @@ RSpec.describe "Callout" do
|
|
226
226
|
it "creates a callout with correct syntax" do
|
227
227
|
input = '<callout>Callout</callout>'
|
228
228
|
expected = <<-HTML
|
229
|
-
<table class="callout">
|
229
|
+
<table class="callout"><tbody>
|
230
230
|
<tr>
|
231
231
|
<th class="callout-inner">Callout</th>
|
232
232
|
<th class="expander"></th>
|
233
233
|
</tr>
|
234
|
-
</table>
|
234
|
+
</tbody></table>
|
235
235
|
HTML
|
236
236
|
|
237
237
|
compare(input, expected)
|
@@ -240,12 +240,12 @@ RSpec.describe "Callout" do
|
|
240
240
|
it "copies classes to the final HTML" do
|
241
241
|
input = '<callout class="primary">Callout</callout>'
|
242
242
|
expected = <<-HTML
|
243
|
-
<table class="callout">
|
243
|
+
<table class="callout"><tbody>
|
244
244
|
<tr>
|
245
245
|
<th class="callout-inner primary">Callout</th>
|
246
246
|
<th class="expander"></th>
|
247
247
|
</tr>
|
248
|
-
</table>
|
248
|
+
</tbody></table>
|
249
249
|
HTML
|
250
250
|
|
251
251
|
compare(input, expected)
|
@@ -259,7 +259,7 @@ RSpec.describe "Spacer" do
|
|
259
259
|
<table class="spacer">
|
260
260
|
<tbody>
|
261
261
|
<tr>
|
262
|
-
<td height="10" style="font-size:10px;line-height:10px;"
|
262
|
+
<td height="10" style="font-size:10px;line-height:10px;"> </td>
|
263
263
|
</tr>
|
264
264
|
</tbody>
|
265
265
|
</table>
|
@@ -274,7 +274,7 @@ RSpec.describe "Spacer" do
|
|
274
274
|
<table class="spacer hide-for-large">
|
275
275
|
<tbody>
|
276
276
|
<tr>
|
277
|
-
<td height="10" style="font-size:10px;line-height:10px;"
|
277
|
+
<td height="10" style="font-size:10px;line-height:10px;"> </td>
|
278
278
|
</tr>
|
279
279
|
</tbody>
|
280
280
|
</table>
|
@@ -289,7 +289,7 @@ RSpec.describe "Spacer" do
|
|
289
289
|
<table class="spacer show-for-large">
|
290
290
|
<tbody>
|
291
291
|
<tr>
|
292
|
-
<td height="20" style="font-size:20px;line-height:20px;"
|
292
|
+
<td height="20" style="font-size:20px;line-height:20px;"> </td>
|
293
293
|
</tr>
|
294
294
|
</tbody>
|
295
295
|
</table>
|
@@ -304,14 +304,14 @@ RSpec.describe "Spacer" do
|
|
304
304
|
<table class="spacer hide-for-large">
|
305
305
|
<tbody>
|
306
306
|
<tr>
|
307
|
-
<td height="10" style="font-size:10px;line-height:10px;"
|
307
|
+
<td height="10" style="font-size:10px;line-height:10px;"> </td>
|
308
308
|
</tr>
|
309
309
|
</tbody>
|
310
310
|
</table>
|
311
311
|
<table class="spacer show-for-large">
|
312
312
|
<tbody>
|
313
313
|
<tr>
|
314
|
-
<td height="20" style="font-size:20px;line-height:20px;"
|
314
|
+
<td height="20" style="font-size:20px;line-height:20px;"> </td>
|
315
315
|
</tr>
|
316
316
|
</tbody>
|
317
317
|
</table>
|
@@ -326,7 +326,7 @@ RSpec.describe "Spacer" do
|
|
326
326
|
<table class="spacer bgcolor">
|
327
327
|
<tbody>
|
328
328
|
<tr>
|
329
|
-
<td height="10" style="font-size:10px;line-height:10px;"
|
329
|
+
<td height="10" style="font-size:10px;line-height:10px;"> </td>
|
330
330
|
</tr>
|
331
331
|
</tbody>
|
332
332
|
</table>
|
@@ -340,11 +340,11 @@ RSpec.describe "Wrapper" do
|
|
340
340
|
it 'creates a wrapper that you can attach classes to' do
|
341
341
|
input = '<wrapper class="header"></wrapper>'
|
342
342
|
expected = <<-HTML
|
343
|
-
<table class="wrapper header" align="center">
|
343
|
+
<table class="wrapper header" align="center"><tbody>
|
344
344
|
<tr>
|
345
345
|
<td class="wrapper-inner"></td>
|
346
346
|
</tr>
|
347
|
-
</table>
|
347
|
+
</tbody></table>
|
348
348
|
HTML
|
349
349
|
|
350
350
|
compare(input, expected)
|