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,37 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestTitle < 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,37 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestTwoCellAnchor < 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
|
+
@anchor = @chart.graphic_frame.anchor
|
12
|
+
end
|
13
|
+
|
14
|
+
def teardown
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_initialization
|
18
|
+
assert(@anchor.from.col == 0)
|
19
|
+
assert(@anchor.from.row == 0)
|
20
|
+
assert(@anchor.to.col == 5)
|
21
|
+
assert(@anchor.to.row == 10)
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_start_at
|
25
|
+
@anchor.start_at 5, 10
|
26
|
+
assert(@anchor.from.col == 5)
|
27
|
+
assert(@anchor.from.row == 10)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_end_at
|
31
|
+
@anchor.end_at 10, 15
|
32
|
+
assert(@anchor.to.col == 10)
|
33
|
+
assert(@anchor.to.row == 15)
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestTwoCellAnchor < 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
|
+
@anchor = @chart.anchor
|
12
|
+
end
|
13
|
+
|
14
|
+
def teardown
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_initialization
|
18
|
+
assert(@title.text == "")
|
19
|
+
assert(@title.cell == nil)
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_text
|
23
|
+
assert_raise(ArgumentError, "text must be a string") { @title.text = 123 }
|
24
|
+
@title.cell = @row.cells.first
|
25
|
+
@title.text = "bob"
|
26
|
+
assert(@title.cell == nil, "setting title with text clears the cell")
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_cell
|
30
|
+
assert_raise(ArgumentError, "cell must be a Cell") { @title.cell = "123" }
|
31
|
+
@title.cell = @row.cells.first
|
32
|
+
assert(@title.text == "one")
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestValAxis < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
@axis = Axlsx::ValAxis.new 12345, 54321
|
7
|
+
end
|
8
|
+
def teardown
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_initialization
|
12
|
+
assert_equal(@axis.crossBetween, :between, "axis crossBetween default incorrect")
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_crossBetween
|
16
|
+
assert_raise(ArgumentError, "requires valid crossBetween") { @axis.crossBetween = :my_eyes }
|
17
|
+
assert_nothing_raised("accepts valid crossBetween") { @axis.crossBetween = :midCat }
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestValAxis < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
@axis = Axlsx::ValAxis.new 12345, 54321
|
7
|
+
end
|
8
|
+
def teardown
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_initialization
|
12
|
+
assert_equal(@axis.auto, true, "axis auto default incorrect")
|
13
|
+
assert_equal(@axis.lblAlgn, :ctr, "label align default incorrect")
|
14
|
+
assert_equal(@axis.lblOffset, "100%", "label offset default incorrect")
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_auto
|
18
|
+
assert_raise(ArgumentError, "requires valid auto") { @axis.auto = :nowhere }
|
19
|
+
assert_nothing_raised("accepts valid auto") { @axis.auto = false }
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_lblAlgn
|
23
|
+
assert_raise(ArgumentError, "requires valid label alignment") { @axis.lblAlgn = :nowhere }
|
24
|
+
assert_nothing_raised("accepts valid label alignment") { @axis.lblAlgn = :r }
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_lblOffset
|
28
|
+
assert_raise(ArgumentError, "requires valid label offset") { @axis.lblOffset = 100 }
|
29
|
+
assert_nothing_raised("accepts valid label offset") { @axis.lblOffset = "20%" }
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestView3D < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
@view = Axlsx::View3D.new
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
def test_rotX
|
14
|
+
assert_raise(ArgumentError) {@view.rotX = "bob"}
|
15
|
+
assert_nothing_raised {@view.rotX = -90}
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_rotY
|
19
|
+
assert_raise(ArgumentError) {@view.rotY = "bob"}
|
20
|
+
assert_nothing_raised {@view.rotY = 90}
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_hPercent
|
24
|
+
assert_raise(ArgumentError) {@view.hPercent = "bob"}
|
25
|
+
assert_nothing_raised {@view.hPercent = "500%"}
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_depthPercent
|
29
|
+
assert_raise(ArgumentError) {@view.depthPercent = "bob"}
|
30
|
+
assert_nothing_raised {@view.depthPercent = "20%"}
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
def test_rAngAx
|
35
|
+
assert_raise(ArgumentError) {@view.rAngAx = "bob"}
|
36
|
+
assert_nothing_raised {@view.rAngAx = true}
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_perspective
|
40
|
+
assert_raise(ArgumentError) {@view.perspective = "bob"}
|
41
|
+
assert_nothing_raised {@view.perspective = 30}
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
|
46
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestTwoCellAnchor < 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
|
+
@anchor = @chart.graphic_frame.anchor
|
12
|
+
end
|
13
|
+
|
14
|
+
def teardown
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_initialization
|
18
|
+
assert(@anchor.from.col == 0)
|
19
|
+
assert(@anchor.from.row == 0)
|
20
|
+
assert(@anchor.to.col == 5)
|
21
|
+
assert(@anchor.to.row == 10)
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_start_at
|
25
|
+
@anchor.start_at 5, 10
|
26
|
+
assert(@anchor.from.col == 5)
|
27
|
+
assert(@anchor.from.row == 10)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_end_at
|
31
|
+
@anchor.end_at 10, 15
|
32
|
+
assert(@anchor.to.col == 10)
|
33
|
+
assert(@anchor.to.row == 15)
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestRelationships < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
end
|
7
|
+
|
8
|
+
def teardown
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_type
|
12
|
+
assert_raise(ArgumentError) { Axlsx::Relationship.new 'type', 'target' }
|
13
|
+
assert_nothing_raised { Axlsx::Relationship.new Axlsx::WORKSHEET_R, 'target' }
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestRelationships < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
end
|
7
|
+
|
8
|
+
def teardown
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_type
|
12
|
+
assert_raise(ArgumentError) { Axlsx::Relationship.new 'type', 'target'
|
13
|
+
end
|
14
|
+
def test_valid_document
|
15
|
+
schema = Nokogiri::XML::Schema(File.open(Axlsx::RELS_XSD))
|
16
|
+
doc = Nokogiri::XML(@rels.to_xml)
|
17
|
+
errors = []
|
18
|
+
schema.validate(doc).each do |error|
|
19
|
+
puts error.message
|
20
|
+
errors << error
|
21
|
+
end
|
22
|
+
|
23
|
+
@rels << Axlsx::Relationship.new(Axlsx::WORKSHEET_R, "bar")
|
24
|
+
doc = Nokogiri::XML(@rels.to_xml)
|
25
|
+
errors = []
|
26
|
+
schema.validate(doc).each do |error|
|
27
|
+
puts error.message
|
28
|
+
errors << error
|
29
|
+
end
|
30
|
+
|
31
|
+
assert(errors.size == 0)
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_require_valid_relationship_type
|
35
|
+
assert_raise(ArgumentError) { Axlsx::Relationship.new("Unknown", "bar" ) }
|
36
|
+
assert_nothing_raised { Axlsx::Relationship.new(Axlsx::CHART_R, "bar") }
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestRelationships < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
@rels = Axlsx::Relationships.new
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_valid_document
|
13
|
+
schema = Nokogiri::XML::Schema(File.open(Axlsx::RELS_XSD))
|
14
|
+
doc = Nokogiri::XML(@rels.to_xml)
|
15
|
+
errors = []
|
16
|
+
schema.validate(doc).each do |error|
|
17
|
+
puts error.message
|
18
|
+
errors << error
|
19
|
+
end
|
20
|
+
|
21
|
+
@rels << Axlsx::Relationship.new(Axlsx::WORKSHEET_R, "bar")
|
22
|
+
doc = Nokogiri::XML(@rels.to_xml)
|
23
|
+
errors = []
|
24
|
+
schema.validate(doc).each do |error|
|
25
|
+
puts error.message
|
26
|
+
errors << error
|
27
|
+
end
|
28
|
+
|
29
|
+
assert(errors.size == 0)
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestRelationships < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
@rels = Axlsx::Relationships.new
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_valid_document
|
13
|
+
schema = Nokogiri::XML::Schema(File.open(Axlsx::RELS_XSD))
|
14
|
+
doc = Nokogiri::XML(@rels.to_xml)
|
15
|
+
errors = []
|
16
|
+
schema.validate(doc).each do |error|
|
17
|
+
puts error.message
|
18
|
+
errors << error
|
19
|
+
end
|
20
|
+
|
21
|
+
@rels << Axlsx::Relationship.new(Axlsx::WORKSHEET_R, "bar")
|
22
|
+
doc = Nokogiri::XML(@rels.to_xml)
|
23
|
+
errors = []
|
24
|
+
schema.validate(doc).each do |error|
|
25
|
+
puts error.message
|
26
|
+
errors << error
|
27
|
+
end
|
28
|
+
|
29
|
+
assert(errors.size == 0)
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_require_valid_relationship_type
|
33
|
+
assert_raise(ArgumentError) { Axlsx::Relationship.new("Unknown", "bar" ) }
|
34
|
+
assert_nothing_raised { Axlsx::Relationship.new(Axlsx::CHART_R, "bar") }
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestBorder < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
@b = Axlsx::Border.new
|
7
|
+
end
|
8
|
+
def teardown
|
9
|
+
end
|
10
|
+
def test_initialiation
|
11
|
+
assert_equal(@b.diagonalUp, nil)
|
12
|
+
assert_equal(@b.diagonalDown, nil)
|
13
|
+
assert_equal(@b.outline, nil)
|
14
|
+
assert(@b.prs.is_a?(Axlsx::SimpleTypedList))
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_diagonalUp
|
18
|
+
assert_raise(ArgumentError) { @b.diagonalUp = :red }
|
19
|
+
assert_nothing_raised { @b.diagonalUp = true }
|
20
|
+
assert_equal(@b.diagonalUp, true )
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_diagonalDown
|
24
|
+
assert_raise(ArgumentError) { @b.diagonalDown = :red }
|
25
|
+
assert_nothing_raised { @b.diagonalDown = true }
|
26
|
+
assert_equal(@b.diagonalDown, true )
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_outline
|
30
|
+
assert_raise(ArgumentError) { @b.outline = :red }
|
31
|
+
assert_nothing_raised { @b.outline = true }
|
32
|
+
assert_equal(@b.outline, true )
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_prs
|
36
|
+
assert_nothing_raised { @b.prs << Axlsx::BorderPr.new(:name=>:top, :style=>:thin, :color => Axlsx::Color.new(:rgb=>"FF0000FF")) }
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'axlsx.rb'
|
3
|
+
|
4
|
+
class TestBorder < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
@bpr = Axlsx::Border.new
|
7
|
+
end
|
8
|
+
def teardown
|
9
|
+
end
|
10
|
+
def test_initialiation
|
11
|
+
assert_equal(@bpr.color, nil)
|
12
|
+
assert_equal(@bpr.style, nil)
|
13
|
+
assert_equal(@bpr.name, nil)
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_color
|
17
|
+
assert_raise(ArgumentError) { @bpr.color = :red }
|
18
|
+
assert_nothing_raised { @bpr.color = Axlsx::Color.new :rgb=>"FF000000" }
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_style
|
22
|
+
assert_raise(ArgumentError) { @bpr.style = :red }
|
23
|
+
assert_nothing_raised { @bpr.style = :thin }
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_name
|
27
|
+
assert_raise(ArgumentError) { @bpr.name = :red }
|
28
|
+
assert_nothing_raised { @bpr.name = :top }
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|