osheet-xmlss 1.0.0.rc.1 → 1.0.0.rc.2
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.
- data/.gitignore +1 -0
- data/Rakefile +1 -1
- data/bench/bench_runner.rb +15 -18
- data/bench/bench_runner_10.xls +142 -0
- data/bench/bench_runner_100.xls +1132 -0
- data/bench/bench_runner_1000.xls +11032 -0
- data/bench/profiler_runner.rb +41 -13
- data/lib/osheet/xmlss/style_cache.rb +4 -4
- data/lib/osheet/xmlss/version.rb +1 -1
- data/lib/osheet/xmlss_writer.rb +4 -4
- data/osheet-xmlss.gemspec +2 -2
- data/test/xmlss/api_test.rb +7 -7
- data/test/xmlss/style_cache_test.rb +5 -5
- data/test/xmlss/styles_test.rb +26 -26
- data/test/xmlss_writer_test.rb +1 -1
- metadata +13 -10
- data/bench/profiler_1000.xls +0 -17015
data/bench/profiler_runner.rb
CHANGED
@@ -6,24 +6,52 @@ class OsheetXmlssProfilerRunner
|
|
6
6
|
attr_reader :result
|
7
7
|
|
8
8
|
def initialize(n)
|
9
|
-
|
10
|
-
RubyProf.measure_mode = RubyProf::MEMORY
|
9
|
+
# RubyProf.measure_mode = RubyProf::MEMORY
|
11
10
|
@result = RubyProf.profile do
|
12
|
-
Osheet::Workbook.new {
|
13
|
-
|
11
|
+
Osheet::Workbook.new(Osheet::XmlssWriter.new(:pp => 2), {
|
12
|
+
:profiler_row_count => n,
|
13
|
+
:data_values => {
|
14
|
+
'number' => 1,
|
15
|
+
'currency' => 123.45,
|
16
|
+
'text' => "<>&'\"/"
|
17
|
+
}
|
18
|
+
}) {
|
19
|
+
title "bench"
|
20
|
+
|
21
|
+
template(:row, :header) {
|
22
|
+
columns.each do |column|
|
23
|
+
cell {
|
24
|
+
data column.meta[:label]
|
25
|
+
}
|
26
|
+
end
|
27
|
+
}
|
28
|
+
|
29
|
+
template(:row, :data) { |values|
|
30
|
+
columns.each do |col|
|
31
|
+
cell {
|
32
|
+
data values[col.meta[:label]]
|
33
|
+
format col.meta[:label]
|
34
|
+
}
|
35
|
+
end
|
36
|
+
}
|
37
|
+
|
14
38
|
worksheet {
|
15
|
-
name "
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
cell { data data_value }
|
22
|
-
end
|
39
|
+
name "profiler results"
|
40
|
+
|
41
|
+
data_values.keys.each do |label|
|
42
|
+
column {
|
43
|
+
width 200
|
44
|
+
meta(:label => label)
|
23
45
|
}
|
24
46
|
end
|
47
|
+
|
48
|
+
row :header
|
49
|
+
|
50
|
+
profiler_row_count.times do
|
51
|
+
row :data, data_values
|
52
|
+
end
|
25
53
|
}
|
26
|
-
}.to_file(
|
54
|
+
}.to_file("./bench/profiler_runner_#{n}.xls")
|
27
55
|
end
|
28
56
|
|
29
57
|
end
|
@@ -23,16 +23,16 @@ module Osheet::Xmlss
|
|
23
23
|
def get(style_class, format)
|
24
24
|
# generate the style key and get the get the cached style or
|
25
25
|
# build and cache and return a style for the key
|
26
|
-
|
26
|
+
key = self.key(style_class, format.key)
|
27
|
+
return nil if key == '..'
|
28
|
+
|
27
29
|
@styles[key] ||
|
28
30
|
build_and_cache(key, @osheet_workbook.styles.for(style_class), format)
|
29
31
|
end
|
30
32
|
|
31
33
|
# build a unique key for styling based off the style and format keys
|
32
34
|
def key(class_value, format_key)
|
33
|
-
(class_value || '').strip.
|
34
|
-
".#{c}"
|
35
|
-
end.join('') + (format_key.nil? || format_key.empty? ? '' : "..#{format_key}")
|
35
|
+
"#{(class_value || '').strip.gsub(/\s+/, '.')}..#{format_key}"
|
36
36
|
end
|
37
37
|
|
38
38
|
protected
|
data/lib/osheet/xmlss/version.rb
CHANGED
data/lib/osheet/xmlss_writer.rb
CHANGED
@@ -91,12 +91,12 @@ module Osheet
|
|
91
91
|
# 2) set the current element's style_id attribute
|
92
92
|
|
93
93
|
def style(style_class, format=nil)
|
94
|
-
@style_cache.get(
|
94
|
+
xs = @style_cache.get(
|
95
95
|
style_class,
|
96
96
|
format || Osheet::Format.new(:general)
|
97
|
-
)
|
98
|
-
|
99
|
-
|
97
|
+
)
|
98
|
+
@xmlss_workbook.style_id(xs.id) if xs
|
99
|
+
xs
|
100
100
|
end
|
101
101
|
|
102
102
|
def colspan(count)
|
data/osheet-xmlss.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
|
|
18
18
|
|
19
19
|
gem.add_development_dependency("assert")
|
20
20
|
|
21
|
-
gem.add_dependency("osheet", ["~> 1.0.0.rc.
|
22
|
-
gem.add_dependency("xmlss", ["~> 1.0.0.rc"])
|
21
|
+
gem.add_dependency("osheet", ["~> 1.0.0.rc.3"])
|
22
|
+
gem.add_dependency("xmlss", ["~> 1.0.0.rc.3"])
|
23
23
|
|
24
24
|
end
|
data/test/xmlss/api_test.rb
CHANGED
@@ -38,13 +38,13 @@ module Osheet::Xmlss
|
|
38
38
|
end
|
39
39
|
|
40
40
|
should "style the cell" do
|
41
|
-
assert_equal "
|
41
|
+
assert_equal "awesome.thing..number_none_0_nocomma_black", @xmlss_cell.style_id
|
42
42
|
assert_equal 1, subject.style_cache.size
|
43
43
|
end
|
44
44
|
|
45
45
|
should "write cell element markup" do
|
46
46
|
assert_equal(
|
47
|
-
"<Cell ss:Formula=\"=R1C1\" ss:HRef=\"http://example.com\" ss:Index=\"3\" ss:MergeAcross=\"4\" ss:MergeDown=\"1\" ss:StyleID=\"
|
47
|
+
"<Cell ss:Formula=\"=R1C1\" ss:HRef=\"http://example.com\" ss:Index=\"3\" ss:MergeAcross=\"4\" ss:MergeDown=\"1\" ss:StyleID=\"awesome.thing..number_none_0_nocomma_black\"><Data ss:Type=\"Number\">100</Data></Cell>",
|
48
48
|
xmlss_element_markup(subject)
|
49
49
|
)
|
50
50
|
end
|
@@ -70,13 +70,13 @@ module Osheet::Xmlss
|
|
70
70
|
end
|
71
71
|
|
72
72
|
should "style the row" do
|
73
|
-
assert_equal "
|
73
|
+
assert_equal "awesome.thing..", @xmlss_row.style_id
|
74
74
|
assert_equal 1, subject.style_cache.size
|
75
75
|
end
|
76
76
|
|
77
77
|
should "write row element markup" do
|
78
78
|
assert_equal(
|
79
|
-
"<Row ss:AutoFitHeight=\"1\" ss:Height=\"100\" ss:Hidden=\"1\" ss:StyleID=\"
|
79
|
+
"<Row ss:AutoFitHeight=\"1\" ss:Height=\"100\" ss:Hidden=\"1\" ss:StyleID=\"awesome.thing..\"></Row>",
|
80
80
|
xmlss_element_markup(subject)
|
81
81
|
)
|
82
82
|
end
|
@@ -102,13 +102,13 @@ module Osheet::Xmlss
|
|
102
102
|
end
|
103
103
|
|
104
104
|
should "style an Xmlss column" do
|
105
|
-
assert_equal "
|
105
|
+
assert_equal "awesome..", @xmlss_column.style_id
|
106
106
|
assert_equal 1, subject.style_cache.size
|
107
107
|
end
|
108
108
|
|
109
109
|
should "write column element markup" do
|
110
110
|
assert_equal(
|
111
|
-
"<Column ss:AutoFitWidth=\"1\" ss:Hidden=\"1\" ss:StyleID=\"
|
111
|
+
"<Column ss:AutoFitWidth=\"1\" ss:Hidden=\"1\" ss:StyleID=\"awesome..\" ss:Width=\"100\" />",
|
112
112
|
xmlss_element_markup(subject)
|
113
113
|
)
|
114
114
|
end
|
@@ -129,7 +129,7 @@ module Osheet::Xmlss
|
|
129
129
|
|
130
130
|
should "write worksheet element markup" do
|
131
131
|
assert_equal(
|
132
|
-
"<Worksheet ss:Name=\"testsheet2\"><Table
|
132
|
+
"<Worksheet ss:Name=\"testsheet2\"><Table></Table></Worksheet>",
|
133
133
|
xmlss_element_markup(subject)
|
134
134
|
)
|
135
135
|
end
|
@@ -28,11 +28,11 @@ module Osheet::Xmlss
|
|
28
28
|
end
|
29
29
|
|
30
30
|
should "key based off class value and format key" do
|
31
|
-
assert_equal '',
|
32
|
-
assert_equal '
|
33
|
-
assert_equal '
|
34
|
-
assert_equal '
|
35
|
-
assert_equal '..something',
|
31
|
+
assert_equal '..', subject.send(:key, '', nil)
|
32
|
+
assert_equal 'awesome..', subject.send(:key, 'awesome', nil)
|
33
|
+
assert_equal 'awesome.thing..', subject.send(:key, 'awesome thing', nil)
|
34
|
+
assert_equal 'awesome..something', subject.send(:key, 'awesome', 'something')
|
35
|
+
assert_equal '..something', subject.send(:key, '', 'something')
|
36
36
|
end
|
37
37
|
|
38
38
|
should "return nil if trying to get the style for an empty class and general format" do
|
data/test/xmlss/styles_test.rb
CHANGED
@@ -38,14 +38,14 @@ module Osheet::Xmlss
|
|
38
38
|
should "build a style obj and add it to the writers styles" do
|
39
39
|
xmlss_style = subject.style('awesome')
|
40
40
|
assert_kind_of ::Xmlss::Style::Base, xmlss_style
|
41
|
-
assert_equal '
|
41
|
+
assert_equal 'awesome..', xmlss_style.id
|
42
42
|
assert_equal 1, subject.style_cache.size
|
43
43
|
assert_equal xmlss_style, subject.style_cache[xmlss_style.id]
|
44
44
|
end
|
45
45
|
|
46
46
|
should "write style markup from many matching osheet styles" do
|
47
47
|
xmlss_style = subject.style('font size weight style align center')
|
48
|
-
assert_equal '
|
48
|
+
assert_equal 'font.size.weight.style.align.center..', xmlss_style.id
|
49
49
|
end
|
50
50
|
|
51
51
|
end
|
@@ -65,7 +65,7 @@ module Osheet::Xmlss
|
|
65
65
|
should "write style markup with no alignment settings if no alignment style match" do
|
66
66
|
subject.style('align')
|
67
67
|
assert_equal(
|
68
|
-
"<Style ss:ID=\"
|
68
|
+
"<Style ss:ID=\"align..\"><NumberFormat /></Style>",
|
69
69
|
xmlss_style_markup(subject)
|
70
70
|
)
|
71
71
|
end
|
@@ -75,7 +75,7 @@ module Osheet::Xmlss
|
|
75
75
|
subject.style('align center')
|
76
76
|
subject.style('align right')
|
77
77
|
assert_equal(
|
78
|
-
"<Style ss:ID=\"
|
78
|
+
"<Style ss:ID=\"align.left..\"><Alignment ss:Horizontal=\"Left\" /><NumberFormat /></Style><Style ss:ID=\"align.center..\"><Alignment ss:Horizontal=\"Center\" /><NumberFormat /></Style><Style ss:ID=\"align.right..\"><Alignment ss:Horizontal=\"Right\" /><NumberFormat /></Style>",
|
79
79
|
xmlss_style_markup(subject)
|
80
80
|
)
|
81
81
|
end
|
@@ -85,7 +85,7 @@ module Osheet::Xmlss
|
|
85
85
|
subject.style('align middle')
|
86
86
|
subject.style('align bottom')
|
87
87
|
assert_equal(
|
88
|
-
"<Style ss:ID=\"
|
88
|
+
"<Style ss:ID=\"align.top..\"><Alignment ss:Vertical=\"Top\" /><NumberFormat /></Style><Style ss:ID=\"align.middle..\"><Alignment ss:Vertical=\"Center\" /><NumberFormat /></Style><Style ss:ID=\"align.bottom..\"><Alignment ss:Vertical=\"Bottom\" /><NumberFormat /></Style>",
|
89
89
|
xmlss_style_markup(subject)
|
90
90
|
)
|
91
91
|
end
|
@@ -93,7 +93,7 @@ module Osheet::Xmlss
|
|
93
93
|
should "write style markup for text wrap settings" do
|
94
94
|
subject.style('align wrap')
|
95
95
|
assert_equal(
|
96
|
-
"<Style ss:ID=\"
|
96
|
+
"<Style ss:ID=\"align.wrap..\"><Alignment ss:WrapText=\"1\" /><NumberFormat /></Style>",
|
97
97
|
xmlss_style_markup(subject)
|
98
98
|
)
|
99
99
|
end
|
@@ -101,7 +101,7 @@ module Osheet::Xmlss
|
|
101
101
|
should "write style markup for text rotation settings" do
|
102
102
|
subject.style('align rotate')
|
103
103
|
assert_equal(
|
104
|
-
"<Style ss:ID=\"
|
104
|
+
"<Style ss:ID=\"align.rotate..\"><Alignment ss:Rotate=\"90\" /><NumberFormat /></Style>",
|
105
105
|
xmlss_style_markup(subject)
|
106
106
|
)
|
107
107
|
end
|
@@ -125,7 +125,7 @@ module Osheet::Xmlss
|
|
125
125
|
should "write style markup with empty font settings if no match" do
|
126
126
|
subject.style('font')
|
127
127
|
assert_equal(
|
128
|
-
"<Style ss:ID=\"
|
128
|
+
"<Style ss:ID=\"font..\"><NumberFormat /></Style>",
|
129
129
|
xmlss_style_markup(subject)
|
130
130
|
)
|
131
131
|
end
|
@@ -136,7 +136,7 @@ module Osheet::Xmlss
|
|
136
136
|
subject.style('font accounting_underline')
|
137
137
|
subject.style('font double_accounting_underline')
|
138
138
|
assert_equal(
|
139
|
-
"<Style ss:ID=\"
|
139
|
+
"<Style ss:ID=\"font.underline..\"><Font ss:Underline=\"Single\" /><NumberFormat /></Style><Style ss:ID=\"font.double_underline..\"><Font ss:Underline=\"Double\" /><NumberFormat /></Style><Style ss:ID=\"font.accounting_underline..\"><Font ss:Underline=\"SingleAccounting\" /><NumberFormat /></Style><Style ss:ID=\"font.double_accounting_underline..\"><Font ss:Underline=\"DoubleAccounting\" /><NumberFormat /></Style>",
|
140
140
|
xmlss_style_markup(subject)
|
141
141
|
)
|
142
142
|
|
@@ -146,7 +146,7 @@ module Osheet::Xmlss
|
|
146
146
|
subject.style('font subscript')
|
147
147
|
subject.style('font superscript')
|
148
148
|
assert_equal(
|
149
|
-
"<Style ss:ID=\"
|
149
|
+
"<Style ss:ID=\"font.subscript..\"><Font ss:VerticalAlign=\"Subscript\" /><NumberFormat /></Style><Style ss:ID=\"font.superscript..\"><Font ss:VerticalAlign=\"Superscript\" /><NumberFormat /></Style>",
|
150
150
|
xmlss_style_markup(subject)
|
151
151
|
)
|
152
152
|
end
|
@@ -157,7 +157,7 @@ module Osheet::Xmlss
|
|
157
157
|
subject.style('font strikethrough')
|
158
158
|
subject.style('font shadow')
|
159
159
|
assert_equal(
|
160
|
-
"<Style ss:ID=\"
|
160
|
+
"<Style ss:ID=\"font.bold..\"><Font ss:Bold=\"1\" /><NumberFormat /></Style><Style ss:ID=\"font.italic..\"><Font ss:Italic=\"1\" /><NumberFormat /></Style><Style ss:ID=\"font.strikethrough..\"><Font ss:StrikeThrough=\"1\" /><NumberFormat /></Style><Style ss:ID=\"font.shadow..\"><Font ss:Shadow=\"1\" /><NumberFormat /></Style>",
|
161
161
|
xmlss_style_markup(subject)
|
162
162
|
)
|
163
163
|
end
|
@@ -165,7 +165,7 @@ module Osheet::Xmlss
|
|
165
165
|
should "write style markup for font size" do
|
166
166
|
subject.style('font size')
|
167
167
|
assert_equal(
|
168
|
-
"<Style ss:ID=\"
|
168
|
+
"<Style ss:ID=\"font.size..\"><Font ss:Size=\"14\" /><NumberFormat /></Style>",
|
169
169
|
xmlss_style_markup(subject)
|
170
170
|
)
|
171
171
|
end
|
@@ -173,7 +173,7 @@ module Osheet::Xmlss
|
|
173
173
|
should "write style markup for font color" do
|
174
174
|
subject.style('font color')
|
175
175
|
assert_equal(
|
176
|
-
"<Style ss:ID=\"
|
176
|
+
"<Style ss:ID=\"font.color..\"><Font ss:Color=\"#FF0000\" /><NumberFormat /></Style>",
|
177
177
|
xmlss_style_markup(subject)
|
178
178
|
)
|
179
179
|
end
|
@@ -181,7 +181,7 @@ module Osheet::Xmlss
|
|
181
181
|
should "write style markup for font name" do
|
182
182
|
subject.style('font name')
|
183
183
|
assert_equal(
|
184
|
-
"<Style ss:ID=\"
|
184
|
+
"<Style ss:ID=\"font.name..\"><Font ss:FontName=\"Verdana\" /><NumberFormat /></Style>",
|
185
185
|
xmlss_style_markup(subject)
|
186
186
|
)
|
187
187
|
end
|
@@ -201,7 +201,7 @@ module Osheet::Xmlss
|
|
201
201
|
should "write style markup with empty bg settings when no match" do
|
202
202
|
subject.style('bg')
|
203
203
|
assert_equal(
|
204
|
-
"<Style ss:ID=\"
|
204
|
+
"<Style ss:ID=\"bg..\"><NumberFormat /></Style>",
|
205
205
|
xmlss_style_markup(subject)
|
206
206
|
)
|
207
207
|
end
|
@@ -209,7 +209,7 @@ module Osheet::Xmlss
|
|
209
209
|
should "write style markup for bg color and auto set the pattern to solid" do
|
210
210
|
subject.style('bg color')
|
211
211
|
assert_equal(
|
212
|
-
"<Style ss:ID=\"
|
212
|
+
"<Style ss:ID=\"bg.color..\"><Interior ss:Color=\"#FF0000\" ss:Pattern=\"Solid\" /><NumberFormat /></Style>",
|
213
213
|
xmlss_style_markup(subject)
|
214
214
|
)
|
215
215
|
end
|
@@ -220,7 +220,7 @@ module Osheet::Xmlss
|
|
220
220
|
subject.style('bg pattern-color')
|
221
221
|
subject.style('bg pattern-color')
|
222
222
|
assert_equal(
|
223
|
-
"<Style ss:ID=\"
|
223
|
+
"<Style ss:ID=\"bg.pattern-only..\"><Interior ss:Pattern=\"Solid\" /><NumberFormat /></Style><Style ss:ID=\"bg.pattern-color..\"><Interior ss:Color=\"#FF0000\" ss:Pattern=\"HorzStripe\" ss:PatternColor=\"#0000FF\" /><NumberFormat /></Style>",
|
224
224
|
xmlss_style_markup(subject)
|
225
225
|
)
|
226
226
|
end
|
@@ -228,7 +228,7 @@ module Osheet::Xmlss
|
|
228
228
|
should "write style markup setting pattern to solid when setting bg color" do
|
229
229
|
subject.style('bg color')
|
230
230
|
assert_equal(
|
231
|
-
"<Style ss:ID=\"
|
231
|
+
"<Style ss:ID=\"bg.color..\"><Interior ss:Color=\"#FF0000\" ss:Pattern=\"Solid\" /><NumberFormat /></Style>",
|
232
232
|
xmlss_style_markup(subject)
|
233
233
|
)
|
234
234
|
end
|
@@ -236,7 +236,7 @@ module Osheet::Xmlss
|
|
236
236
|
should "write style markup setting pattern to pattern setting when first setting bg color then pattern" do
|
237
237
|
subject.style('bg color-first')
|
238
238
|
assert_equal(
|
239
|
-
"<Style ss:ID=\"
|
239
|
+
"<Style ss:ID=\"bg.color-first..\"><Interior ss:Color=\"#00FF00\" ss:Pattern=\"HorzStripe\" ss:PatternColor=\"#0000FF\" /><NumberFormat /></Style>",
|
240
240
|
xmlss_style_markup(subject)
|
241
241
|
)
|
242
242
|
end
|
@@ -244,7 +244,7 @@ module Osheet::Xmlss
|
|
244
244
|
should "write style markup setting pattern to pattern setting when first setting bg pattern then color" do
|
245
245
|
subject.style('bg pattern-first')
|
246
246
|
assert_equal(
|
247
|
-
"<Style ss:ID=\"
|
247
|
+
"<Style ss:ID=\"bg.pattern-first..\"><Interior ss:Color=\"#00FF00\" ss:Pattern=\"HorzStripe\" ss:PatternColor=\"#0000FF\" /><NumberFormat /></Style>",
|
248
248
|
xmlss_style_markup(subject)
|
249
249
|
)
|
250
250
|
end
|
@@ -270,7 +270,7 @@ module Osheet::Xmlss
|
|
270
270
|
should "write style markup with empty border settings when no match" do
|
271
271
|
subject.style('border')
|
272
272
|
assert_equal(
|
273
|
-
"<Style ss:ID=\"
|
273
|
+
"<Style ss:ID=\"border..\"><NumberFormat /></Style>",
|
274
274
|
xmlss_style_markup(subject)
|
275
275
|
)
|
276
276
|
end
|
@@ -278,7 +278,7 @@ module Osheet::Xmlss
|
|
278
278
|
should "write style markup with identical settings for all positions when using 'border'" do
|
279
279
|
subject.style('border all')
|
280
280
|
assert_equal(
|
281
|
-
"<Style ss:ID=\"
|
281
|
+
"<Style ss:ID=\"border.all..\"><Borders><Border ss:Color=\"#FF0000\" ss:LineStyle=\"Dash\" ss:Position=\"Top\" ss:Weight=\"3\" /><Border ss:Color=\"#FF0000\" ss:LineStyle=\"Dash\" ss:Position=\"Right\" ss:Weight=\"3\" /><Border ss:Color=\"#FF0000\" ss:LineStyle=\"Dash\" ss:Position=\"Bottom\" ss:Weight=\"3\" /><Border ss:Color=\"#FF0000\" ss:LineStyle=\"Dash\" ss:Position=\"Left\" ss:Weight=\"3\" /></Borders><NumberFormat /></Style>",
|
282
282
|
xmlss_style_markup(subject)
|
283
283
|
)
|
284
284
|
end
|
@@ -288,7 +288,7 @@ module Osheet::Xmlss
|
|
288
288
|
subject.style("border #{p}")
|
289
289
|
end
|
290
290
|
assert_equal(
|
291
|
-
"<Style ss:ID=\"
|
291
|
+
"<Style ss:ID=\"border.top..\"><Borders><Border ss:LineStyle=\"Continuous\" ss:Position=\"Top\" ss:Weight=\"1\" /></Borders><NumberFormat /></Style><Style ss:ID=\"border.right..\"><Borders><Border ss:LineStyle=\"Continuous\" ss:Position=\"Right\" ss:Weight=\"1\" /></Borders><NumberFormat /></Style><Style ss:ID=\"border.bottom..\"><Borders><Border ss:LineStyle=\"Continuous\" ss:Position=\"Bottom\" ss:Weight=\"1\" /></Borders><NumberFormat /></Style><Style ss:ID=\"border.left..\"><Borders><Border ss:LineStyle=\"Continuous\" ss:Position=\"Left\" ss:Weight=\"1\" /></Borders><NumberFormat /></Style>",
|
292
292
|
xmlss_style_markup(subject)
|
293
293
|
)
|
294
294
|
end
|
@@ -298,7 +298,7 @@ module Osheet::Xmlss
|
|
298
298
|
subject.style("border #{w}")
|
299
299
|
end
|
300
300
|
assert_equal(
|
301
|
-
"<Style ss:ID=\"
|
301
|
+
"<Style ss:ID=\"border.hairline..\"><Borders><Border ss:LineStyle=\"Continuous\" ss:Position=\"Top\" ss:Weight=\"0\" /></Borders><NumberFormat /></Style><Style ss:ID=\"border.thin..\"><Borders><Border ss:LineStyle=\"Continuous\" ss:Position=\"Top\" ss:Weight=\"1\" /></Borders><NumberFormat /></Style><Style ss:ID=\"border.medium..\"><Borders><Border ss:LineStyle=\"Continuous\" ss:Position=\"Top\" ss:Weight=\"2\" /></Borders><NumberFormat /></Style><Style ss:ID=\"border.thick..\"><Borders><Border ss:LineStyle=\"Continuous\" ss:Position=\"Top\" ss:Weight=\"3\" /></Borders><NumberFormat /></Style>",
|
302
302
|
xmlss_style_markup(subject)
|
303
303
|
)
|
304
304
|
end
|
@@ -308,7 +308,7 @@ module Osheet::Xmlss
|
|
308
308
|
subject.style("border #{s}")
|
309
309
|
end
|
310
310
|
assert_equal(
|
311
|
-
"<Style ss:ID=\"
|
311
|
+
"<Style ss:ID=\"border.none..\"><Borders><Border ss:LineStyle=\"None\" ss:Position=\"Top\" ss:Weight=\"1\" /></Borders><NumberFormat /></Style><Style ss:ID=\"border.continuous..\"><Borders><Border ss:LineStyle=\"Continuous\" ss:Position=\"Top\" ss:Weight=\"1\" /></Borders><NumberFormat /></Style><Style ss:ID=\"border.dash..\"><Borders><Border ss:LineStyle=\"Dash\" ss:Position=\"Top\" ss:Weight=\"1\" /></Borders><NumberFormat /></Style><Style ss:ID=\"border.dot..\"><Borders><Border ss:LineStyle=\"Dot\" ss:Position=\"Top\" ss:Weight=\"1\" /></Borders><NumberFormat /></Style><Style ss:ID=\"border.dash_dot..\"><Borders><Border ss:LineStyle=\"DashDot\" ss:Position=\"Top\" ss:Weight=\"1\" /></Borders><NumberFormat /></Style><Style ss:ID=\"border.dash_dot_dot..\"><Borders><Border ss:LineStyle=\"DashDotDot\" ss:Position=\"Top\" ss:Weight=\"1\" /></Borders><NumberFormat /></Style>",
|
312
312
|
xmlss_style_markup(subject)
|
313
313
|
)
|
314
314
|
end
|
@@ -316,7 +316,7 @@ module Osheet::Xmlss
|
|
316
316
|
should "write style markup for border color" do
|
317
317
|
subject.style('border color')
|
318
318
|
assert_equal(
|
319
|
-
"<Style ss:ID=\"
|
319
|
+
"<Style ss:ID=\"border.color..\"><Borders><Border ss:Color=\"#FF0000\" ss:LineStyle=\"Continuous\" ss:Position=\"Top\" ss:Weight=\"1\" /></Borders><NumberFormat /></Style>",
|
320
320
|
xmlss_style_markup(subject)
|
321
321
|
)
|
322
322
|
end
|
data/test/xmlss_writer_test.rb
CHANGED
@@ -66,7 +66,7 @@ module Osheet::Xmlss
|
|
66
66
|
end
|
67
67
|
|
68
68
|
should "write workbook markup" do
|
69
|
-
assert_equal "<?xml version=\"1.0\" encoding=\"UTF-8\"
|
69
|
+
assert_equal "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Workbook xmlns=\"urn:schemas-microsoft-com:office:spreadsheet\" xmlns:ss=\"urn:schemas-microsoft-com:office:spreadsheet\"><Styles><Style ss:ID=\"..number_none_0_nocomma_black\"><NumberFormat ss:Format=\"0\" /></Style></Styles><Worksheet ss:Name=\"Test!\"><Table><Column /><Row><Cell ss:StyleID=\"..number_none_0_nocomma_black\"><Data ss:Type=\"Number\">1</Data></Cell></Row></Table></Worksheet></Workbook>", @writer.to_s
|
70
70
|
end
|
71
71
|
|
72
72
|
should "return string xml data" do
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: osheet-xmlss
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 15424049
|
5
5
|
prerelease: 6
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
9
|
- 0
|
10
10
|
- rc
|
11
|
-
-
|
12
|
-
version: 1.0.0.rc.
|
11
|
+
- 2
|
12
|
+
version: 1.0.0.rc.2
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- Kelly Redding
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2012-
|
20
|
+
date: 2012-04-19 00:00:00 Z
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
23
23
|
type: :development
|
@@ -40,14 +40,14 @@ dependencies:
|
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
hash:
|
43
|
+
hash: 15424051
|
44
44
|
segments:
|
45
45
|
- 1
|
46
46
|
- 0
|
47
47
|
- 0
|
48
48
|
- rc
|
49
|
-
-
|
50
|
-
version: 1.0.0.rc.
|
49
|
+
- 3
|
50
|
+
version: 1.0.0.rc.3
|
51
51
|
name: osheet
|
52
52
|
version_requirements: *id002
|
53
53
|
prerelease: false
|
@@ -58,13 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
hash:
|
61
|
+
hash: 15424051
|
62
62
|
segments:
|
63
63
|
- 1
|
64
64
|
- 0
|
65
65
|
- 0
|
66
66
|
- rc
|
67
|
-
|
67
|
+
- 3
|
68
|
+
version: 1.0.0.rc.3
|
68
69
|
name: xmlss
|
69
70
|
version_requirements: *id003
|
70
71
|
prerelease: false
|
@@ -84,8 +85,10 @@ files:
|
|
84
85
|
- README.md
|
85
86
|
- Rakefile
|
86
87
|
- bench/bench_runner.rb
|
88
|
+
- bench/bench_runner_10.xls
|
89
|
+
- bench/bench_runner_100.xls
|
90
|
+
- bench/bench_runner_1000.xls
|
87
91
|
- bench/profiler.rb
|
88
|
-
- bench/profiler_1000.xls
|
89
92
|
- bench/profiler_runner.rb
|
90
93
|
- examples/basic.rb
|
91
94
|
- examples/basic.xls
|