Spreadsheet-HTML 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +3 -0
- data/.travis.yml +8 -0
- data/Changes +4 -0
- data/Gemfile +4 -0
- data/License.md +23 -0
- data/Rakefile +7 -0
- data/Spreadsheet-HTML.gemspec +24 -0
- data/lib/Spreadsheet/HTML.rb +204 -0
- data/lib/Spreadsheet/HTML/version.rb +5 -0
- data/readme.md +34 -0
- data/t/01-load.rb +9 -0
- data/t/02-run.rb +64 -0
- data/t/03-matrix.rb +70 -0
- data/t/04-headless.rb +70 -0
- data/t/05-theta.rb +418 -0
- data/t/06-aliases.rb +278 -0
- data/t/07-attrs.rb +184 -0
- data/t/08-tgroups.rb +132 -0
- data/t/09-padding.rb +24 -0
- metadata +111 -0
data/t/06-aliases.rb
ADDED
@@ -0,0 +1,278 @@
|
|
1
|
+
require "test/unit"
|
2
|
+
require "Spreadsheet/HTML"
|
3
|
+
|
4
|
+
class Test_Aliases < Test::Unit::TestCase
|
5
|
+
|
6
|
+
def test_portrait
|
7
|
+
|
8
|
+
data = Array[
|
9
|
+
%w(header1 header2 header3 header4),
|
10
|
+
%w(foo1 bar1 baz1 qux1),
|
11
|
+
%w(foo2 bar2 baz2 qux2),
|
12
|
+
%w(foo3 bar3 baz3 qux3),
|
13
|
+
%w(foo4 bar4 baz4 qux4)
|
14
|
+
]
|
15
|
+
|
16
|
+
html = '<table><tr><th>header1</th><th>header2</th><th>header3</th><th>header4</th></tr><tr><td>foo1</td><td>bar1</td><td>baz1</td><td>qux1</td></tr><tr><td>foo2</td><td>bar2</td><td>baz2</td><td>qux2</td></tr><tr><td>foo3</td><td>bar3</td><td>baz3</td><td>qux3</td></tr><tr><td>foo4</td><td>bar4</td><td>baz4</td><td>qux4</td></tr></table>'
|
17
|
+
|
18
|
+
assert_equal(
|
19
|
+
html,
|
20
|
+
Spreadsheet::HTML.new( 'data' => data ).portrait(),
|
21
|
+
"via constructor and method"
|
22
|
+
)
|
23
|
+
assert_equal(
|
24
|
+
html,
|
25
|
+
Spreadsheet::HTML.new.portrait( data ),
|
26
|
+
"with array ref"
|
27
|
+
)
|
28
|
+
assert_equal(
|
29
|
+
html,
|
30
|
+
Spreadsheet::HTML.new.portrait( 'data' => data ),
|
31
|
+
"named args only"
|
32
|
+
)
|
33
|
+
|
34
|
+
assert_equal(
|
35
|
+
html,
|
36
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => 90 ).portrait(),
|
37
|
+
"theta disabled via constructor and method"
|
38
|
+
)
|
39
|
+
assert_equal(
|
40
|
+
html,
|
41
|
+
Spreadsheet::HTML.new.portrait( data, 'theta' => 180 ),
|
42
|
+
"theta disabled with array ref"
|
43
|
+
)
|
44
|
+
assert_equal(
|
45
|
+
html,
|
46
|
+
Spreadsheet::HTML.new.portrait( 'data' => data, 'theta' => 270 ),
|
47
|
+
"theta disabled named args only"
|
48
|
+
)
|
49
|
+
|
50
|
+
html = '<table><tr><td>header1</td><td>header2</td><td>header3</td><td>header4</td></tr><tr><td>foo1</td><td>bar1</td><td>baz1</td><td>qux1</td></tr><tr><td>foo2</td><td>bar2</td><td>baz2</td><td>qux2</td></tr><tr><td>foo3</td><td>bar3</td><td>baz3</td><td>qux3</td></tr><tr><td>foo4</td><td>bar4</td><td>baz4</td><td>qux4</td></tr></table>'
|
51
|
+
|
52
|
+
assert_equal(
|
53
|
+
html,
|
54
|
+
Spreadsheet::HTML.new( 'data' => data, 'matrix' => 1 ).portrait(),
|
55
|
+
"matrix via constructor and method"
|
56
|
+
)
|
57
|
+
assert_equal(
|
58
|
+
html,
|
59
|
+
Spreadsheet::HTML.new.portrait( data, 'matrix' => 1 ),
|
60
|
+
"matrix with array ref"
|
61
|
+
)
|
62
|
+
assert_equal(
|
63
|
+
html,
|
64
|
+
Spreadsheet::HTML.new.portrait( 'data' => data, 'matrix' => 1 ),
|
65
|
+
"matrix named args only"
|
66
|
+
)
|
67
|
+
|
68
|
+
html = '<table><tr><td>foo1</td><td>bar1</td><td>baz1</td><td>qux1</td></tr><tr><td>foo2</td><td>bar2</td><td>baz2</td><td>qux2</td></tr><tr><td>foo3</td><td>bar3</td><td>baz3</td><td>qux3</td></tr><tr><td>foo4</td><td>bar4</td><td>baz4</td><td>qux4</td></tr></table>'
|
69
|
+
|
70
|
+
assert_equal(
|
71
|
+
html,
|
72
|
+
Spreadsheet::HTML.new( 'data' => data, 'headless' => 1 ).portrait(),
|
73
|
+
"headless via constructor and method"
|
74
|
+
)
|
75
|
+
assert_equal(
|
76
|
+
html,
|
77
|
+
Spreadsheet::HTML.new.portrait( data, 'headless' => 1 ),
|
78
|
+
"headless with array ref"
|
79
|
+
)
|
80
|
+
assert_equal(
|
81
|
+
html,
|
82
|
+
Spreadsheet::HTML.new.portrait( 'data' => data, 'headless' => 1 ),
|
83
|
+
"headless named args only"
|
84
|
+
)
|
85
|
+
|
86
|
+
end
|
87
|
+
|
88
|
+
def test_landscape
|
89
|
+
|
90
|
+
data = Array[
|
91
|
+
%w(header1 header2 header3 header4),
|
92
|
+
%w(foo1 bar1 baz1 qux1),
|
93
|
+
%w(foo2 bar2 baz2 qux2),
|
94
|
+
%w(foo3 bar3 baz3 qux3),
|
95
|
+
%w(foo4 bar4 baz4 qux4)
|
96
|
+
]
|
97
|
+
|
98
|
+
html = '<table><tr><th>header1</th><td>foo1</td><td>foo2</td><td>foo3</td><td>foo4</td></tr><tr><th>header2</th><td>bar1</td><td>bar2</td><td>bar3</td><td>bar4</td></tr><tr><th>header3</th><td>baz1</td><td>baz2</td><td>baz3</td><td>baz4</td></tr><tr><th>header4</th><td>qux1</td><td>qux2</td><td>qux3</td><td>qux4</td></tr></table>'
|
99
|
+
|
100
|
+
assert_equal(
|
101
|
+
html,
|
102
|
+
Spreadsheet::HTML.new( 'data' => data ).landscape(),
|
103
|
+
"via constructor and method"
|
104
|
+
)
|
105
|
+
assert_equal(
|
106
|
+
html,
|
107
|
+
Spreadsheet::HTML.new.landscape( data ),
|
108
|
+
"with array ref"
|
109
|
+
)
|
110
|
+
assert_equal(
|
111
|
+
html,
|
112
|
+
Spreadsheet::HTML.new.landscape( 'data' => data ),
|
113
|
+
"named args only"
|
114
|
+
)
|
115
|
+
|
116
|
+
assert_equal(
|
117
|
+
html,
|
118
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => 90 ).landscape(),
|
119
|
+
"theta disabled via constructor and method"
|
120
|
+
)
|
121
|
+
assert_equal(
|
122
|
+
html,
|
123
|
+
Spreadsheet::HTML.new.landscape( data, 'theta' => 180 ),
|
124
|
+
"theta disabled with array ref"
|
125
|
+
)
|
126
|
+
assert_equal(
|
127
|
+
html,
|
128
|
+
Spreadsheet::HTML.new.landscape( 'data' => data, 'theta' => 270 ),
|
129
|
+
"theta disabled named args only"
|
130
|
+
)
|
131
|
+
|
132
|
+
html = '<table><tr><td>header1</td><td>foo1</td><td>foo2</td><td>foo3</td><td>foo4</td></tr><tr><td>header2</td><td>bar1</td><td>bar2</td><td>bar3</td><td>bar4</td></tr><tr><td>header3</td><td>baz1</td><td>baz2</td><td>baz3</td><td>baz4</td></tr><tr><td>header4</td><td>qux1</td><td>qux2</td><td>qux3</td><td>qux4</td></tr></table>'
|
133
|
+
|
134
|
+
assert_equal(
|
135
|
+
html,
|
136
|
+
Spreadsheet::HTML.new( 'data' => data, 'matrix' => 1 ).landscape(),
|
137
|
+
"matrix via constructor and method"
|
138
|
+
)
|
139
|
+
assert_equal(
|
140
|
+
html,
|
141
|
+
Spreadsheet::HTML.new.landscape( data, 'matrix' => 1 ),
|
142
|
+
"matrix with array ref"
|
143
|
+
)
|
144
|
+
assert_equal(
|
145
|
+
html,
|
146
|
+
Spreadsheet::HTML.new.landscape( 'data' => data, 'matrix' => 1 ),
|
147
|
+
"matrix named args only"
|
148
|
+
)
|
149
|
+
|
150
|
+
html = '<table><tr><td>foo1</td><td>foo2</td><td>foo3</td><td>foo4</td></tr><tr><td>bar1</td><td>bar2</td><td>bar3</td><td>bar4</td></tr><tr><td>baz1</td><td>baz2</td><td>baz3</td><td>baz4</td></tr><tr><td>qux1</td><td>qux2</td><td>qux3</td><td>qux4</td></tr></table>'
|
151
|
+
|
152
|
+
assert_equal(
|
153
|
+
html,
|
154
|
+
Spreadsheet::HTML.new( 'data' => data, 'headless' => 1 ).landscape(),
|
155
|
+
"headless via constructor and method"
|
156
|
+
)
|
157
|
+
assert_equal(
|
158
|
+
html,
|
159
|
+
Spreadsheet::HTML.new.landscape( data, 'headless' => 1 ),
|
160
|
+
"headless with array ref"
|
161
|
+
)
|
162
|
+
assert_equal(
|
163
|
+
html,
|
164
|
+
Spreadsheet::HTML.new.landscape( 'data' => data, 'headless' => 1 ),
|
165
|
+
"headless named args only"
|
166
|
+
)
|
167
|
+
|
168
|
+
end
|
169
|
+
|
170
|
+
def test_aliases
|
171
|
+
|
172
|
+
data = Array[
|
173
|
+
%w(header1 header2 header3 header4),
|
174
|
+
%w(foo1 bar1 baz1 qux1),
|
175
|
+
%w(foo2 bar2 baz2 qux2),
|
176
|
+
%w(foo3 bar3 baz3 qux3),
|
177
|
+
%w(foo4 bar4 baz4 qux4)
|
178
|
+
]
|
179
|
+
|
180
|
+
assert_equal(
|
181
|
+
Spreadsheet::HTML.new( 'data' => data ).generate(),
|
182
|
+
Spreadsheet::HTML.new( 'data' => data ).portrait(),
|
183
|
+
"portrait is generate via constructor and method"
|
184
|
+
)
|
185
|
+
assert_equal(
|
186
|
+
Spreadsheet::HTML.new.generate( data ),
|
187
|
+
Spreadsheet::HTML.new.portrait( data ),
|
188
|
+
"portrait is generate with array ref"
|
189
|
+
)
|
190
|
+
assert_equal(
|
191
|
+
Spreadsheet::HTML.new.generate( 'data' => data ),
|
192
|
+
Spreadsheet::HTML.new.portrait( 'data' => data ),
|
193
|
+
"portrait is generate named args only"
|
194
|
+
)
|
195
|
+
|
196
|
+
assert_equal(
|
197
|
+
Spreadsheet::HTML.new( 'data' => data ).generate(),
|
198
|
+
Spreadsheet::HTML.new( 'data' => data ).north(),
|
199
|
+
"north is generate via constructor and method"
|
200
|
+
)
|
201
|
+
assert_equal(
|
202
|
+
Spreadsheet::HTML.new.generate( data ),
|
203
|
+
Spreadsheet::HTML.new.north( data ),
|
204
|
+
"north is generate with array ref"
|
205
|
+
)
|
206
|
+
assert_equal(
|
207
|
+
Spreadsheet::HTML.new.generate( 'data' => data ),
|
208
|
+
Spreadsheet::HTML.new.north( 'data' => data ),
|
209
|
+
"north is generate named args only"
|
210
|
+
)
|
211
|
+
|
212
|
+
assert_equal(
|
213
|
+
Spreadsheet::HTML.new( 'data' => data ).west(),
|
214
|
+
Spreadsheet::HTML.new( 'data' => data ).landscape(),
|
215
|
+
"west is landscape via constructor and method"
|
216
|
+
)
|
217
|
+
assert_equal(
|
218
|
+
Spreadsheet::HTML.new.west( data ),
|
219
|
+
Spreadsheet::HTML.new.landscape( data ),
|
220
|
+
"west is landscape with array ref"
|
221
|
+
)
|
222
|
+
assert_equal(
|
223
|
+
Spreadsheet::HTML.new.west( 'data' => data ),
|
224
|
+
Spreadsheet::HTML.new.landscape( 'data' => data ),
|
225
|
+
"west is landscape named args only"
|
226
|
+
)
|
227
|
+
|
228
|
+
assert_equal(
|
229
|
+
Spreadsheet::HTML.new( 'data' => data ).west(),
|
230
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => -270 ).generate(),
|
231
|
+
"west is theta -270 via constructor and method"
|
232
|
+
)
|
233
|
+
assert_equal(
|
234
|
+
Spreadsheet::HTML.new.west( data ),
|
235
|
+
Spreadsheet::HTML.new.generate( data, 'theta' => -270 ),
|
236
|
+
"west is theta -270 with array ref"
|
237
|
+
)
|
238
|
+
assert_equal(
|
239
|
+
Spreadsheet::HTML.new.west( 'data' => data ),
|
240
|
+
Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => -270 ),
|
241
|
+
"west is theta -270 named args only"
|
242
|
+
)
|
243
|
+
|
244
|
+
assert_equal(
|
245
|
+
Spreadsheet::HTML.new( 'data' => data ).east(),
|
246
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => 90, 'pinhead' => 1 ).generate(),
|
247
|
+
"east is theta 90 via constructor and method"
|
248
|
+
)
|
249
|
+
assert_equal(
|
250
|
+
Spreadsheet::HTML.new.east( data ),
|
251
|
+
Spreadsheet::HTML.new.generate( data, 'theta' => 90, 'pinhead' => 1 ),
|
252
|
+
"east is theta 90 with array ref"
|
253
|
+
)
|
254
|
+
assert_equal(
|
255
|
+
Spreadsheet::HTML.new.east( 'data' => data ),
|
256
|
+
Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => 90, 'pinhead' => 1 ),
|
257
|
+
"east is theta 90 named args only"
|
258
|
+
)
|
259
|
+
|
260
|
+
assert_equal(
|
261
|
+
Spreadsheet::HTML.new( 'data' => data ).south(),
|
262
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => -180, 'pinhead' => 1 ).generate(),
|
263
|
+
"south is theta -180 via constructor and method"
|
264
|
+
)
|
265
|
+
assert_equal(
|
266
|
+
Spreadsheet::HTML.new.south( data ),
|
267
|
+
Spreadsheet::HTML.new.generate( data, 'theta' => -180, 'pinhead' => 1 ),
|
268
|
+
"south is theta -180 with array ref"
|
269
|
+
)
|
270
|
+
assert_equal(
|
271
|
+
Spreadsheet::HTML.new.south( 'data' => data ),
|
272
|
+
Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => -180, 'pinhead' => 1 ),
|
273
|
+
"south is theta -180 named args only"
|
274
|
+
)
|
275
|
+
|
276
|
+
end
|
277
|
+
|
278
|
+
end
|
data/t/07-attrs.rb
ADDED
@@ -0,0 +1,184 @@
|
|
1
|
+
require "test/unit"
|
2
|
+
require "Spreadsheet/HTML"
|
3
|
+
|
4
|
+
class Test_Attributes < Test::Unit::TestCase
|
5
|
+
|
6
|
+
def test_table
|
7
|
+
|
8
|
+
data = Array[
|
9
|
+
%w(header1 header2 header3 header4),
|
10
|
+
%w(foo1 bar1 baz1 qux1),
|
11
|
+
%w(foo2 bar2 baz2 qux2),
|
12
|
+
%w(foo3 bar3 baz3 qux3),
|
13
|
+
%w(foo4 bar4 baz4 qux4)
|
14
|
+
]
|
15
|
+
|
16
|
+
html = '<table class="spreadsheet"><tr><th>header1</th><th>header2</th><th>header3</th><th>header4</th></tr><tr><td>foo1</td><td>bar1</td><td>baz1</td><td>qux1</td></tr><tr><td>foo2</td><td>bar2</td><td>baz2</td><td>qux2</td></tr><tr><td>foo3</td><td>bar3</td><td>baz3</td><td>qux3</td></tr><tr><td>foo4</td><td>bar4</td><td>baz4</td><td>qux4</td></tr></table>'
|
17
|
+
|
18
|
+
assert_equal(
|
19
|
+
html,
|
20
|
+
Spreadsheet::HTML.new( 'data' => data, 'table' => { 'class' => 'spreadsheet' } ).generate(),
|
21
|
+
"via constructor only"
|
22
|
+
)
|
23
|
+
assert_equal(
|
24
|
+
html,
|
25
|
+
Spreadsheet::HTML.new().generate( 'data' => data, 'table' => { 'class' => 'spreadsheet' } ),
|
26
|
+
"via method only"
|
27
|
+
)
|
28
|
+
assert_equal(
|
29
|
+
html,
|
30
|
+
Spreadsheet::HTML.new( 'data' => data ).generate( 'table' => { 'class' => 'spreadsheet' } ),
|
31
|
+
"via constructor and method"
|
32
|
+
)
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_tr
|
37
|
+
|
38
|
+
data = Array[
|
39
|
+
%w(header1 header2 header3 header4),
|
40
|
+
%w(foo1 bar1 baz1 qux1),
|
41
|
+
%w(foo2 bar2 baz2 qux2),
|
42
|
+
%w(foo3 bar3 baz3 qux3),
|
43
|
+
%w(foo4 bar4 baz4 qux4)
|
44
|
+
]
|
45
|
+
|
46
|
+
html = '<table><tr class="row"><th>header1</th><th>header2</th><th>header3</th><th>header4</th></tr><tr class="row"><td>foo1</td><td>bar1</td><td>baz1</td><td>qux1</td></tr><tr class="row"><td>foo2</td><td>bar2</td><td>baz2</td><td>qux2</td></tr><tr class="row"><td>foo3</td><td>bar3</td><td>baz3</td><td>qux3</td></tr><tr class="row"><td>foo4</td><td>bar4</td><td>baz4</td><td>qux4</td></tr></table>'
|
47
|
+
|
48
|
+
assert_equal(
|
49
|
+
html,
|
50
|
+
Spreadsheet::HTML.new( 'data' => data, 'tr' => { 'class' => 'row' } ).generate(),
|
51
|
+
"via constructor only"
|
52
|
+
)
|
53
|
+
assert_equal(
|
54
|
+
html,
|
55
|
+
Spreadsheet::HTML.new().generate( 'data' => data, 'tr' => { 'class' => 'row' } ),
|
56
|
+
"via method only"
|
57
|
+
)
|
58
|
+
assert_equal(
|
59
|
+
html,
|
60
|
+
Spreadsheet::HTML.new( 'data' => data ).generate( 'tr' => { 'class' => 'row' } ),
|
61
|
+
"via constructor and method"
|
62
|
+
)
|
63
|
+
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_tr_rotate
|
67
|
+
|
68
|
+
data = Array[
|
69
|
+
%w(header1 header2 header3 header4),
|
70
|
+
%w(foo1 bar1 baz1 qux1),
|
71
|
+
%w(foo2 bar2 baz2 qux2),
|
72
|
+
%w(foo3 bar3 baz3 qux3),
|
73
|
+
%w(foo4 bar4 baz4 qux4)
|
74
|
+
]
|
75
|
+
|
76
|
+
html = '<table><tr class="odd"><th>header1</th><th>header2</th><th>header3</th><th>header4</th></tr><tr class="even"><td>foo1</td><td>bar1</td><td>baz1</td><td>qux1</td></tr><tr class="odd"><td>foo2</td><td>bar2</td><td>baz2</td><td>qux2</td></tr><tr class="even"><td>foo3</td><td>bar3</td><td>baz3</td><td>qux3</td></tr><tr class="odd"><td>foo4</td><td>bar4</td><td>baz4</td><td>qux4</td></tr></table>'
|
77
|
+
|
78
|
+
assert_equal(
|
79
|
+
html,
|
80
|
+
Spreadsheet::HTML.new( 'data' => data, 'tr' => { 'class' => %w{ odd even } } ).generate(),
|
81
|
+
"via constructor only"
|
82
|
+
)
|
83
|
+
assert_equal(
|
84
|
+
html,
|
85
|
+
Spreadsheet::HTML.new().generate( 'data' => data, 'tr' => { 'class' => %w{ odd even } } ),
|
86
|
+
"via method only"
|
87
|
+
)
|
88
|
+
assert_equal(
|
89
|
+
html,
|
90
|
+
Spreadsheet::HTML.new( 'data' => data ).generate( 'tr' => { 'class' => %w{ odd even } } ),
|
91
|
+
"via constructor and method"
|
92
|
+
)
|
93
|
+
|
94
|
+
end
|
95
|
+
def test_th
|
96
|
+
|
97
|
+
data = Array[
|
98
|
+
%w(header1 header2 header3 header4),
|
99
|
+
%w(foo1 bar1 baz1 qux1),
|
100
|
+
%w(foo2 bar2 baz2 qux2),
|
101
|
+
%w(foo3 bar3 baz3 qux3),
|
102
|
+
%w(foo4 bar4 baz4 qux4)
|
103
|
+
]
|
104
|
+
|
105
|
+
html = '<table><tr><th class="heading">header1</th><th class="heading">header2</th><th class="heading">header3</th><th class="heading">header4</th></tr><tr><td>foo1</td><td>bar1</td><td>baz1</td><td>qux1</td></tr><tr><td>foo2</td><td>bar2</td><td>baz2</td><td>qux2</td></tr><tr><td>foo3</td><td>bar3</td><td>baz3</td><td>qux3</td></tr><tr><td>foo4</td><td>bar4</td><td>baz4</td><td>qux4</td></tr></table>'
|
106
|
+
|
107
|
+
assert_equal(
|
108
|
+
html,
|
109
|
+
Spreadsheet::HTML.new( 'data' => data, 'th' => { 'class' => 'heading' } ).generate(),
|
110
|
+
"via constructor only"
|
111
|
+
)
|
112
|
+
assert_equal(
|
113
|
+
html,
|
114
|
+
Spreadsheet::HTML.new().generate( 'data' => data, 'th' => { 'class' => 'heading' } ),
|
115
|
+
"via method only"
|
116
|
+
)
|
117
|
+
assert_equal(
|
118
|
+
html,
|
119
|
+
Spreadsheet::HTML.new( 'data' => data ).generate( 'th' => { 'class' => 'heading' } ),
|
120
|
+
"via constructor and method"
|
121
|
+
)
|
122
|
+
|
123
|
+
end
|
124
|
+
|
125
|
+
def test_td
|
126
|
+
|
127
|
+
data = Array[
|
128
|
+
%w(header1 header2 header3 header4),
|
129
|
+
%w(foo1 bar1 baz1 qux1),
|
130
|
+
%w(foo2 bar2 baz2 qux2),
|
131
|
+
%w(foo3 bar3 baz3 qux3),
|
132
|
+
%w(foo4 bar4 baz4 qux4)
|
133
|
+
]
|
134
|
+
|
135
|
+
html = '<table><tr><th>header1</th><th>header2</th><th>header3</th><th>header4</th></tr><tr><td class="cell">foo1</td><td class="cell">bar1</td><td class="cell">baz1</td><td class="cell">qux1</td></tr><tr><td class="cell">foo2</td><td class="cell">bar2</td><td class="cell">baz2</td><td class="cell">qux2</td></tr><tr><td class="cell">foo3</td><td class="cell">bar3</td><td class="cell">baz3</td><td class="cell">qux3</td></tr><tr><td class="cell">foo4</td><td class="cell">bar4</td><td class="cell">baz4</td><td class="cell">qux4</td></tr></table>'
|
136
|
+
|
137
|
+
assert_equal(
|
138
|
+
html,
|
139
|
+
Spreadsheet::HTML.new( 'data' => data, 'td' => { 'class' => 'cell' } ).generate(),
|
140
|
+
"via constructor only"
|
141
|
+
)
|
142
|
+
assert_equal(
|
143
|
+
html,
|
144
|
+
Spreadsheet::HTML.new().generate( 'data' => data, 'td' => { 'class' => 'cell' } ),
|
145
|
+
"via method only"
|
146
|
+
)
|
147
|
+
assert_equal(
|
148
|
+
html,
|
149
|
+
Spreadsheet::HTML.new( 'data' => data ).generate( 'td' => { 'class' => 'cell' } ),
|
150
|
+
"via constructor and method"
|
151
|
+
)
|
152
|
+
|
153
|
+
end
|
154
|
+
|
155
|
+
def test_td_rotate
|
156
|
+
|
157
|
+
data = Array[
|
158
|
+
%w(header1 header2 header3 header4),
|
159
|
+
%w(foo1 bar1 baz1 qux1),
|
160
|
+
%w(foo2 bar2 baz2 qux2),
|
161
|
+
%w(foo3 bar3 baz3 qux3),
|
162
|
+
%w(foo4 bar4 baz4 qux4)
|
163
|
+
]
|
164
|
+
|
165
|
+
html = '<table><tr><th>header1</th><th>header2</th><th>header3</th><th>header4</th></tr><tr><td style="color: red;">foo1</td><td style="color: green;">bar1</td><td style="color: blue;">baz1</td><td style="color: red;">qux1</td></tr><tr><td style="color: green;">foo2</td><td style="color: blue;">bar2</td><td style="color: red;">baz2</td><td style="color: green;">qux2</td></tr><tr><td style="color: blue;">foo3</td><td style="color: red;">bar3</td><td style="color: green;">baz3</td><td style="color: blue;">qux3</td></tr><tr><td style="color: red;">foo4</td><td style="color: green;">bar4</td><td style="color: blue;">baz4</td><td style="color: red;">qux4</td></tr></table>'
|
166
|
+
|
167
|
+
assert_equal(
|
168
|
+
html,
|
169
|
+
Spreadsheet::HTML.new( 'data' => data, 'td' => { 'style' => { 'color' => %w{ red green blue } } } ).generate(),
|
170
|
+
"via constructor only"
|
171
|
+
)
|
172
|
+
assert_equal(
|
173
|
+
html,
|
174
|
+
Spreadsheet::HTML.new().generate( 'data' => data, 'td' => { 'style' => { 'color' => %w{ red green blue } } } ),
|
175
|
+
"via method only"
|
176
|
+
)
|
177
|
+
assert_equal(
|
178
|
+
html,
|
179
|
+
Spreadsheet::HTML.new( 'data' => data ).generate( 'td' => { 'style' => { 'color' => %w{ red green blue } } } ),
|
180
|
+
"via constructor and method"
|
181
|
+
)
|
182
|
+
|
183
|
+
end
|
184
|
+
end
|