axlsx 1.0.0 → 1.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.
Files changed (78) hide show
  1. data/LICENSE +22 -0
  2. data/README.md +70 -0
  3. data/lib/axlsx.rb~ +67 -0
  4. data/lib/axlsx/content_type/content_type.rb~ +20 -0
  5. data/lib/axlsx/content_type/default.rb~ +32 -0
  6. data/lib/axlsx/content_type/override.rb~ +30 -0
  7. data/lib/axlsx/doc_props/app.rb~ +127 -0
  8. data/lib/axlsx/doc_props/core.rb~ +25 -0
  9. data/lib/axlsx/drawing/axis.rb~ +0 -0
  10. data/lib/axlsx/drawing/bar_3D_chart.rb~ +64 -0
  11. data/lib/axlsx/drawing/bar_series.rb~ +92 -0
  12. data/lib/axlsx/drawing/cat_axis.rb~ +32 -0
  13. data/lib/axlsx/drawing/chart.rb~ +0 -0
  14. data/lib/axlsx/drawing/drawing.rb~ +102 -0
  15. data/lib/axlsx/drawing/graphic_frame.rb~ +40 -0
  16. data/lib/axlsx/drawing/marker.rb~ +50 -0
  17. data/lib/axlsx/drawing/pie_3D_chart.rb~ +132 -0
  18. data/lib/axlsx/drawing/pie_series.rb~ +0 -0
  19. data/lib/axlsx/drawing/scaling.rb~ +0 -0
  20. data/lib/axlsx/drawing/series.rb~ +114 -0
  21. data/lib/axlsx/drawing/title.rb~ +69 -0
  22. data/lib/axlsx/drawing/two_cell_anchor.rb~ +70 -0
  23. data/lib/axlsx/drawing/val_axis.rb~ +34 -0
  24. data/lib/axlsx/drawing/view_3D.rb~ +21 -0
  25. data/lib/axlsx/package.rb +3 -3
  26. data/lib/axlsx/package.rb~ +181 -0
  27. data/lib/axlsx/rels/relationship.rb~ +18 -0
  28. data/lib/axlsx/rels/relationships.rb~ +23 -0
  29. data/lib/axlsx/stylesheet/border.rb~ +24 -0
  30. data/lib/axlsx/stylesheet/border_pr.rb~ +64 -0
  31. data/lib/axlsx/stylesheet/cell_alignment.rb~ +93 -0
  32. data/lib/axlsx/stylesheet/cell_protection.rb~ +16 -0
  33. data/lib/axlsx/stylesheet/cell_style.rb~ +61 -0
  34. data/lib/axlsx/stylesheet/color.rb~ +56 -0
  35. data/lib/axlsx/stylesheet/fill.rb~ +31 -0
  36. data/lib/axlsx/stylesheet/font.rb~ +33 -0
  37. data/lib/axlsx/stylesheet/gradient_fill.rb~ +70 -0
  38. data/lib/axlsx/stylesheet/gradient_stop.rb~ +15 -0
  39. data/lib/axlsx/stylesheet/num_fmt.rb~ +60 -0
  40. data/lib/axlsx/stylesheet/pattern_fill.rb~ +63 -0
  41. data/lib/axlsx/stylesheet/styles.rb~ +279 -0
  42. data/lib/axlsx/stylesheet/table_style.rb~ +43 -0
  43. data/lib/axlsx/stylesheet/table_style_element.rb~ +66 -0
  44. data/lib/axlsx/stylesheet/table_styles.rb~ +36 -0
  45. data/lib/axlsx/stylesheet/xf.rb~ +37 -0
  46. data/lib/axlsx/util/constants.rb +1 -1
  47. data/lib/axlsx/util/constants.rb~ +187 -0
  48. data/lib/axlsx/util/monkey_patches_for_true_zip_stream.rb~ +61 -0
  49. data/lib/axlsx/util/simple_typed_list.rb~ +79 -0
  50. data/lib/axlsx/util/validators.rb +3 -3
  51. data/lib/axlsx/util/validators.rb~ +132 -0
  52. data/lib/axlsx/util/xml_escape.rb~ +6 -0
  53. data/lib/axlsx/workbook/workbook.rb +1 -0
  54. data/lib/axlsx/workbook/workbook.rb~ +130 -0
  55. data/lib/axlsx/workbook/worksheet/cell.rb~ +185 -0
  56. data/lib/axlsx/workbook/worksheet/row.rb +4 -4
  57. data/lib/axlsx/workbook/worksheet/row.rb~ +92 -0
  58. data/lib/axlsx/workbook/worksheet/worksheet.rb +3 -4
  59. data/lib/axlsx/workbook/worksheet/worksheet.rb~ +194 -0
  60. data/lib/schema/dc.xsd~ +118 -0
  61. data/lib/schema/dcterms.xsd~ +331 -0
  62. data/lib/schema/opc-coreProperties.xsd~ +50 -0
  63. data/test/drawing/tc_bar_3D_chart.rb +1 -1
  64. data/test/drawing/tc_bar_3D_chart.rb~ +62 -0
  65. data/test/drawing/tc_chart.rb +1 -1
  66. data/test/drawing/tc_chart.rb~ +1 -0
  67. data/test/drawing/tc_pie_3D_chart.rb +1 -1
  68. data/test/drawing/tc_pie_3D_chart.rb~ +3 -28
  69. data/test/drawing/tc_title.rb +1 -1
  70. data/test/drawing/tc_title.rb~ +16 -19
  71. data/test/drawing/tc_two_cell_anchor.rb +1 -1
  72. data/test/drawing/tc_two_cell_anchor.rb~ +16 -14
  73. data/test/tc_package.rb +1 -1
  74. data/test/workbook/worksheet/tc_row.rb +1 -1
  75. data/test/workbook/worksheet/tc_row.rb~ +30 -0
  76. data/test/workbook/worksheet/tc_worksheet.rb +3 -3
  77. data/test/workbook/worksheet/tc_worksheet.rb~ +85 -0
  78. metadata +84 -102
@@ -0,0 +1,331 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
4
+ xmlns:dcmitype="http://purl.org/dc/dcmitype/"
5
+ targetNamespace="http://purl.org/dc/terms/"
6
+ xmlns="http://purl.org/dc/terms/"
7
+ elementFormDefault="qualified"
8
+ attributeFormDefault="unqualified">
9
+
10
+ <xs:annotation>
11
+ <xs:documentation xml:lang="en">
12
+ DCterms XML Schema
13
+ XML Schema for http://purl.org/dc/terms/ namespace
14
+
15
+ Created 2003-04-02
16
+
17
+ Created by
18
+
19
+ Tim Cole (t-cole3@uiuc.edu)
20
+ Tom Habing (thabing@uiuc.edu)
21
+ Jane Hunter (jane@dstc.edu.au)
22
+ Pete Johnston (p.johnston@ukoln.ac.uk),
23
+ Carl Lagoze (lagoze@cs.cornell.edu)
24
+
25
+ This schema declares XML elements for the DC elements and
26
+ DC element refinements from the http://purl.org/dc/terms/ namespace.
27
+
28
+ It reuses the complexType dc:SimpleLiteral, imported from the dc.xsd
29
+ schema, which permits simple element content, and makes the xml:lang
30
+ attribute available.
31
+
32
+ This complexType permits the derivation of other complexTypes
33
+ which would permit child elements.
34
+
35
+ DC elements are declared as substitutable for the abstract element dc:any, and
36
+ DC element refinements are defined as substitutable for the base elements
37
+ which they refine.
38
+
39
+ This means that the default type for all XML elements (i.e. all DC elements and
40
+ element refinements) is dc:SimpleLiteral.
41
+
42
+ Encoding schemes are defined as complexTypes which are restrictions
43
+ of the dc:SimpleLiteral complexType. These complexTypes restrict
44
+ values to an appropriates syntax or format using data typing,
45
+ regular expressions, or enumerated lists.
46
+
47
+ In order to specify one of these encodings an xsi:type attribute must
48
+ be used in the instance document.
49
+
50
+ Also, note that one shortcoming of this approach is that any type can be
51
+ applied to any of the elements or refinements. There is no convenient way
52
+ to restrict types to specific elements using this approach.
53
+
54
+ </xs:documentation>
55
+
56
+ </xs:annotation>
57
+
58
+
59
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace"
60
+ schemaLocation="http://www.w3.org/2001/03/xml.xsd">
61
+ </xs:import>
62
+
63
+ <xs:import namespace="http://purl.org/dc/elements/1.1/"
64
+ schemaLocation="dc.xsd"/>
65
+
66
+ <xs:import namespace="http://purl.org/dc/dcmitype/"
67
+ schemaLocation="dcmitype.xsd"/>
68
+
69
+ <xs:element name="alternative" substitutionGroup="dc:title"/>
70
+
71
+ <xs:element name="tableOfContents" substitutionGroup="dc:description"/>
72
+ <xs:element name="abstract" substitutionGroup="dc:description"/>
73
+
74
+ <xs:element name="created" substitutionGroup="dc:date"/>
75
+ <xs:element name="valid" substitutionGroup="dc:date"/>
76
+ <xs:element name="available" substitutionGroup="dc:date"/>
77
+ <xs:element name="issued" substitutionGroup="dc:date"/>
78
+ <xs:element name="modified" substitutionGroup="dc:date"/>
79
+ <xs:element name="dateAccepted" substitutionGroup="dc:date"/>
80
+ <xs:element name="dateCopyrighted" substitutionGroup="dc:date"/>
81
+ <xs:element name="dateSubmitted" substitutionGroup="dc:date"/>
82
+
83
+ <xs:element name="extent" substitutionGroup="dc:format"/>
84
+ <xs:element name="medium" substitutionGroup="dc:format"/>
85
+
86
+ <xs:element name="isVersionOf" substitutionGroup="dc:relation"/>
87
+ <xs:element name="hasVersion" substitutionGroup="dc:relation"/>
88
+ <xs:element name="isReplacedBy" substitutionGroup="dc:relation"/>
89
+ <xs:element name="replaces" substitutionGroup="dc:relation"/>
90
+ <xs:element name="isRequiredBy" substitutionGroup="dc:relation"/>
91
+ <xs:element name="requires" substitutionGroup="dc:relation"/>
92
+ <xs:element name="isPartOf" substitutionGroup="dc:relation"/>
93
+ <xs:element name="hasPart" substitutionGroup="dc:relation"/>
94
+ <xs:element name="isReferencedBy" substitutionGroup="dc:relation"/>
95
+ <xs:element name="references" substitutionGroup="dc:relation"/>
96
+ <xs:element name="isFormatOf" substitutionGroup="dc:relation"/>
97
+ <xs:element name="hasFormat" substitutionGroup="dc:relation"/>
98
+ <xs:element name="conformsTo" substitutionGroup="dc:relation"/>
99
+
100
+ <xs:element name="spatial" substitutionGroup="dc:coverage"/>
101
+ <xs:element name="temporal" substitutionGroup="dc:coverage"/>
102
+
103
+ <xs:element name="audience" substitutionGroup="dc:any"/>
104
+
105
+ <xs:element name="mediator" substitutionGroup="audience"/>
106
+ <xs:element name="educationLevel" substitutionGroup="audience"/>
107
+
108
+ <xs:element name="accessRights" substitutionGroup="dc:rights"/>
109
+
110
+ <xs:element name="bibliographicCitation" substitutionGroup="dc:identifier"/>
111
+
112
+ <xs:complexType name="LCSH">
113
+ <xs:simpleContent>
114
+ <xs:restriction base="dc:SimpleLiteral">
115
+ <xs:simpleType>
116
+ <xs:restriction base="xs:string"/>
117
+ </xs:simpleType>
118
+ <xs:attribute ref="xml:lang" use="prohibited"/>
119
+ </xs:restriction>
120
+ </xs:simpleContent>
121
+ </xs:complexType>
122
+
123
+ <xs:complexType name="MESH">
124
+ <xs:simpleContent>
125
+ <xs:restriction base="dc:SimpleLiteral">
126
+ <xs:simpleType>
127
+ <xs:restriction base="xs:string"/>
128
+ </xs:simpleType>
129
+ <xs:attribute ref="xml:lang" use="prohibited"/>
130
+ </xs:restriction>
131
+ </xs:simpleContent>
132
+ </xs:complexType>
133
+
134
+ <xs:complexType name="DDC">
135
+ <xs:simpleContent>
136
+ <xs:restriction base="dc:SimpleLiteral">
137
+ <xs:simpleType>
138
+ <xs:restriction base="xs:string"/>
139
+ </xs:simpleType>
140
+ <xs:attribute ref="xml:lang" use="prohibited"/>
141
+ </xs:restriction>
142
+ </xs:simpleContent>
143
+ </xs:complexType>
144
+
145
+ <xs:complexType name="LCC">
146
+ <xs:simpleContent>
147
+ <xs:restriction base="dc:SimpleLiteral">
148
+ <xs:simpleType>
149
+ <xs:restriction base="xs:string"/>
150
+ </xs:simpleType>
151
+ <xs:attribute ref="xml:lang" use="prohibited"/>
152
+ </xs:restriction>
153
+ </xs:simpleContent>
154
+ </xs:complexType>
155
+
156
+ <xs:complexType name="UDC">
157
+ <xs:simpleContent>
158
+ <xs:restriction base="dc:SimpleLiteral">
159
+ <xs:simpleType>
160
+ <xs:restriction base="xs:string"/>
161
+ </xs:simpleType>
162
+ <xs:attribute ref="xml:lang" use="prohibited"/>
163
+ </xs:restriction>
164
+ </xs:simpleContent>
165
+ </xs:complexType>
166
+
167
+ <xs:complexType name="Period">
168
+ <xs:simpleContent>
169
+ <xs:restriction base="dc:SimpleLiteral">
170
+ <xs:simpleType>
171
+ <xs:restriction base="xs:string"/>
172
+ </xs:simpleType>
173
+ <xs:attribute ref="xml:lang" use="prohibited"/>
174
+ </xs:restriction>
175
+ </xs:simpleContent>
176
+ </xs:complexType>
177
+
178
+ <xs:complexType name="W3CDTF">
179
+ <xs:simpleContent>
180
+ <xs:restriction base="dc:SimpleLiteral">
181
+ <xs:simpleType>
182
+ <xs:union memberTypes="xs:gYear xs:gYearMonth xs:date xs:dateTime"/>
183
+ </xs:simpleType>
184
+ <xs:attribute ref="xml:lang" use="prohibited"/>
185
+ </xs:restriction>
186
+ </xs:simpleContent>
187
+ </xs:complexType>
188
+
189
+ <xs:complexType name="DCMIType">
190
+ <xs:simpleContent>
191
+ <xs:restriction base="dc:SimpleLiteral">
192
+ <xs:simpleType>
193
+ <xs:restriction base="dcmitype:DCMIType"/>
194
+ </xs:simpleType>
195
+ <xs:attribute ref="xml:lang" use="prohibited"/>
196
+ </xs:restriction>
197
+ </xs:simpleContent>
198
+ </xs:complexType>
199
+
200
+ <xs:complexType name="IMT">
201
+ <xs:simpleContent>
202
+ <xs:restriction base="dc:SimpleLiteral">
203
+ <xs:simpleType>
204
+ <xs:restriction base="xs:string"/>
205
+ </xs:simpleType>
206
+ <xs:attribute ref="xml:lang" use="prohibited"/>
207
+ </xs:restriction>
208
+ </xs:simpleContent>
209
+ </xs:complexType>
210
+
211
+ <xs:complexType name="URI">
212
+ <xs:simpleContent>
213
+ <xs:restriction base="dc:SimpleLiteral">
214
+ <xs:simpleType>
215
+ <xs:restriction base="xs:anyURI"/>
216
+ </xs:simpleType>
217
+ <xs:attribute ref="xml:lang" use="prohibited"/>
218
+ </xs:restriction>
219
+ </xs:simpleContent>
220
+ </xs:complexType>
221
+
222
+ <xs:complexType name="ISO639-2">
223
+ <xs:simpleContent>
224
+ <xs:restriction base="dc:SimpleLiteral">
225
+ <xs:simpleType>
226
+ <xs:restriction base="xs:string"/>
227
+ </xs:simpleType>
228
+ <xs:attribute ref="xml:lang" use="prohibited"/>
229
+ </xs:restriction>
230
+ </xs:simpleContent>
231
+ </xs:complexType>
232
+
233
+ <xs:complexType name="RFC1766">
234
+ <xs:simpleContent>
235
+ <xs:restriction base="dc:SimpleLiteral">
236
+ <xs:simpleType>
237
+ <xs:restriction base="xs:language"/>
238
+ </xs:simpleType>
239
+ <xs:attribute ref="xml:lang" use="prohibited"/>
240
+ </xs:restriction>
241
+ </xs:simpleContent>
242
+ </xs:complexType>
243
+
244
+ <xs:complexType name="RFC3066">
245
+ <xs:simpleContent>
246
+ <xs:restriction base="dc:SimpleLiteral">
247
+ <xs:simpleType>
248
+ <xs:restriction base="xs:language"/>
249
+ </xs:simpleType>
250
+ <xs:attribute ref="xml:lang" use="prohibited"/>
251
+ </xs:restriction>
252
+ </xs:simpleContent>
253
+ </xs:complexType>
254
+
255
+ <xs:complexType name="Point">
256
+ <xs:simpleContent>
257
+ <xs:restriction base="dc:SimpleLiteral">
258
+ <xs:simpleType>
259
+ <xs:restriction base="xs:string"/>
260
+ </xs:simpleType>
261
+ <xs:attribute ref="xml:lang" use="prohibited"/>
262
+ </xs:restriction>
263
+ </xs:simpleContent>
264
+ </xs:complexType>
265
+
266
+ <xs:complexType name="ISO3166">
267
+ <xs:simpleContent>
268
+ <xs:restriction base="dc:SimpleLiteral">
269
+ <xs:simpleType>
270
+ <xs:restriction base="xs:string"/>
271
+ </xs:simpleType>
272
+ <xs:attribute ref="xml:lang" use="prohibited"/>
273
+ </xs:restriction>
274
+ </xs:simpleContent>
275
+ </xs:complexType>
276
+
277
+ <xs:complexType name="Box">
278
+ <xs:simpleContent>
279
+ <xs:restriction base="dc:SimpleLiteral">
280
+ <xs:simpleType>
281
+ <xs:restriction base="xs:string"/>
282
+ </xs:simpleType>
283
+ <xs:attribute ref="xml:lang" use="prohibited"/>
284
+ </xs:restriction>
285
+ </xs:simpleContent>
286
+ </xs:complexType>
287
+
288
+ <xs:complexType name="TGN">
289
+ <xs:simpleContent>
290
+ <xs:restriction base="dc:SimpleLiteral">
291
+ <xs:simpleType>
292
+ <xs:restriction base="xs:string"/>
293
+ </xs:simpleType>
294
+ <xs:attribute ref="xml:lang" use="prohibited"/>
295
+ </xs:restriction>
296
+ </xs:simpleContent>
297
+ </xs:complexType>
298
+
299
+ <xs:group name="elementsAndRefinementsGroup">
300
+ <xs:annotation>
301
+ <xs:documentation xml:lang="en">
302
+ This group is included as a convenience for schema authors
303
+ who need to refer to all the DC elements and element refinements
304
+ in the http://purl.org/dc/elements/1.1/ and
305
+ http://purl.org/dc/terms namespaces.
306
+ N.B. Refinements available via substitution groups.
307
+ </xs:documentation>
308
+ </xs:annotation>
309
+
310
+ <xs:sequence>
311
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
312
+ <xs:element ref="dc:any" />
313
+ </xs:choice>
314
+ </xs:sequence>
315
+ </xs:group>
316
+
317
+ <xs:complexType name="elementOrRefinementContainer">
318
+ <xs:annotation>
319
+ <xs:documentation xml:lang="en">
320
+ This is included as a convenience for schema authors who need to define a root
321
+ or container element for all of the DC elements and element refinements.
322
+ </xs:documentation>
323
+ </xs:annotation>
324
+
325
+ <xs:choice>
326
+ <xs:group ref="elementsAndRefinementsGroup"/>
327
+ </xs:choice>
328
+ </xs:complexType>
329
+
330
+
331
+ </xs:schema>
@@ -0,0 +1,50 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema targetNamespace="http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
3
+ xmlns="http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
4
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dc="http://purl.org/dc/elements/1.1/"
5
+ xmlns:dcterms="http://purl.org/dc/terms/" elementFormDefault="qualified" blockDefault="#all">
6
+
7
+ <xs:import namespace="http://purl.org/dc/elements/1.1/"
8
+ schemaLocation="http://dublincore.org/schemas/xmls/qdc/2003/04/02/dc.xsd"/>
9
+ <xs:import namespace="http://purl.org/dc/terms/"
10
+ schemaLocation="http://dublincore.org/schemas/xmls/qdc/2003/04/02/dcterms.xsd"/>
11
+ <xs:import id="xml" namespace="http://www.w3.org/XML/1998/namespace"/>
12
+
13
+ <xs:element name="coreProperties" type="CT_CoreProperties"/>
14
+
15
+ <xs:complexType name="CT_CoreProperties">
16
+ <xs:all>
17
+ <xs:element name="category" minOccurs="0" maxOccurs="1" type="xs:string"/>
18
+ <xs:element name="contentStatus" minOccurs="0" maxOccurs="1" type="xs:string"/>
19
+ <xs:element ref="dcterms:created" minOccurs="0" maxOccurs="1"/>
20
+ <xs:element ref="dc:creator" minOccurs="0" maxOccurs="1"/>
21
+ <xs:element ref="dc:description" minOccurs="0" maxOccurs="1"/>
22
+ <xs:element ref="dc:identifier" minOccurs="0" maxOccurs="1"/>
23
+ <xs:element name="keywords" minOccurs="0" maxOccurs="1" type="CT_Keywords"/>
24
+ <xs:element ref="dc:language" minOccurs="0" maxOccurs="1"/>
25
+ <xs:element name="lastModifiedBy" minOccurs="0" maxOccurs="1" type="xs:string"/>
26
+ <xs:element name="lastPrinted" minOccurs="0" maxOccurs="1" type="xs:dateTime"/>
27
+ <xs:element ref="dcterms:modified" minOccurs="0" maxOccurs="1"/>
28
+ <xs:element name="revision" minOccurs="0" maxOccurs="1" type="xs:string"/>
29
+ <xs:element ref="dc:subject" minOccurs="0" maxOccurs="1"/>
30
+ <xs:element ref="dc:title" minOccurs="0" maxOccurs="1"/>
31
+ <xs:element name="version" minOccurs="0" maxOccurs="1" type="xs:string"/>
32
+ </xs:all>
33
+ </xs:complexType>
34
+
35
+ <xs:complexType name="CT_Keywords" mixed="true">
36
+ <xs:sequence>
37
+ <xs:element name="value" minOccurs="0" maxOccurs="unbounded" type="CT_Keyword"/>
38
+ </xs:sequence>
39
+ <xs:attribute ref="xml:lang" use="optional"/>
40
+ </xs:complexType>
41
+
42
+ <xs:complexType name="CT_Keyword">
43
+ <xs:simpleContent>
44
+ <xs:extension base="xs:string">
45
+ <xs:attribute ref="xml:lang" use="optional"/>
46
+ </xs:extension>
47
+ </xs:simpleContent>
48
+ </xs:complexType>
49
+
50
+ </xs:schema>
@@ -6,7 +6,7 @@ class TestBar3DChart < Test::Unit::TestCase
6
6
  def setup
7
7
  @p = Axlsx::Package.new
8
8
  ws = @p.workbook.add_worksheet
9
- @row = ws.add_row :values=>["one", 1, Time.now]
9
+ @row = ws.add_row ["one", 1, Time.now]
10
10
  @chart = ws.add_chart Axlsx::Bar3DChart, :title => "fishery"
11
11
  end
12
12
 
@@ -2,3 +2,65 @@ require 'test/unit'
2
2
  require 'axlsx.rb'
3
3
 
4
4
  class TestBar3DChart < Test::Unit::TestCase
5
+
6
+ def setup
7
+ @p = Axlsx::Package.new
8
+ ws = @p.workbook.add_worksheet
9
+ @row = ws.add_row :values=>["one", 1, Time.now]
10
+ @chart = ws.add_chart Axlsx::Bar3DChart, :title => "fishery"
11
+ end
12
+
13
+ def teardown
14
+ end
15
+
16
+ def test_initialization
17
+ assert_equal(@chart.grouping, :clustered, "grouping defualt incorrect")
18
+ assert_equal(@chart.series_type, Axlsx::BarSeries, "series type incorrect")
19
+ assert_equal(@chart.barDir, :bar, " bar direction incorrect")
20
+ assert(@chart.catAxis.is_a?(Axlsx::CatAxis), "category axis not created")
21
+ assert(@chart.valAxis.is_a?(Axlsx::ValAxis), "value access not created")
22
+ end
23
+
24
+ def test_bar_direction
25
+ assert_raise(ArgumentError, "require valid bar direction") { @chart.barDir = :left }
26
+ assert_nothing_raised("allow valid bar direction") { @chart.barDir = :col }
27
+ assert(@chart.barDir == :col)
28
+ end
29
+
30
+ def test_grouping
31
+ assert_raise(ArgumentError, "require valid grouping") { @chart.grouping = :inverted }
32
+ assert_nothing_raised("allow valid grouping") { @chart.grouping = :standard }
33
+ assert(@chart.grouping == :standard)
34
+ end
35
+
36
+
37
+ def test_gapWidth
38
+ assert_raise(ArgumentError, "require valid gap width") { @chart.gapWidth = 200 }
39
+ assert_nothing_raised("allow valid gapWidth") { @chart.gapWidth = "200%" }
40
+ assert(@chart.gapWidth == "200%")
41
+ end
42
+
43
+ def test_gapDepth
44
+ assert_raise(ArgumentError, "require valid gapDepth") { @chart.gapDepth = 200 }
45
+ assert_nothing_raised("allow valid gapDepth") { @chart.gapDepth = "200%" }
46
+ assert(@chart.gapDepth == "200%")
47
+ end
48
+
49
+ def test_shape
50
+ assert_raise(ArgumentError, "require valid shape") { @chart.shape = :star }
51
+ assert_nothing_raised("allow valid shape") { @chart.shape = :cone }
52
+ assert(@chart.shape == :cone)
53
+ end
54
+
55
+ def test_to_xml
56
+ schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
57
+ doc = Nokogiri::XML(@chart.to_xml)
58
+ errors = []
59
+ schema.validate(doc).each do |error|
60
+ errors.push error
61
+ puts error.message
62
+ end
63
+ assert(errors.empty?, "error free validation")
64
+ end
65
+
66
+ end