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/04-headless.rb
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
require "test/unit"
|
2
|
+
require "Spreadsheet/HTML"
|
3
|
+
|
4
|
+
class Test_Headless < Test::Unit::TestCase
|
5
|
+
|
6
|
+
def test_instance
|
7
|
+
|
8
|
+
data = Array[[1,'a'], [2,'b'], [3,'c']]
|
9
|
+
html = '<table><tr><td>2</td><td>b</td></tr><tr><td>3</td><td>c</td></tr></table>'
|
10
|
+
|
11
|
+
assert_equal(
|
12
|
+
html,
|
13
|
+
Spreadsheet::HTML.new( 'data' => data, 'headless' => 1 ).generate( 'headless' => 1 ),
|
14
|
+
"via constructor only"
|
15
|
+
)
|
16
|
+
|
17
|
+
assert_equal(
|
18
|
+
html,
|
19
|
+
Spreadsheet::HTML.new( 'data' => data ).generate( 'headless' => 1 ),
|
20
|
+
"via constructor and method"
|
21
|
+
)
|
22
|
+
|
23
|
+
gen = Spreadsheet::HTML.new
|
24
|
+
|
25
|
+
assert_equal(
|
26
|
+
html,
|
27
|
+
gen.generate( [1,'a'], [2,'b'], [3,'c'], 'headless' => 1 ),
|
28
|
+
"two array refs"
|
29
|
+
)
|
30
|
+
|
31
|
+
assert_equal(
|
32
|
+
html,
|
33
|
+
gen.generate( data, 'headless' => 1 ),
|
34
|
+
"one array ref"
|
35
|
+
)
|
36
|
+
|
37
|
+
assert_equal(
|
38
|
+
html,
|
39
|
+
gen.generate( 'data' => data, 'headless' => 1 ),
|
40
|
+
"one named arg"
|
41
|
+
)
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_class
|
46
|
+
|
47
|
+
data = Array[[1,'a'], [2,'b'], [3,'c']]
|
48
|
+
html = '<table><tr><td>2</td><td>b</td></tr><tr><td>3</td><td>c</td></tr></table>'
|
49
|
+
|
50
|
+
assert_equal(
|
51
|
+
html,
|
52
|
+
Spreadsheet::HTML.gen( [1,'a'], [2,'b'], [3,'c'], 'headless' => 1 ),
|
53
|
+
"two array refs"
|
54
|
+
)
|
55
|
+
|
56
|
+
assert_equal(
|
57
|
+
html,
|
58
|
+
Spreadsheet::HTML.gen( data, 'headless' => 1 ),
|
59
|
+
"one array ref"
|
60
|
+
)
|
61
|
+
|
62
|
+
assert_equal(
|
63
|
+
html,
|
64
|
+
Spreadsheet::HTML.gen( 'data' => data, 'headless' => 1 ),
|
65
|
+
"one named arg"
|
66
|
+
)
|
67
|
+
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
data/t/05-theta.rb
ADDED
@@ -0,0 +1,418 @@
|
|
1
|
+
require "test/unit"
|
2
|
+
require "Spreadsheet/HTML"
|
3
|
+
|
4
|
+
class Test_Theta < Test::Unit::TestCase
|
5
|
+
|
6
|
+
def test_0flip
|
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>header4</th><th>header3</th><th>header2</th><th>header1</th></tr><tr><td>qux1</td><td>baz1</td><td>bar1</td><td>foo1</td></tr><tr><td>qux2</td><td>baz2</td><td>bar2</td><td>foo2</td></tr><tr><td>qux3</td><td>baz3</td><td>bar3</td><td>foo3</td></tr><tr><td>qux4</td><td>baz4</td><td>bar4</td><td>foo4</td></tr></table>'
|
17
|
+
|
18
|
+
assert_equal(
|
19
|
+
html,
|
20
|
+
Spreadsheet::HTML.new( 'data' => data, 'flip' => 1 ).generate(),
|
21
|
+
"via constructor only"
|
22
|
+
)
|
23
|
+
assert_equal(
|
24
|
+
html,
|
25
|
+
Spreadsheet::HTML.new( 'data' => data ).generate( 'flip' => 1 ),
|
26
|
+
"via constructor and method"
|
27
|
+
)
|
28
|
+
assert_equal(
|
29
|
+
html,
|
30
|
+
Spreadsheet::HTML.new.generate( data, 'flip' => 1 ),
|
31
|
+
"with array ref"
|
32
|
+
)
|
33
|
+
assert_equal(
|
34
|
+
html,
|
35
|
+
Spreadsheet::HTML.new.generate( 'data' => data, 'flip' => 1 ),
|
36
|
+
"named args only"
|
37
|
+
)
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_90
|
42
|
+
|
43
|
+
data = Array[
|
44
|
+
%w(header1 header2 header3 header4 ),
|
45
|
+
%w(foo1 bar1 baz1 qux1),
|
46
|
+
%w(foo2 bar2 baz2 qux2),
|
47
|
+
%w(foo3 bar3 baz3 qux3),
|
48
|
+
%w(foo4 bar4 baz4 qux4)
|
49
|
+
]
|
50
|
+
|
51
|
+
html = '<table><tr><td>foo4</td><td>foo3</td><td>foo2</td><td>foo1</td><th>header1</th></tr><tr><td>bar4</td><td>bar3</td><td>bar2</td><td>bar1</td><th>header2</th></tr><tr><td>baz4</td><td>baz3</td><td>baz2</td><td>baz1</td><th>header3</th></tr><tr><td>qux4</td><td>qux3</td><td>qux2</td><td>qux1</td><th>header4</th></tr></table>'
|
52
|
+
|
53
|
+
assert_equal(
|
54
|
+
html,
|
55
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => 90 ).generate(),
|
56
|
+
"via constructor only"
|
57
|
+
)
|
58
|
+
assert_equal(
|
59
|
+
html,
|
60
|
+
Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => 90 ),
|
61
|
+
"via constructor and method"
|
62
|
+
)
|
63
|
+
assert_equal(
|
64
|
+
html,
|
65
|
+
Spreadsheet::HTML.new.generate( data, 'theta' => 90 ),
|
66
|
+
"with array ref"
|
67
|
+
)
|
68
|
+
assert_equal(
|
69
|
+
html,
|
70
|
+
Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => 90 ),
|
71
|
+
"named args only"
|
72
|
+
)
|
73
|
+
|
74
|
+
end
|
75
|
+
|
76
|
+
def test_90_pinhead
|
77
|
+
|
78
|
+
data = Array[
|
79
|
+
%w(header1 header2 header3 header4 ),
|
80
|
+
%w(foo1 bar1 baz1 qux1),
|
81
|
+
%w(foo2 bar2 baz2 qux2),
|
82
|
+
%w(foo3 bar3 baz3 qux3),
|
83
|
+
%w(foo4 bar4 baz4 qux4)
|
84
|
+
]
|
85
|
+
|
86
|
+
html = '<table><tr><td>foo1</td><td>foo2</td><td>foo3</td><td>foo4</td><th>header1</th></tr><tr><td>bar1</td><td>bar2</td><td>bar3</td><td>bar4</td><th>header2</th></tr><tr><td>baz1</td><td>baz2</td><td>baz3</td><td>baz4</td><th>header3</th></tr><tr><td>qux1</td><td>qux2</td><td>qux3</td><td>qux4</td><th>header4</th></tr></table>'
|
87
|
+
|
88
|
+
assert_equal(
|
89
|
+
html,
|
90
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => 90, 'pinhead' => 1 ).generate(),
|
91
|
+
"via constructor only"
|
92
|
+
)
|
93
|
+
assert_equal(
|
94
|
+
html,
|
95
|
+
Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => 90, 'pinhead' => 1 ),
|
96
|
+
"via constructor and method"
|
97
|
+
)
|
98
|
+
assert_equal(
|
99
|
+
html,
|
100
|
+
Spreadsheet::HTML.new.generate( data, 'theta' => 90, 'pinhead' => 1 ),
|
101
|
+
"with array ref"
|
102
|
+
)
|
103
|
+
assert_equal(
|
104
|
+
html,
|
105
|
+
Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => 90, 'pinhead' => 1 ),
|
106
|
+
"named args only"
|
107
|
+
)
|
108
|
+
|
109
|
+
end
|
110
|
+
|
111
|
+
def test_neg90
|
112
|
+
|
113
|
+
data = Array[
|
114
|
+
%w(header1 header2 header3 header4 ),
|
115
|
+
%w(foo1 bar1 baz1 qux1),
|
116
|
+
%w(foo2 bar2 baz2 qux2),
|
117
|
+
%w(foo3 bar3 baz3 qux3),
|
118
|
+
%w(foo4 bar4 baz4 qux4)
|
119
|
+
]
|
120
|
+
|
121
|
+
html = '<table><tr><td>qux4</td><td>qux3</td><td>qux2</td><td>qux1</td><th>header4</th></tr><tr><td>baz4</td><td>baz3</td><td>baz2</td><td>baz1</td><th>header3</th></tr><tr><td>bar4</td><td>bar3</td><td>bar2</td><td>bar1</td><th>header2</th></tr><tr><td>foo4</td><td>foo3</td><td>foo2</td><td>foo1</td><th>header1</th></tr></table>'
|
122
|
+
|
123
|
+
assert_equal(
|
124
|
+
html,
|
125
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => -90 ).generate(),
|
126
|
+
"via constructor only"
|
127
|
+
)
|
128
|
+
assert_equal(
|
129
|
+
html,
|
130
|
+
Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => -90 ),
|
131
|
+
"via constructor and method"
|
132
|
+
)
|
133
|
+
assert_equal(
|
134
|
+
html,
|
135
|
+
Spreadsheet::HTML.new.generate( data, 'theta' => -90 ),
|
136
|
+
"with array ref"
|
137
|
+
)
|
138
|
+
assert_equal(
|
139
|
+
html,
|
140
|
+
Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => -90 ),
|
141
|
+
"named args only"
|
142
|
+
)
|
143
|
+
|
144
|
+
end
|
145
|
+
|
146
|
+
def test_neg90_pinhead
|
147
|
+
|
148
|
+
data = Array[
|
149
|
+
%w(header1 header2 header3 header4 ),
|
150
|
+
%w(foo1 bar1 baz1 qux1),
|
151
|
+
%w(foo2 bar2 baz2 qux2),
|
152
|
+
%w(foo3 bar3 baz3 qux3),
|
153
|
+
%w(foo4 bar4 baz4 qux4)
|
154
|
+
]
|
155
|
+
|
156
|
+
html = '<table><tr><td>qux1</td><td>qux2</td><td>qux3</td><td>qux4</td><th>header4</th></tr><tr><td>baz1</td><td>baz2</td><td>baz3</td><td>baz4</td><th>header3</th></tr><tr><td>bar1</td><td>bar2</td><td>bar3</td><td>bar4</td><th>header2</th></tr><tr><td>foo1</td><td>foo2</td><td>foo3</td><td>foo4</td><th>header1</th></tr></table>'
|
157
|
+
|
158
|
+
assert_equal(
|
159
|
+
html,
|
160
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => -90, 'pinhead' => 1 ).generate(),
|
161
|
+
"via constructor only"
|
162
|
+
)
|
163
|
+
assert_equal(
|
164
|
+
html,
|
165
|
+
Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => -90, 'pinhead' => 1 ),
|
166
|
+
"via constructor and method"
|
167
|
+
)
|
168
|
+
assert_equal(
|
169
|
+
html,
|
170
|
+
Spreadsheet::HTML.new.generate( data, 'theta' => -90, 'pinhead' => 1 ),
|
171
|
+
"with array ref"
|
172
|
+
)
|
173
|
+
assert_equal(
|
174
|
+
html,
|
175
|
+
Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => -90, 'pinhead' => 1 ),
|
176
|
+
"named args only"
|
177
|
+
)
|
178
|
+
|
179
|
+
end
|
180
|
+
|
181
|
+
def test_180
|
182
|
+
|
183
|
+
data = Array[
|
184
|
+
%w(header1 header2 header3 header4 ),
|
185
|
+
%w(foo1 bar1 baz1 qux1),
|
186
|
+
%w(foo2 bar2 baz2 qux2),
|
187
|
+
%w(foo3 bar3 baz3 qux3),
|
188
|
+
%w(foo4 bar4 baz4 qux4)
|
189
|
+
]
|
190
|
+
|
191
|
+
html = '<table><tr><td>qux4</td><td>baz4</td><td>bar4</td><td>foo4</td></tr><tr><td>qux3</td><td>baz3</td><td>bar3</td><td>foo3</td></tr><tr><td>qux2</td><td>baz2</td><td>bar2</td><td>foo2</td></tr><tr><td>qux1</td><td>baz1</td><td>bar1</td><td>foo1</td></tr><tr><th>header4</th><th>header3</th><th>header2</th><th>header1</th></tr></table>'
|
192
|
+
|
193
|
+
assert_equal(
|
194
|
+
html,
|
195
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => 180 ).generate(),
|
196
|
+
"via constructor only"
|
197
|
+
)
|
198
|
+
assert_equal(
|
199
|
+
html,
|
200
|
+
Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => 180 ),
|
201
|
+
"via constructor and method"
|
202
|
+
)
|
203
|
+
assert_equal(
|
204
|
+
html,
|
205
|
+
Spreadsheet::HTML.new.generate( data, 'theta' => 180 ),
|
206
|
+
"with array ref"
|
207
|
+
)
|
208
|
+
assert_equal(
|
209
|
+
html,
|
210
|
+
Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => 180 ),
|
211
|
+
"named args only"
|
212
|
+
)
|
213
|
+
|
214
|
+
end
|
215
|
+
|
216
|
+
def test_180_pinhead
|
217
|
+
|
218
|
+
data = Array[
|
219
|
+
%w(header1 header2 header3 header4 ),
|
220
|
+
%w(foo1 bar1 baz1 qux1),
|
221
|
+
%w(foo2 bar2 baz2 qux2),
|
222
|
+
%w(foo3 bar3 baz3 qux3),
|
223
|
+
%w(foo4 bar4 baz4 qux4)
|
224
|
+
]
|
225
|
+
|
226
|
+
html = '<table><tr><td>qux1</td><td>baz1</td><td>bar1</td><td>foo1</td></tr><tr><td>qux2</td><td>baz2</td><td>bar2</td><td>foo2</td></tr><tr><td>qux3</td><td>baz3</td><td>bar3</td><td>foo3</td></tr><tr><td>qux4</td><td>baz4</td><td>bar4</td><td>foo4</td></tr><tr><th>header4</th><th>header3</th><th>header2</th><th>header1</th></tr></table>'
|
227
|
+
|
228
|
+
assert_equal(
|
229
|
+
html,
|
230
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => 180, 'pinhead' => 1 ).generate(),
|
231
|
+
"via constructor only"
|
232
|
+
)
|
233
|
+
assert_equal(
|
234
|
+
html,
|
235
|
+
Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => 180, 'pinhead' => 1 ),
|
236
|
+
"via constructor and method"
|
237
|
+
)
|
238
|
+
assert_equal(
|
239
|
+
html,
|
240
|
+
Spreadsheet::HTML.new.generate( data, 'theta' => 180, 'pinhead' => 1 ),
|
241
|
+
"with array ref"
|
242
|
+
)
|
243
|
+
assert_equal(
|
244
|
+
html,
|
245
|
+
Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => 180, 'pinhead' => 1 ),
|
246
|
+
"named args only"
|
247
|
+
)
|
248
|
+
|
249
|
+
end
|
250
|
+
|
251
|
+
def test_neg180
|
252
|
+
|
253
|
+
data = Array[
|
254
|
+
%w(header1 header2 header3 header4 ),
|
255
|
+
%w(foo1 bar1 baz1 qux1),
|
256
|
+
%w(foo2 bar2 baz2 qux2),
|
257
|
+
%w(foo3 bar3 baz3 qux3),
|
258
|
+
%w(foo4 bar4 baz4 qux4)
|
259
|
+
]
|
260
|
+
|
261
|
+
html = '<table><tr><td>foo4</td><td>bar4</td><td>baz4</td><td>qux4</td></tr><tr><td>foo3</td><td>bar3</td><td>baz3</td><td>qux3</td></tr><tr><td>foo2</td><td>bar2</td><td>baz2</td><td>qux2</td></tr><tr><td>foo1</td><td>bar1</td><td>baz1</td><td>qux1</td></tr><tr><th>header1</th><th>header2</th><th>header3</th><th>header4</th></tr></table>'
|
262
|
+
|
263
|
+
assert_equal(
|
264
|
+
html,
|
265
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => -180 ).generate(),
|
266
|
+
"via constructor only"
|
267
|
+
)
|
268
|
+
assert_equal(
|
269
|
+
html,
|
270
|
+
Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => -180 ),
|
271
|
+
"via constructor and method"
|
272
|
+
)
|
273
|
+
assert_equal(
|
274
|
+
html,
|
275
|
+
Spreadsheet::HTML.new.generate( data, 'theta' => -180 ),
|
276
|
+
"with array ref"
|
277
|
+
)
|
278
|
+
assert_equal(
|
279
|
+
html,
|
280
|
+
Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => -180 ),
|
281
|
+
"named args only"
|
282
|
+
)
|
283
|
+
|
284
|
+
end
|
285
|
+
|
286
|
+
def test_neg180_pinhead
|
287
|
+
|
288
|
+
data = Array[
|
289
|
+
%w(header1 header2 header3 header4 ),
|
290
|
+
%w(foo1 bar1 baz1 qux1),
|
291
|
+
%w(foo2 bar2 baz2 qux2),
|
292
|
+
%w(foo3 bar3 baz3 qux3),
|
293
|
+
%w(foo4 bar4 baz4 qux4)
|
294
|
+
]
|
295
|
+
|
296
|
+
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><tr><th>header1</th><th>header2</th><th>header3</th><th>header4</th></tr></table>'
|
297
|
+
|
298
|
+
assert_equal(
|
299
|
+
html,
|
300
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => -180, 'pinhead' => 1 ).generate(),
|
301
|
+
"via constructor only"
|
302
|
+
)
|
303
|
+
assert_equal(
|
304
|
+
html,
|
305
|
+
Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => -180, 'pinhead' => 1 ),
|
306
|
+
"via constructor and method"
|
307
|
+
)
|
308
|
+
assert_equal(
|
309
|
+
html,
|
310
|
+
Spreadsheet::HTML.new.generate( data, 'theta' => -180, 'pinhead' => 1 ),
|
311
|
+
"with array ref"
|
312
|
+
)
|
313
|
+
assert_equal(
|
314
|
+
html,
|
315
|
+
Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => -180, 'pinhead' => 1 ),
|
316
|
+
"named args only"
|
317
|
+
)
|
318
|
+
|
319
|
+
end
|
320
|
+
|
321
|
+
def test_270
|
322
|
+
|
323
|
+
data = Array[
|
324
|
+
%w(header1 header2 header3 header4 ),
|
325
|
+
%w(foo1 bar1 baz1 qux1),
|
326
|
+
%w(foo2 bar2 baz2 qux2),
|
327
|
+
%w(foo3 bar3 baz3 qux3),
|
328
|
+
%w(foo4 bar4 baz4 qux4)
|
329
|
+
]
|
330
|
+
|
331
|
+
html = '<table><tr><th>header4</th><td>qux1</td><td>qux2</td><td>qux3</td><td>qux4</td></tr><tr><th>header3</th><td>baz1</td><td>baz2</td><td>baz3</td><td>baz4</td></tr><tr><th>header2</th><td>bar1</td><td>bar2</td><td>bar3</td><td>bar4</td></tr><tr><th>header1</th><td>foo1</td><td>foo2</td><td>foo3</td><td>foo4</td></tr></table>'
|
332
|
+
|
333
|
+
assert_equal(
|
334
|
+
html,
|
335
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => 270 ).generate(),
|
336
|
+
"via constructor only"
|
337
|
+
)
|
338
|
+
assert_equal(
|
339
|
+
html,
|
340
|
+
Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => 270 ),
|
341
|
+
"via constructor and method"
|
342
|
+
)
|
343
|
+
assert_equal(
|
344
|
+
html,
|
345
|
+
Spreadsheet::HTML.new.generate( data, 'theta' => 270 ),
|
346
|
+
"with array ref"
|
347
|
+
)
|
348
|
+
assert_equal(
|
349
|
+
html,
|
350
|
+
Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => 270 ),
|
351
|
+
"named args only"
|
352
|
+
)
|
353
|
+
|
354
|
+
end
|
355
|
+
|
356
|
+
def test_neg270
|
357
|
+
|
358
|
+
data = Array[
|
359
|
+
%w(header1 header2 header3 header4 ),
|
360
|
+
%w(foo1 bar1 baz1 qux1),
|
361
|
+
%w(foo2 bar2 baz2 qux2),
|
362
|
+
%w(foo3 bar3 baz3 qux3),
|
363
|
+
%w(foo4 bar4 baz4 qux4)
|
364
|
+
]
|
365
|
+
|
366
|
+
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>'
|
367
|
+
|
368
|
+
assert_equal(
|
369
|
+
html,
|
370
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => -270 ).generate(),
|
371
|
+
"via constructor only"
|
372
|
+
)
|
373
|
+
assert_equal(
|
374
|
+
html,
|
375
|
+
Spreadsheet::HTML.new( 'data' => data ).generate( 'theta' => -270 ),
|
376
|
+
"via constructor and method"
|
377
|
+
)
|
378
|
+
assert_equal(
|
379
|
+
html,
|
380
|
+
Spreadsheet::HTML.new.generate( data, 'theta' => -270 ),
|
381
|
+
"with array ref"
|
382
|
+
)
|
383
|
+
assert_equal(
|
384
|
+
html,
|
385
|
+
Spreadsheet::HTML.new.generate( 'data' => data, 'theta' => -270 ),
|
386
|
+
"named args only"
|
387
|
+
)
|
388
|
+
|
389
|
+
end
|
390
|
+
|
391
|
+
def test_flip
|
392
|
+
|
393
|
+
data = Array[
|
394
|
+
%w(header1 header2 header3 header4 ),
|
395
|
+
%w(foo1 bar1 baz1 qux1),
|
396
|
+
%w(foo2 bar2 baz2 qux2),
|
397
|
+
%w(foo3 bar3 baz3 qux3),
|
398
|
+
%w(foo4 bar4 baz4 qux4)
|
399
|
+
]
|
400
|
+
|
401
|
+
assert_equal(
|
402
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => 90 ).generate(),
|
403
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => -90, 'flip' => 1 ).generate(),
|
404
|
+
"90"
|
405
|
+
)
|
406
|
+
assert_equal(
|
407
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => 180 ).generate(),
|
408
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => -180, 'flip' => 1 ).generate(),
|
409
|
+
"180"
|
410
|
+
)
|
411
|
+
assert_equal(
|
412
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => 270 ).generate(),
|
413
|
+
Spreadsheet::HTML.new( 'data' => data, 'theta' => -270, 'flip' => 1 ).generate(),
|
414
|
+
"270"
|
415
|
+
)
|
416
|
+
end
|
417
|
+
|
418
|
+
end
|