axlsx 1.0.7 → 1.0.8
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/README.md +21 -3
- data/doc/Axlsx.html +150 -6
- data/doc/Axlsx/App.html +1 -1
- data/doc/Axlsx/Axis.html +1 -1
- data/doc/Axlsx/Bar3DChart.html +1 -1
- data/doc/Axlsx/BarSeries.html +1 -1
- data/doc/Axlsx/Border.html +1 -1
- data/doc/Axlsx/BorderPr.html +1 -1
- data/doc/Axlsx/CatAxis.html +1 -1
- data/doc/Axlsx/CatAxisData.html +7 -5
- data/doc/Axlsx/Cell.html +1 -1
- data/doc/Axlsx/CellAlignment.html +1 -1
- data/doc/Axlsx/CellProtection.html +1 -1
- data/doc/Axlsx/CellStyle.html +1 -1
- data/doc/Axlsx/Chart.html +16 -16
- data/doc/Axlsx/Color.html +1 -1
- data/doc/Axlsx/ContentType.html +1 -1
- data/doc/Axlsx/Core.html +1 -1
- data/doc/Axlsx/DataTypeValidator.html +1 -1
- data/doc/Axlsx/Default.html +1 -1
- data/doc/Axlsx/Drawing.html +243 -65
- data/doc/Axlsx/Fill.html +1 -1
- data/doc/Axlsx/Font.html +1 -1
- data/doc/Axlsx/GradientFill.html +1 -1
- data/doc/Axlsx/GradientStop.html +1 -1
- data/doc/Axlsx/GraphicFrame.html +21 -21
- data/doc/Axlsx/Line3DChart.html +1 -1
- data/doc/Axlsx/LineSeries.html +6 -8
- data/doc/Axlsx/Marker.html +1 -1
- data/doc/Axlsx/NumFmt.html +1 -1
- data/doc/Axlsx/OneCellAnchor.html +988 -0
- data/doc/Axlsx/Override.html +1 -1
- data/doc/Axlsx/Package.html +127 -75
- data/doc/Axlsx/PatternFill.html +1 -1
- data/doc/Axlsx/Pic.html +1532 -0
- data/doc/Axlsx/Pie3DChart.html +5 -7
- data/doc/Axlsx/PieSeries.html +1 -1
- data/doc/Axlsx/RegexValidator.html +1 -1
- data/doc/Axlsx/Relationship.html +6 -6
- data/doc/Axlsx/Relationships.html +1 -1
- data/doc/Axlsx/RestrictionValidator.html +1 -1
- data/doc/Axlsx/Row.html +1 -1
- data/doc/Axlsx/Scaling.html +1 -1
- data/doc/Axlsx/SerAxis.html +1 -1
- data/doc/Axlsx/Series.html +1 -1
- data/doc/Axlsx/SeriesTitle.html +1 -1
- data/doc/Axlsx/SimpleTypedList.html +1 -1
- data/doc/Axlsx/Styles.html +1 -1
- data/doc/Axlsx/TableStyle.html +1 -1
- data/doc/Axlsx/TableStyleElement.html +1 -1
- data/doc/Axlsx/TableStyles.html +1 -1
- data/doc/Axlsx/Title.html +1 -1
- data/doc/Axlsx/TwoCellAnchor.html +165 -61
- data/doc/Axlsx/ValAxis.html +1 -1
- data/doc/Axlsx/ValAxisData.html +1 -1
- data/doc/Axlsx/View3D.html +1 -1
- data/doc/Axlsx/Workbook.html +151 -47
- data/doc/Axlsx/Worksheet.html +172 -35
- data/doc/Axlsx/Xf.html +1 -1
- data/doc/_index.html +15 -1
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +29 -4
- data/doc/index.html +29 -4
- data/doc/method_list.html +571 -363
- data/doc/top-level-namespace.html +1 -1
- data/examples/example.rb +13 -0
- data/examples/image1.gif +0 -0
- data/examples/image1.jpeg +0 -0
- data/examples/image1.jpg +0 -0
- data/examples/image1.png +0 -0
- data/lib/axlsx/drawing/bar_series.rb +0 -1
- data/lib/axlsx/drawing/cat_axis_data.rb +1 -0
- data/lib/axlsx/drawing/chart.rb +0 -1
- data/lib/axlsx/drawing/drawing.rb +31 -7
- data/lib/axlsx/drawing/graphic_frame.rb +0 -2
- data/lib/axlsx/drawing/line_series.rb +0 -1
- data/lib/axlsx/drawing/one_cell_anchor.rb +89 -0
- data/lib/axlsx/drawing/pic.rb +158 -0
- data/lib/axlsx/drawing/pie_3D_chart.rb +0 -1
- data/lib/axlsx/drawing/two_cell_anchor.rb +17 -4
- data/lib/axlsx/package.rb +31 -5
- data/lib/axlsx/rels/relationship.rb +1 -2
- data/lib/axlsx/util/constants.rb +24 -0
- data/lib/axlsx/util/validators.rb +2 -2
- data/lib/axlsx/version.rb +1 -1
- data/lib/axlsx/workbook/workbook.rb +8 -0
- data/lib/axlsx/workbook/worksheet/worksheet.rb +10 -1
- data/test/drawing/tc_drawing.rb +10 -1
- data/test/drawing/tc_one_cell_anchor.rb +67 -0
- data/test/drawing/tc_pic.rb +71 -0
- data/test/tc_package.rb +0 -2
- metadata +13 -118
- data/examples/#example.rb# +0 -87
- data/examples/example.rb~ +0 -79
- data/examples/multi_chart.xlsx +0 -0
- data/lib/axlsx.rb~ +0 -67
- data/lib/axlsx/content_type/content_type.rb~ +0 -20
- data/lib/axlsx/content_type/default.rb~ +0 -32
- data/lib/axlsx/content_type/override.rb~ +0 -30
- data/lib/axlsx/doc_props/app.rb~ +0 -127
- data/lib/axlsx/doc_props/core.rb~ +0 -25
- data/lib/axlsx/drawing/#bar_series.rb# +0 -62
- data/lib/axlsx/drawing/axis.rb~ +0 -0
- data/lib/axlsx/drawing/bar_3D_chart.rb~ +0 -64
- data/lib/axlsx/drawing/bar_series.rb~ +0 -92
- data/lib/axlsx/drawing/cat_axis.rb~ +0 -32
- data/lib/axlsx/drawing/cat_axis_data.rb~ +0 -28
- data/lib/axlsx/drawing/chart.rb~ +0 -0
- data/lib/axlsx/drawing/drawing.rb~ +0 -102
- data/lib/axlsx/drawing/graphic_frame.rb~ +0 -40
- data/lib/axlsx/drawing/line_3D_chart.rb~ +0 -138
- data/lib/axlsx/drawing/line_series.rb~ +0 -91
- data/lib/axlsx/drawing/marker.rb~ +0 -50
- data/lib/axlsx/drawing/pie_3D_chart.rb~ +0 -132
- data/lib/axlsx/drawing/pie_series.rb~ +0 -0
- data/lib/axlsx/drawing/scaling.rb~ +0 -0
- data/lib/axlsx/drawing/ser_axis.rb~ +0 -48
- data/lib/axlsx/drawing/series.rb~ +0 -114
- data/lib/axlsx/drawing/series_title.rb~ +0 -18
- data/lib/axlsx/drawing/title.rb~ +0 -69
- data/lib/axlsx/drawing/two_cell_anchor.rb~ +0 -70
- data/lib/axlsx/drawing/val_axis.rb~ +0 -34
- data/lib/axlsx/drawing/val_axis_data.rb~ +0 -29
- data/lib/axlsx/drawing/view_3D.rb~ +0 -21
- data/lib/axlsx/package.rb~ +0 -181
- data/lib/axlsx/rels/relationship.rb~ +0 -18
- data/lib/axlsx/rels/relationships.rb~ +0 -23
- data/lib/axlsx/stylesheet/border.rb~ +0 -24
- data/lib/axlsx/stylesheet/border_pr.rb~ +0 -64
- data/lib/axlsx/stylesheet/cell_alignment.rb~ +0 -93
- data/lib/axlsx/stylesheet/cell_protection.rb~ +0 -16
- data/lib/axlsx/stylesheet/cell_style.rb~ +0 -61
- data/lib/axlsx/stylesheet/color.rb~ +0 -56
- data/lib/axlsx/stylesheet/fill.rb~ +0 -31
- data/lib/axlsx/stylesheet/font.rb~ +0 -33
- data/lib/axlsx/stylesheet/gradient_fill.rb~ +0 -70
- data/lib/axlsx/stylesheet/gradient_stop.rb~ +0 -15
- data/lib/axlsx/stylesheet/num_fmt.rb~ +0 -60
- data/lib/axlsx/stylesheet/pattern_fill.rb~ +0 -63
- data/lib/axlsx/stylesheet/styles.rb~ +0 -279
- data/lib/axlsx/stylesheet/table_style.rb~ +0 -43
- data/lib/axlsx/stylesheet/table_style_element.rb~ +0 -66
- data/lib/axlsx/stylesheet/table_styles.rb~ +0 -36
- data/lib/axlsx/stylesheet/xf.rb~ +0 -37
- data/lib/axlsx/util/constants.rb~ +0 -187
- data/lib/axlsx/util/monkey_patches_for_true_zip_stream.rb~ +0 -61
- data/lib/axlsx/util/simple_typed_list.rb~ +0 -79
- data/lib/axlsx/util/validators.rb~ +0 -132
- data/lib/axlsx/util/xml_escape.rb~ +0 -6
- data/lib/axlsx/workbook/workbook.rb~ +0 -130
- data/lib/axlsx/workbook/worksheet/cell.rb~ +0 -185
- data/lib/axlsx/workbook/worksheet/row.rb~ +0 -92
- data/lib/axlsx/workbook/worksheet/worksheet.rb~ +0 -194
- data/test/content_type/tc_content_type.rb~ +0 -81
- data/test/content_type/tc_default.rb~ +0 -40
- data/test/content_type/tc_override.rb~ +0 -40
- data/test/doc_props/tc_app.rb~ +0 -19
- data/test/drawing/tc_axis.rb~ +0 -0
- data/test/drawing/tc_bar_3D_chart.rb~ +0 -66
- data/test/drawing/tc_bar_series.rb~ +0 -31
- data/test/drawing/tc_cat_axis.rb~ +0 -39
- data/test/drawing/tc_cat_axis_data.rb~ +0 -32
- data/test/drawing/tc_chart.rb~ +0 -59
- data/test/drawing/tc_graphic_frame.rb~ +0 -21
- data/test/drawing/tc_line_3d_chart.rb~ +0 -48
- data/test/drawing/tc_line_series.rb~ +0 -34
- data/test/drawing/tc_marker.rb~ +0 -26
- data/test/drawing/tc_pie_3D_chart.rb~ +0 -33
- data/test/drawing/tc_pie_series.rb~ +0 -26
- data/test/drawing/tc_scaling.rb~ +0 -45
- data/test/drawing/tc_ser_axis.rb~ +0 -20
- data/test/drawing/tc_series.rb~ +0 -31
- data/test/drawing/tc_series_title.rb~ +0 -34
- data/test/drawing/tc_title.rb~ +0 -34
- data/test/drawing/tc_two_cell_anchor.rb~ +0 -37
- data/test/drawing/tc_val_axis.rb~ +0 -32
- data/test/drawing/tc_val_axis_data.rb~ +0 -18
- data/test/drawing/tc_view_3D.rb~ +0 -37
- data/test/rels/tc_relationship.rb~ +0 -39
- data/test/rels/tc_relationships.rb~ +0 -37
- data/test/stylesheet/tc_border.rb~ +0 -31
- data/test/stylesheet/tc_border_pr.rb~ +0 -31
- data/test/stylesheet/tc_cell_alignment.rb~ +0 -38
- data/test/stylesheet/tc_cell_protection.rb~ +0 -77
- data/test/stylesheet/tc_cell_style.rb~ +0 -30
- data/test/stylesheet/tc_color.rb~ +0 -38
- data/test/stylesheet/tc_fill.rb~ +0 -19
- data/test/stylesheet/tc_font.rb~ +0 -19
- data/test/stylesheet/tc_gradient_fill.rb~ +0 -114
- data/test/stylesheet/tc_gradient_stop.rb~ +0 -65
- data/test/stylesheet/tc_num_fmt.rb~ +0 -32
- data/test/stylesheet/tc_pattern_fill.rb~ +0 -31
- data/test/stylesheet/tc_table_style.rb~ +0 -38
- data/test/stylesheet/tc_table_style_element.rb~ +0 -37
- data/test/stylesheet/tc_table_styles.rb~ +0 -37
- data/test/stylesheet/tc_xf.rb~ +0 -30
- data/test/tc_app.rb~ +0 -19
- data/test/tc_border_pr.rb~ +0 -21
- data/test/tc_package.rb~ +0 -64
- data/test/tc_pie_3D_chart.rb~ +0 -66
- data/test/tc_relationships.rb~ +0 -37
- data/test/tc_series.rb~ +0 -31
- data/test/tc_styles.rb~ +0 -64
- data/test/tc_validators.rb~ +0 -77
- data/test/tc_worksheet.rb~ +0 -85
- data/test/workbook/worksheet/tc_row.rb~ +0 -30
- data/test/workbook/worksheet/tc_worksheet.rb~ +0 -85
data/test/doc_props/tc_app.rb~
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
require 'test/unit'
|
|
2
|
-
require 'axlsx.rb'
|
|
3
|
-
|
|
4
|
-
class TestApp < Test::Unit::TestCase
|
|
5
|
-
def setup
|
|
6
|
-
end
|
|
7
|
-
def teardown
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def test_valid_document
|
|
11
|
-
schema = Nokogiri::XML::Schema(File.open(Axlsx::APP_XSD))
|
|
12
|
-
doc = Nokogiri::XML(Axlsx::App.new.to_xml)
|
|
13
|
-
errors = []
|
|
14
|
-
schema.validate(doc).each do |error|
|
|
15
|
-
errors << error
|
|
16
|
-
end
|
|
17
|
-
assert_equal(errors.size, 0, "app.xml invalid" + errors.map{ |e| e.message }.to_s)
|
|
18
|
-
end
|
|
19
|
-
end
|
data/test/drawing/tc_axis.rb~
DELETED
|
File without changes
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
require 'test/unit'
|
|
2
|
-
require 'axlsx.rb'
|
|
3
|
-
|
|
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
|
|
@@ -1,31 +0,0 @@
|
|
|
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::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
|
-
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
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
require 'test/unit'
|
|
2
|
-
require 'axlsx.rb'
|
|
3
|
-
|
|
4
|
-
class TestAxis < Test::Unit::TestCase
|
|
5
|
-
def setup
|
|
6
|
-
@axis = Axlsx::Axis.new 12345, 54321
|
|
7
|
-
end
|
|
8
|
-
def teardown
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def test_initialization
|
|
12
|
-
assert_equal(@axis.axPos, :l, "axis position default incorrect")
|
|
13
|
-
assert_equal(@axis.tickLblPos, :nextTo, "tick label position default incorrect")
|
|
14
|
-
assert_equal(@axis.tickLblPos, :nextTo, "tick label position default incorrect")
|
|
15
|
-
assert_equal(@axis.crosses, :autoZero, "tick label position default incorrect")
|
|
16
|
-
assert(@axis.scaling.is_a?(Axlsx::Scaling) && @axis.scaling.orientation == :minMax, "scaling default incorrect")
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def test_axis_position
|
|
20
|
-
assert_raise(ArgumentError, "requires valid axis position") { @axis.axPos = :nowhere }
|
|
21
|
-
assert_nothing_raised("accepts valid axis position") { @axis.axPos = :r }
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def test_tick_label_position
|
|
25
|
-
assert_raise(ArgumentError, "requires valid tick label position") { @axis.tickLblPos = :nowhere }
|
|
26
|
-
assert_nothing_raised("accepts valid tick label position") { @axis.tickLblPos = :high }
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def test_format_code
|
|
30
|
-
assert_raise(ArgumentError, "requires valid format code") { @axis.format_code = 1 }
|
|
31
|
-
assert_nothing_raised("accepts valid format code") { @axis.tickLblPos = :high }
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def test_crosses
|
|
35
|
-
assert_raise(ArgumentError, "requires valid crosses") { @axis.crosses = 1 }
|
|
36
|
-
assert_nothing_raised("accepts valid crosses") { @axis.crosses = :min }
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
end
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
require 'test/unit'
|
|
2
|
-
require 'axlsx.rb'
|
|
3
|
-
|
|
4
|
-
class TestCatAxisData < 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(@series.data.is_a?Axlsx::SimpleTypedList)
|
|
15
|
-
assert_equal(@series.data, [0,1,2], "data option applied")
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def test_data
|
|
19
|
-
assert_equal(@series.data, [0,1,2])
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def test_labels
|
|
23
|
-
assert_equal(@series.labels, ["zero", "one", "two"])
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def test_shape
|
|
27
|
-
assert_raise(ArgumentError, "require valid shape") { @series.shape = :teardropt }
|
|
28
|
-
assert_nothing_raised("allow valid shape") { @series.shape = :cone }
|
|
29
|
-
assert(@series.shape == :cone)
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
end
|
data/test/drawing/tc_chart.rb~
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
require 'test/unit'
|
|
2
|
-
require 'axlsx.rb'
|
|
3
|
-
|
|
4
|
-
class TestChart < 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(@p.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
|
-
|
|
32
|
-
def test_add_series
|
|
33
|
-
s = @chart.add_series :data=>[0,1,2,3], :labels => ["one", 1, "anything"], :title=>"bob"
|
|
34
|
-
assert_equal(@chart.series.last, s, "series has been added to chart series collection")
|
|
35
|
-
assert_equal(s.title, "bob", "series title has been applied")
|
|
36
|
-
assert_equal(s.data, [0,1,2,3], "data option applied")
|
|
37
|
-
assert_equal(s.labels, ["one",1,"anything"], "labels option applied")
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def test_create_range
|
|
41
|
-
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
def test_pn
|
|
45
|
-
assert_equal(@chart.pn, "charts/chart1.xml")
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
def test_to_xml
|
|
49
|
-
schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
|
|
50
|
-
doc = Nokogiri::XML(@chart.to_xml)
|
|
51
|
-
errors = []
|
|
52
|
-
schema.validate(doc).each do |error|
|
|
53
|
-
errors.push error
|
|
54
|
-
puts error.message
|
|
55
|
-
end
|
|
56
|
-
assert(errors.empty?, "error free validation")
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
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
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
require 'test/unit'
|
|
2
|
-
require 'axlsx.rb'
|
|
3
|
-
|
|
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 ["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::LineSeries, "series type incorrect")
|
|
19
|
-
assert(@chart.catAxis.is_a?(Axlsx::CatAxis), "category axis not created")
|
|
20
|
-
assert(@chart.valAxis.is_a?(Axlsx::ValAxis), "value access not created")
|
|
21
|
-
assert(@chart.serAxis.is_a?(Axlsx::ValAxis), "value access not created")
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def test_grouping
|
|
25
|
-
assert_raise(ArgumentError, "require valid grouping") { @chart.grouping = :inverted }
|
|
26
|
-
assert_nothing_raised("allow valid grouping") { @chart.grouping = :standard }
|
|
27
|
-
assert(@chart.grouping == :standard)
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def test_gapDepth
|
|
31
|
-
assert_raise(ArgumentError, "require valid gapDepth") { @chart.gapDepth = 200 }
|
|
32
|
-
assert_nothing_raised("allow valid gapDepth") { @chart.gapDepth = "200%" }
|
|
33
|
-
assert(@chart.gapDepth == "200%")
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
def test_to_xml
|
|
38
|
-
schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
|
|
39
|
-
doc = Nokogiri::XML(@chart.to_xml)
|
|
40
|
-
errors = []
|
|
41
|
-
schema.validate(doc).each do |error|
|
|
42
|
-
errors.push error
|
|
43
|
-
puts error.message
|
|
44
|
-
end
|
|
45
|
-
assert(errors.empty?, "error free validation")
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
end
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
require 'test/unit'
|
|
2
|
-
require 'axlsx.rb'
|
|
3
|
-
|
|
4
|
-
class TestLineSeries < 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::Line3DChart, :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.text, "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_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
|
-
end
|
|
27
|
-
|
|
28
|
-
def test_shape
|
|
29
|
-
assert_raise(ArgumentError, "require valid shape") { @series.shape = :teardropt }
|
|
30
|
-
assert_nothing_raised("allow valid shape") { @series.shape = :cone }
|
|
31
|
-
assert(@series.shape == :cone)
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
end
|
data/test/drawing/tc_marker.rb~
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
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
|
|
@@ -1,33 +0,0 @@
|
|
|
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
|
|
@@ -1,26 +0,0 @@
|
|
|
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
|