axlsx 1.0.0
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/Rakefile +13 -0
- data/lib/axlsx.rb +38 -0
- data/lib/axlsx/content_type/content_type.rb +23 -0
- data/lib/axlsx/content_type/default.rb +32 -0
- data/lib/axlsx/content_type/override.rb +30 -0
- data/lib/axlsx/doc_props/app.rb +148 -0
- data/lib/axlsx/doc_props/core.rb +34 -0
- data/lib/axlsx/drawing/axis.rb +78 -0
- data/lib/axlsx/drawing/bar_3D_chart.rb +138 -0
- data/lib/axlsx/drawing/bar_series.rb +91 -0
- data/lib/axlsx/drawing/cat_axis.rb +58 -0
- data/lib/axlsx/drawing/chart.rb +120 -0
- data/lib/axlsx/drawing/drawing.rb +121 -0
- data/lib/axlsx/drawing/graphic_frame.rb +55 -0
- data/lib/axlsx/drawing/marker.rb +57 -0
- data/lib/axlsx/drawing/pie_3D_chart.rb +59 -0
- data/lib/axlsx/drawing/pie_series.rb +88 -0
- data/lib/axlsx/drawing/scaling.rb +53 -0
- data/lib/axlsx/drawing/series.rb +70 -0
- data/lib/axlsx/drawing/title.rb +69 -0
- data/lib/axlsx/drawing/two_cell_anchor.rb +88 -0
- data/lib/axlsx/drawing/val_axis.rb +34 -0
- data/lib/axlsx/drawing/view_3D.rb +72 -0
- data/lib/axlsx/package.rb +181 -0
- data/lib/axlsx/rels/relationship.rb +43 -0
- data/lib/axlsx/rels/relationships.rb +25 -0
- data/lib/axlsx/stylesheet/border.rb +52 -0
- data/lib/axlsx/stylesheet/border_pr.rb +65 -0
- data/lib/axlsx/stylesheet/cell_alignment.rb +96 -0
- data/lib/axlsx/stylesheet/cell_protection.rb +33 -0
- data/lib/axlsx/stylesheet/cell_style.rb +60 -0
- data/lib/axlsx/stylesheet/color.rb +57 -0
- data/lib/axlsx/stylesheet/fill.rb +31 -0
- data/lib/axlsx/stylesheet/font.rb +128 -0
- data/lib/axlsx/stylesheet/gradient_fill.rb +70 -0
- data/lib/axlsx/stylesheet/gradient_stop.rb +31 -0
- data/lib/axlsx/stylesheet/num_fmt.rb +61 -0
- data/lib/axlsx/stylesheet/pattern_fill.rb +64 -0
- data/lib/axlsx/stylesheet/styles.rb +296 -0
- data/lib/axlsx/stylesheet/table_style.rb +44 -0
- data/lib/axlsx/stylesheet/table_style_element.rb +66 -0
- data/lib/axlsx/stylesheet/table_styles.rb +39 -0
- data/lib/axlsx/stylesheet/xf.rb +117 -0
- data/lib/axlsx/util/constants.rb +189 -0
- data/lib/axlsx/util/simple_typed_list.rb +150 -0
- data/lib/axlsx/util/validators.rb +132 -0
- data/lib/axlsx/workbook/workbook.rb +130 -0
- data/lib/axlsx/workbook/worksheet/cell.rb +184 -0
- data/lib/axlsx/workbook/worksheet/row.rb +92 -0
- data/lib/axlsx/workbook/worksheet/worksheet.rb +194 -0
- data/lib/schema/dc.xsd +118 -0
- data/lib/schema/dcmitype.xsd +50 -0
- data/lib/schema/dcterms.xsd +331 -0
- data/lib/schema/dml-chart.xsd +1499 -0
- data/lib/schema/dml-chartDrawing.xsd +146 -0
- data/lib/schema/dml-compatibility.xsd +14 -0
- data/lib/schema/dml-diagram.xsd +1091 -0
- data/lib/schema/dml-lockedCanvas.xsd +11 -0
- data/lib/schema/dml-main.xsd +3048 -0
- data/lib/schema/dml-picture.xsd +23 -0
- data/lib/schema/dml-spreadsheetDrawing.xsd +185 -0
- data/lib/schema/dml-wordprocessingDrawing.xsd +185 -0
- data/lib/schema/opc-contentTypes.xsd +42 -0
- data/lib/schema/opc-coreProperties.xsd +50 -0
- data/lib/schema/opc-digSig.xsd +49 -0
- data/lib/schema/opc-relationships.xsd +33 -0
- data/lib/schema/pml.xsd +1676 -0
- data/lib/schema/shared-additionalCharacteristics.xsd +28 -0
- data/lib/schema/shared-bibliography.xsd +144 -0
- data/lib/schema/shared-commonSimpleTypes.xsd +166 -0
- data/lib/schema/shared-customXmlDataProperties.xsd +25 -0
- data/lib/schema/shared-customXmlSchemaProperties.xsd +18 -0
- data/lib/schema/shared-documentPropertiesCustom.xsd +59 -0
- data/lib/schema/shared-documentPropertiesExtended.xsd +56 -0
- data/lib/schema/shared-documentPropertiesVariantTypes.xsd +195 -0
- data/lib/schema/shared-math.xsd +582 -0
- data/lib/schema/shared-relationshipReference.xsd +25 -0
- data/lib/schema/sml.xsd +4430 -0
- data/lib/schema/vml-main.xsd +569 -0
- data/lib/schema/vml-officeDrawing.xsd +509 -0
- data/lib/schema/vml-presentationDrawing.xsd +12 -0
- data/lib/schema/vml-spreadsheetDrawing.xsd +108 -0
- data/lib/schema/vml-wordprocessingDrawing.xsd +96 -0
- data/lib/schema/wml.xsd +3644 -0
- data/lib/schema/xml.xsd +117 -0
- data/test/content_type/tc_content_type.rb +81 -0
- data/test/content_type/tc_content_type.rb~ +81 -0
- data/test/content_type/tc_default.rb +40 -0
- data/test/content_type/tc_default.rb~ +40 -0
- data/test/content_type/tc_override.rb +40 -0
- data/test/content_type/tc_override.rb~ +40 -0
- data/test/doc_props/tc_app.rb +19 -0
- data/test/doc_props/tc_app.rb~ +19 -0
- data/test/doc_props/tc_core.rb +34 -0
- data/test/drawing/tc_axis.rb +39 -0
- data/test/drawing/tc_axis.rb~ +0 -0
- data/test/drawing/tc_bar_3D_chart.rb +66 -0
- data/test/drawing/tc_bar_3D_chart.rb~ +4 -0
- data/test/drawing/tc_bar_series.rb +34 -0
- data/test/drawing/tc_bar_series.rb~ +31 -0
- data/test/drawing/tc_cat_axis.rb +32 -0
- data/test/drawing/tc_cat_axis.rb~ +39 -0
- data/test/drawing/tc_chart.rb +59 -0
- data/test/drawing/tc_chart.rb~ +58 -0
- data/test/drawing/tc_drawing.rb +71 -0
- data/test/drawing/tc_graphic_frame.rb +26 -0
- data/test/drawing/tc_graphic_frame.rb~ +21 -0
- data/test/drawing/tc_marker.rb +45 -0
- data/test/drawing/tc_marker.rb~ +26 -0
- data/test/drawing/tc_pie_3D_chart.rb +33 -0
- data/test/drawing/tc_pie_3D_chart.rb~ +58 -0
- data/test/drawing/tc_pie_series.rb +35 -0
- data/test/drawing/tc_pie_series.rb~ +26 -0
- data/test/drawing/tc_scaling.rb +37 -0
- data/test/drawing/tc_scaling.rb~ +45 -0
- data/test/drawing/tc_series.rb +24 -0
- data/test/drawing/tc_series.rb~ +31 -0
- data/test/drawing/tc_title.rb +34 -0
- data/test/drawing/tc_title.rb~ +37 -0
- data/test/drawing/tc_two_cell_anchor.rb +37 -0
- data/test/drawing/tc_two_cell_anchor.rb~ +35 -0
- data/test/drawing/tc_val_axis.rb +20 -0
- data/test/drawing/tc_val_axis.rb~ +32 -0
- data/test/drawing/tc_view_3D.rb +46 -0
- data/test/drawing/tc_view_3D.rb~ +37 -0
- data/test/rels/tc_relationship.rb +16 -0
- data/test/rels/tc_relationship.rb~ +39 -0
- data/test/rels/tc_relationships.rb +32 -0
- data/test/rels/tc_relationships.rb~ +37 -0
- data/test/stylesheet/tc_border.rb +38 -0
- data/test/stylesheet/tc_border.rb~ +31 -0
- data/test/stylesheet/tc_border_pr.rb +33 -0
- data/test/stylesheet/tc_border_pr.rb~ +31 -0
- data/test/stylesheet/tc_cell_alignment.rb +77 -0
- data/test/stylesheet/tc_cell_alignment.rb~ +38 -0
- data/test/stylesheet/tc_cell_protection.rb +30 -0
- data/test/stylesheet/tc_cell_protection.rb~ +77 -0
- data/test/stylesheet/tc_cell_style.rb +58 -0
- data/test/stylesheet/tc_cell_style.rb~ +30 -0
- data/test/stylesheet/tc_color.rb +38 -0
- data/test/stylesheet/tc_color.rb~ +38 -0
- data/test/stylesheet/tc_fill.rb +19 -0
- data/test/stylesheet/tc_fill.rb~ +19 -0
- data/test/stylesheet/tc_font.rb +114 -0
- data/test/stylesheet/tc_font.rb~ +19 -0
- data/test/stylesheet/tc_gradient_fill.rb +65 -0
- data/test/stylesheet/tc_gradient_fill.rb~ +114 -0
- data/test/stylesheet/tc_gradient_stop.rb +32 -0
- data/test/stylesheet/tc_gradient_stop.rb~ +65 -0
- data/test/stylesheet/tc_num_fmt.rb +31 -0
- data/test/stylesheet/tc_num_fmt.rb~ +32 -0
- data/test/stylesheet/tc_pattern_fill.rb +38 -0
- data/test/stylesheet/tc_pattern_fill.rb~ +31 -0
- data/test/stylesheet/tc_styles.rb +64 -0
- data/test/stylesheet/tc_table_style.rb +37 -0
- data/test/stylesheet/tc_table_style.rb~ +38 -0
- data/test/stylesheet/tc_table_style_element.rb +37 -0
- data/test/stylesheet/tc_table_style_element.rb~ +37 -0
- data/test/stylesheet/tc_table_styles.rb +30 -0
- data/test/stylesheet/tc_table_styles.rb~ +37 -0
- data/test/stylesheet/tc_xf.rb +121 -0
- data/test/stylesheet/tc_xf.rb~ +30 -0
- data/test/tc_app.rb~ +19 -0
- data/test/tc_border_pr.rb~ +21 -0
- data/test/tc_package.rb +70 -0
- data/test/tc_package.rb~ +64 -0
- data/test/tc_pie_3D_chart.rb~ +66 -0
- data/test/tc_relationships.rb~ +37 -0
- data/test/tc_series.rb~ +31 -0
- data/test/tc_styles.rb~ +64 -0
- data/test/tc_validators.rb~ +77 -0
- data/test/tc_worksheet.rb~ +85 -0
- data/test/util/tc_simple_typed_list.rb +66 -0
- data/test/util/tc_validators.rb +76 -0
- data/test/workbook/tc_workbook.rb +53 -0
- data/test/workbook/worksheet/tc_cell.rb +78 -0
- data/test/workbook/worksheet/tc_row.rb +30 -0
- data/test/workbook/worksheet/tc_worksheet.rb +85 -0
- metadata +378 -0
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestGraphicFrame < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
p = Axlsx::Package.new
|
7
|
+
@ws = p.workbook.add_worksheet
|
8
|
+
@chart = @ws.add_chart Axlsx::Chart
|
9
|
+
@frame = @chart.graphic_frame
|
10
|
+
end
|
11
|
+
|
12
|
+
def teardown
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_initialization
|
16
|
+
assert(@frame.anchor.is_a?(Axlsx::TwoCellAnchor))
|
17
|
+
assert_equal(@frame.chart, @chart)
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_rId
|
21
|
+
assert_equal(@frame.rId, "rId1")
|
22
|
+
chart = @ws.add_chart Axlsx::Chart
|
23
|
+
assert_equal(chart.graphic_frame.rId, "rId2")
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestGraphicFrame < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
p = Axlsx::Package.new
|
7
|
+
@ws = p.workbook.add_worksheet
|
8
|
+
end
|
9
|
+
def teardown
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_initialization
|
13
|
+
assert_equal(@axis.crossBetween, :between, "axis crossBetween default incorrect")
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_crossBetween
|
17
|
+
assert_raise(ArgumentError, "requires valid crossBetween") { @axis.crossBetween = :my_eyes }
|
18
|
+
assert_nothing_raised("accepts valid crossBetween") { @axis.crossBetween = :midCat }
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestMarker < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
@marker = Axlsx::Marker.new
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_initialization
|
13
|
+
assert(@marker.col == 0)
|
14
|
+
assert(@marker.colOff == 0)
|
15
|
+
assert(@marker.row == 0)
|
16
|
+
assert(@marker.rowOff == 0)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_col
|
20
|
+
assert_raise(ArgumentError) { @marker.col = -1}
|
21
|
+
assert_nothing_raised {@marker.col = 10}
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_colOff
|
25
|
+
assert_raise(ArgumentError) { @marker.colOff = "1"}
|
26
|
+
assert_nothing_raised {@marker.colOff = -10}
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_row
|
30
|
+
assert_raise(ArgumentError) { @marker.row = -1}
|
31
|
+
assert_nothing_raised {@marker.row = 10}
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_rowOff
|
35
|
+
assert_raise(ArgumentError) { @marker.rowOff = "1"}
|
36
|
+
assert_nothing_raised {@marker.rowOff = -10}
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_coord
|
40
|
+
@marker.coord 5, 10
|
41
|
+
assert_equal(@marker.col, 5)
|
42
|
+
assert_equal(@marker.row, 10)
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestMarker < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
p = Axlsx::Package.new
|
7
|
+
@ws = p.workbook.add_worksheet
|
8
|
+
@chart = @ws.add_chart Axlsx::Chart
|
9
|
+
@frame = @chart.graphic_frame
|
10
|
+
end
|
11
|
+
|
12
|
+
def teardown
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_initialization
|
16
|
+
assert(@frame.anchor.is_a?(Axlsx::TwoCellAnchor))
|
17
|
+
assert_equal(@frame.chart, @chart)
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_rId
|
21
|
+
assert_equal(@frame.rId, "rId1")
|
22
|
+
chart = @ws.add_chart Axlsx::Chart
|
23
|
+
assert_equal(chart.graphic_frame.rId, "rId2")
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestPie3DChart < 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.drawing.add_chart Axlsx::Pie3DChart, :title => "fishery"
|
11
|
+
end
|
12
|
+
|
13
|
+
def teardown
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_initialization
|
17
|
+
assert_equal(@chart.view3D.rotX, 30, "view 3d default rotX incorrect")
|
18
|
+
assert_equal(@chart.view3D.perspective, 30, "view 3d default perspective incorrect")
|
19
|
+
assert_equal(@chart.series_type, Axlsx::PieSeries, "series type incorrect")
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_to_xml
|
23
|
+
schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
|
24
|
+
doc = Nokogiri::XML(@chart.to_xml)
|
25
|
+
errors = []
|
26
|
+
schema.validate(doc).each do |error|
|
27
|
+
errors.push error
|
28
|
+
puts error.message
|
29
|
+
end
|
30
|
+
assert(errors.empty?, "error free validation")
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestPie3DChart < 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.drawing.add_chart Axlsx::Pie3DChart, :title => "fishery"
|
11
|
+
end
|
12
|
+
|
13
|
+
def teardown
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_initialization
|
17
|
+
assert_equal(@chart.graphic_frame.anchor.drawing.worksheet.workbook.charts.last,@chart, "the chart is in the workbook")
|
18
|
+
assert_equal(@chart.title.text, "fishery", "the title option has been applied")
|
19
|
+
assert((@chart.series.is_a?(Axlsx::SimpleTypedList) && @chart.series.empty?), "The series is initialized and empty")
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_title
|
23
|
+
@chart.title.text = 'wowzer'
|
24
|
+
assert_equal(@chart.title.text, "wowzer", "the title text via a string")
|
25
|
+
assert_equal(@chart.title.cell, nil, "the title cell is nil as we set the title with text.")
|
26
|
+
@chart.title.cell = @row.cells.first
|
27
|
+
assert_equal(@chart.title.text, "one", "the title text was set via cell reference")
|
28
|
+
assert_equal(@chart.title.cell, @row.cells.first)
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_add_series
|
32
|
+
s = @chart.add_series :data=>[0,1,2,3], :labels => ["one", 1, "anything"], :title=>"bob"
|
33
|
+
assert_equal(@chart.series.last, s, "series has been added to chart series collection")
|
34
|
+
assert_equal(s.title, "bob", "series title has been applied")
|
35
|
+
assert_equal(s.data, [0,1,2,3], "data option applied")
|
36
|
+
assert_equal(s.labels, ["one",1,"anything"], "labels option applied")
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_create_range
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_pn
|
44
|
+
assert_equal(@chart.pn, "charts/chart1.xml")
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_to_xml
|
48
|
+
schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
|
49
|
+
doc = Nokogiri::XML(@chart.to_xml)
|
50
|
+
errors = []
|
51
|
+
schema.validate(doc).each do |error|
|
52
|
+
errors.push error
|
53
|
+
puts error.message
|
54
|
+
end
|
55
|
+
assert(errors.empty?, "error free validation")
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestPieSeries < Test::Unit::TestCase
|
5
|
+
|
6
|
+
def setup
|
7
|
+
p = Axlsx::Package.new
|
8
|
+
@ws = p.workbook.add_worksheet :name=>"hmmm"
|
9
|
+
chart = @ws.drawing.add_chart Axlsx::Pie3DChart, :title => "fishery"
|
10
|
+
@series = chart.add_series :data=>[0,1,2], :labels=>["zero", "one", "two"], :title=>"bob"
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_initialize
|
14
|
+
assert_equal(@series.title, "bob", "series title has been applied")
|
15
|
+
assert_equal(@series.data, [0,1,2], "data option applied")
|
16
|
+
assert_equal(@series.labels, ["zero", "one","two"], "labels option applied")
|
17
|
+
assert_equal(@series.explosion, nil, "series shape has been applied")
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_data
|
21
|
+
assert_equal(@series.data, [0,1,2])
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_labels
|
25
|
+
assert_equal(@series.labels, ["zero", "one", "two"])
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_explosion
|
30
|
+
assert_raise(ArgumentError, "require valid explosion") { @series.explosion = :lots }
|
31
|
+
assert_nothing_raised("allow valid explosion") { @series.explosion = 20 }
|
32
|
+
assert(@series.explosion == 20)
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestPieSeries < Test::Unit::TestCase
|
5
|
+
|
6
|
+
def setup
|
7
|
+
p = Axlsx::Package.new
|
8
|
+
@ws = p.workbook.add_worksheet :name=>"hmmm"
|
9
|
+
chart = @ws.drawing.add_chart Axlsx::Bar3DChart, :title => "fishery"
|
10
|
+
@series = chart.add_series :data=>[0,1,2], :labels=>["zero", "one", "two"], :title=>"bob"
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_initialize
|
14
|
+
assert_equal(@series.title, "bob", "series title has been applied")
|
15
|
+
assert_equal(@series.data, [0,1,2], "data option applied")
|
16
|
+
assert_equal(@series.labels, ["zero", "one","two"], "labels option applied")
|
17
|
+
assert_equal(@series.shape, :box, "series shape has been applied")
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_shape
|
21
|
+
assert_raise(ArgumentError, "require valid shape") { @series.shape = :teardropt }
|
22
|
+
assert_nothing_raised("allow valid shape") { @series.shape = :cone }
|
23
|
+
assert(@series.shape == :cone)
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestScaling < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
@scaling = Axlsx::Scaling.new
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_initialization
|
13
|
+
assert(@scaling.orientation == :minMax)
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_logBase
|
17
|
+
assert_raise(ArgumentError) { @scaling.logBase = 1}
|
18
|
+
assert_nothing_raised {@scaling.logBase = 10}
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_orientation
|
22
|
+
assert_raise(ArgumentError) { @scaling.orientation = "1"}
|
23
|
+
assert_nothing_raised {@scaling.orientation = :maxMin}
|
24
|
+
end
|
25
|
+
|
26
|
+
|
27
|
+
def test_max
|
28
|
+
assert_raise(ArgumentError) { @scaling.max = 1}
|
29
|
+
assert_nothing_raised {@scaling.max = 10.5}
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_min
|
33
|
+
assert_raise(ArgumentError) { @scaling.min = 1}
|
34
|
+
assert_nothing_raised {@scaling.min = 10.5}
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestMarker < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
@marker = Axlsx::Marker.new
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_initialization
|
13
|
+
assert(@marker.col == 0)
|
14
|
+
assert(@marker.colOff == 0)
|
15
|
+
assert(@marker.row == 0)
|
16
|
+
assert(@marker.rowOff == 0)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_col
|
20
|
+
assert_raise(ArgumentError) { @marker.col = -1}
|
21
|
+
assert_nothing_raised {@marker.col = 10}
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_colOff
|
25
|
+
assert_raise(ArgumentError) { @marker.colOff = "1"}
|
26
|
+
assert_nothing_raised {@marker.colOff = -10}
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_row
|
30
|
+
assert_raise(ArgumentError) { @marker.row = -1}
|
31
|
+
assert_nothing_raised {@marker.row = 10}
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_rowOff
|
35
|
+
assert_raise(ArgumentError) { @marker.rowOff = "1"}
|
36
|
+
assert_nothing_raised {@marker.rowOff = -10}
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_coord
|
40
|
+
@marker.coord 5, 10
|
41
|
+
assert_equal(@marker.col, 5)
|
42
|
+
assert_equal(@marker.row, 10)
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestSeries < Test::Unit::TestCase
|
5
|
+
|
6
|
+
def setup
|
7
|
+
p = Axlsx::Package.new
|
8
|
+
@ws = p.workbook.add_worksheet :name=>"hmmm"
|
9
|
+
chart = @ws.drawing.add_chart Axlsx::Chart, :title => "fishery"
|
10
|
+
@series = chart.add_series :title=>"bob"
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_initialize
|
14
|
+
assert_equal(@series.title, "bob", "series title has been applied")
|
15
|
+
assert_equal(@series.order, @series.index, "order is index by default")
|
16
|
+
assert_equal(@series.index, @series.chart.series.index(@series), "index is applied")
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_order
|
20
|
+
@series.order = 2
|
21
|
+
assert_equal(@series.order, 2)
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestSeries < Test::Unit::TestCase
|
5
|
+
|
6
|
+
def setup
|
7
|
+
p = Axlsx::Package.new
|
8
|
+
@ws = p.workbook.add_worksheet :name=>"hmmm"
|
9
|
+
chart = @ws.drawing.add_chart Axlsx::Pie3DChart, :title => "fishery"
|
10
|
+
@series = chart.add_series :data=>[0,1,2], :labels=>["zero", "one", "two"], :title=>"bob"
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_initialize
|
14
|
+
assert_equal(@series.title, "bob", "series title has been applied")
|
15
|
+
assert_equal(@series.data, [0,1,2], "data option applied")
|
16
|
+
assert_equal(@series.labels, ["zero", "one","two"], "labels option applied")
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_range
|
20
|
+
labels = @ws.add_row :values=>["one", "two", "three"]
|
21
|
+
data = @ws.add_row :values=>[1,2,3]
|
22
|
+
s = @series.chart.add_series :data=>data.cells, :labels=>labels.cells
|
23
|
+
assert_equal(s.send(:range, s.data), "#{@ws.name}!$A$2:$C$2", "range is created created from cells")
|
24
|
+
assert_equal(s.send(:range, s.labels), "#{@ws.name}!$A$1:$C$1", "range is created from cells")
|
25
|
+
assert_equal(@series.send(:range, @series.data), "", "no range if the data is a simple array")
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_index
|
29
|
+
assert_equal(@series.index, @series.chart.series.index(@series))
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestTitle < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
@p = Axlsx::Package.new
|
7
|
+
ws = @p.workbook.add_worksheet
|
8
|
+
@row = ws.add_row :values=>["one", 1, Time.now]
|
9
|
+
@title = Axlsx::Title.new
|
10
|
+
@chart = ws.add_chart Axlsx::Bar3DChart
|
11
|
+
end
|
12
|
+
|
13
|
+
def teardown
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_initialization
|
17
|
+
assert(@title.text == "")
|
18
|
+
assert(@title.cell == nil)
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_text
|
22
|
+
assert_raise(ArgumentError, "text must be a string") { @title.text = 123 }
|
23
|
+
@title.cell = @row.cells.first
|
24
|
+
@title.text = "bob"
|
25
|
+
assert(@title.cell == nil, "setting title with text clears the cell")
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_cell
|
29
|
+
assert_raise(ArgumentError, "cell must be a Cell") { @title.cell = "123" }
|
30
|
+
@title.cell = @row.cells.first
|
31
|
+
assert(@title.text == "one")
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|