caxlsx 3.1.1 → 3.2.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.
- checksums.yaml +4 -4
- data/.yardopts +9 -9
- data/.yardopts_guide +18 -18
- data/CHANGELOG.md +354 -343
- data/LICENSE +21 -21
- data/README.md +168 -172
- data/Rakefile +29 -29
- data/examples/generate.rb +15 -15
- data/lib/axlsx/content_type/abstract_content_type.rb +32 -32
- data/lib/axlsx/content_type/content_type.rb +26 -26
- data/lib/axlsx/content_type/default.rb +25 -25
- data/lib/axlsx/content_type/override.rb +25 -25
- data/lib/axlsx/doc_props/app.rb +235 -235
- data/lib/axlsx/doc_props/core.rb +39 -39
- data/lib/axlsx/drawing/area_chart.rb +99 -99
- data/lib/axlsx/drawing/area_series.rb +110 -110
- data/lib/axlsx/drawing/ax_data_source.rb +26 -26
- data/lib/axlsx/drawing/axes.rb +61 -61
- data/lib/axlsx/drawing/axis.rb +190 -190
- data/lib/axlsx/drawing/bar_3D_chart.rb +148 -148
- data/lib/axlsx/drawing/bar_chart.rb +138 -138
- data/lib/axlsx/drawing/bar_series.rb +97 -97
- data/lib/axlsx/drawing/bubble_chart.rb +59 -59
- data/lib/axlsx/drawing/bubble_series.rb +63 -63
- data/lib/axlsx/drawing/cat_axis.rb +85 -85
- data/lib/axlsx/drawing/chart.rb +276 -276
- data/lib/axlsx/drawing/d_lbls.rb +90 -90
- data/lib/axlsx/drawing/drawing.rb +167 -167
- data/lib/axlsx/drawing/graphic_frame.rb +54 -54
- data/lib/axlsx/drawing/hyperlink.rb +100 -100
- data/lib/axlsx/drawing/line_3D_chart.rb +68 -68
- data/lib/axlsx/drawing/line_chart.rb +99 -99
- data/lib/axlsx/drawing/line_series.rb +110 -110
- data/lib/axlsx/drawing/marker.rb +84 -84
- data/lib/axlsx/drawing/num_data.rb +52 -52
- data/lib/axlsx/drawing/num_data_source.rb +62 -62
- data/lib/axlsx/drawing/num_val.rb +34 -34
- data/lib/axlsx/drawing/one_cell_anchor.rb +99 -99
- data/lib/axlsx/drawing/pic.rb +211 -211
- data/lib/axlsx/drawing/picture_locking.rb +42 -42
- data/lib/axlsx/drawing/pie_3D_chart.rb +47 -47
- data/lib/axlsx/drawing/pie_series.rb +74 -74
- data/lib/axlsx/drawing/scaling.rb +60 -60
- data/lib/axlsx/drawing/scatter_chart.rb +74 -74
- data/lib/axlsx/drawing/scatter_series.rb +129 -98
- data/lib/axlsx/drawing/ser_axis.rb +45 -45
- data/lib/axlsx/drawing/series.rb +69 -69
- data/lib/axlsx/drawing/series_title.rb +25 -25
- data/lib/axlsx/drawing/str_data.rb +42 -42
- data/lib/axlsx/drawing/str_val.rb +34 -34
- data/lib/axlsx/drawing/title.rb +97 -97
- data/lib/axlsx/drawing/two_cell_anchor.rb +97 -97
- data/lib/axlsx/drawing/val_axis.rb +37 -37
- data/lib/axlsx/drawing/view_3D.rb +115 -115
- data/lib/axlsx/drawing/vml_drawing.rb +42 -42
- data/lib/axlsx/drawing/vml_shape.rb +66 -66
- data/lib/axlsx/package.rb +388 -388
- data/lib/axlsx/rels/relationship.rb +130 -130
- data/lib/axlsx/rels/relationships.rb +32 -32
- data/lib/axlsx/stylesheet/border.rb +73 -71
- data/lib/axlsx/stylesheet/border_pr.rb +71 -71
- data/lib/axlsx/stylesheet/cell_alignment.rb +132 -132
- data/lib/axlsx/stylesheet/cell_protection.rb +41 -41
- data/lib/axlsx/stylesheet/cell_style.rb +72 -72
- data/lib/axlsx/stylesheet/color.rb +76 -76
- data/lib/axlsx/stylesheet/dxf.rb +79 -79
- data/lib/axlsx/stylesheet/fill.rb +35 -35
- data/lib/axlsx/stylesheet/font.rb +156 -156
- data/lib/axlsx/stylesheet/gradient_fill.rb +103 -103
- data/lib/axlsx/stylesheet/gradient_stop.rb +37 -37
- data/lib/axlsx/stylesheet/num_fmt.rb +86 -86
- data/lib/axlsx/stylesheet/pattern_fill.rb +73 -73
- data/lib/axlsx/stylesheet/styles.rb +494 -420
- data/lib/axlsx/stylesheet/table_style.rb +54 -54
- data/lib/axlsx/stylesheet/table_style_element.rb +77 -77
- data/lib/axlsx/stylesheet/table_styles.rb +46 -46
- data/lib/axlsx/stylesheet/xf.rb +147 -147
- data/lib/axlsx/util/accessors.rb +64 -64
- data/lib/axlsx/util/constants.rb +410 -401
- data/lib/axlsx/util/mime_type_utils.rb +11 -11
- data/lib/axlsx/util/options_parser.rb +16 -16
- data/lib/axlsx/util/serialized_attributes.rb +89 -89
- data/lib/axlsx/util/simple_typed_list.rb +179 -179
- data/lib/axlsx/util/storage.rb +146 -146
- data/lib/axlsx/util/validators.rb +312 -312
- data/lib/axlsx/util/zip_command.rb +73 -73
- data/lib/axlsx/version.rb +5 -5
- data/lib/axlsx/workbook/defined_name.rb +128 -128
- data/lib/axlsx/workbook/defined_names.rb +21 -21
- data/lib/axlsx/workbook/shared_strings_table.rb +77 -77
- data/lib/axlsx/workbook/workbook.rb +395 -370
- data/lib/axlsx/workbook/workbook_view.rb +80 -80
- data/lib/axlsx/workbook/workbook_views.rb +22 -22
- data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +77 -77
- data/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb +94 -94
- data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +244 -244
- data/lib/axlsx/workbook/worksheet/break.rb +35 -35
- data/lib/axlsx/workbook/worksheet/cell.rb +506 -505
- data/lib/axlsx/workbook/worksheet/cell_serializer.rb +164 -164
- data/lib/axlsx/workbook/worksheet/cfvo.rb +60 -60
- data/lib/axlsx/workbook/worksheet/cfvos.rb +18 -18
- data/lib/axlsx/workbook/worksheet/col.rb +145 -145
- data/lib/axlsx/workbook/worksheet/col_breaks.rb +35 -35
- data/lib/axlsx/workbook/worksheet/color_scale.rb +110 -110
- data/lib/axlsx/workbook/worksheet/cols.rb +23 -23
- data/lib/axlsx/workbook/worksheet/comment.rb +91 -91
- data/lib/axlsx/workbook/worksheet/comments.rb +82 -82
- data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +82 -82
- data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +220 -220
- data/lib/axlsx/workbook/worksheet/conditional_formattings.rb +25 -25
- data/lib/axlsx/workbook/worksheet/data_bar.rb +129 -129
- data/lib/axlsx/workbook/worksheet/data_validation.rb +246 -246
- data/lib/axlsx/workbook/worksheet/data_validations.rb +28 -28
- data/lib/axlsx/workbook/worksheet/date_time_converter.rb +30 -30
- data/lib/axlsx/workbook/worksheet/dimension.rb +64 -64
- data/lib/axlsx/workbook/worksheet/header_footer.rb +52 -52
- data/lib/axlsx/workbook/worksheet/icon_set.rb +81 -81
- data/lib/axlsx/workbook/worksheet/merged_cells.rb +37 -37
- data/lib/axlsx/workbook/worksheet/outline_pr.rb +33 -33
- data/lib/axlsx/workbook/worksheet/page_margins.rb +97 -97
- data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +44 -44
- data/lib/axlsx/workbook/worksheet/page_setup.rb +240 -240
- data/lib/axlsx/workbook/worksheet/pane.rb +139 -139
- data/lib/axlsx/workbook/worksheet/pivot_table.rb +296 -294
- data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +66 -66
- data/lib/axlsx/workbook/worksheet/pivot_tables.rb +24 -24
- data/lib/axlsx/workbook/worksheet/print_options.rb +39 -39
- data/lib/axlsx/workbook/worksheet/protected_range.rb +47 -47
- data/lib/axlsx/workbook/worksheet/protected_ranges.rb +37 -37
- data/lib/axlsx/workbook/worksheet/rich_text.rb +55 -55
- data/lib/axlsx/workbook/worksheet/rich_text_run.rb +250 -250
- data/lib/axlsx/workbook/worksheet/row.rb +164 -164
- data/lib/axlsx/workbook/worksheet/row_breaks.rb +33 -33
- data/lib/axlsx/workbook/worksheet/selection.rb +101 -101
- data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +29 -29
- data/lib/axlsx/workbook/worksheet/sheet_data.rb +27 -27
- data/lib/axlsx/workbook/worksheet/sheet_pr.rb +87 -87
- data/lib/axlsx/workbook/worksheet/sheet_protection.rb +118 -118
- data/lib/axlsx/workbook/worksheet/sheet_view.rb +213 -213
- data/lib/axlsx/workbook/worksheet/table.rb +102 -102
- data/lib/axlsx/workbook/worksheet/table_style_info.rb +49 -49
- data/lib/axlsx/workbook/worksheet/tables.rb +34 -34
- data/lib/axlsx/workbook/worksheet/worksheet.rb +786 -768
- data/lib/axlsx/workbook/worksheet/worksheet_comments.rb +58 -58
- data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +58 -58
- data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +74 -74
- data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -38
- data/lib/axlsx.rb +185 -171
- data/lib/caxlsx.rb +2 -2
- data/lib/schema/dc.xsd +118 -118
- data/lib/schema/dcmitype.xsd +51 -51
- data/lib/schema/dcterms.xsd +331 -331
- data/lib/schema/dml-chartDrawing.xsd +146 -146
- data/lib/schema/dml-compatibility.xsd +14 -14
- data/lib/schema/dml-lockedCanvas.xsd +11 -11
- data/lib/schema/dml-main.xsd +3048 -3048
- data/lib/schema/dml-picture.xsd +23 -23
- data/lib/schema/dml-spreadsheetDrawing.xsd +185 -185
- data/lib/schema/dml-wordprocessingDrawing.xsd +185 -185
- data/lib/schema/shared-additionalCharacteristics.xsd +28 -28
- data/lib/schema/shared-bibliography.xsd +144 -144
- data/lib/schema/shared-commonSimpleTypes.xsd +166 -166
- data/lib/schema/shared-customXmlDataProperties.xsd +25 -25
- data/lib/schema/shared-customXmlSchemaProperties.xsd +18 -18
- data/lib/schema/shared-documentPropertiesCustom.xsd +59 -59
- data/lib/schema/shared-documentPropertiesExtended.xsd +56 -56
- data/lib/schema/shared-documentPropertiesVariantTypes.xsd +195 -195
- data/lib/schema/shared-relationshipReference.xsd +25 -25
- data/lib/schema/vml-main.xsd +569 -569
- data/lib/schema/vml-officeDrawing.xsd +509 -509
- data/lib/schema/vml-presentationDrawing.xsd +12 -12
- data/lib/schema/vml-spreadsheetDrawing.xsd +108 -108
- data/lib/schema/vml-wordprocessingDrawing.xsd +96 -96
- data/lib/schema/xml.xsd +116 -116
- data/test/benchmark.rb +72 -72
- data/test/content_type/tc_content_type.rb +76 -76
- data/test/content_type/tc_default.rb +16 -16
- data/test/content_type/tc_override.rb +14 -14
- data/test/doc_props/tc_app.rb +43 -43
- data/test/doc_props/tc_core.rb +42 -42
- data/test/drawing/tc_area_chart.rb +39 -39
- data/test/drawing/tc_area_series.rb +71 -71
- data/test/drawing/tc_axes.rb +7 -7
- data/test/drawing/tc_axis.rb +112 -112
- data/test/drawing/tc_bar_3D_chart.rb +86 -86
- data/test/drawing/tc_bar_chart.rb +86 -86
- data/test/drawing/tc_bar_series.rb +46 -46
- data/test/drawing/tc_bubble_chart.rb +44 -44
- data/test/drawing/tc_bubble_series.rb +21 -21
- data/test/drawing/tc_cat_axis.rb +31 -31
- data/test/drawing/tc_cat_axis_data.rb +27 -27
- data/test/drawing/tc_chart.rb +123 -123
- data/test/drawing/tc_d_lbls.rb +57 -57
- data/test/drawing/tc_data_source.rb +23 -23
- data/test/drawing/tc_drawing.rb +80 -80
- data/test/drawing/tc_graphic_frame.rb +27 -27
- data/test/drawing/tc_hyperlink.rb +64 -64
- data/test/drawing/tc_line_3d_chart.rb +47 -47
- data/test/drawing/tc_line_chart.rb +39 -39
- data/test/drawing/tc_line_series.rb +71 -71
- data/test/drawing/tc_marker.rb +44 -44
- data/test/drawing/tc_named_axis_data.rb +27 -27
- data/test/drawing/tc_num_data.rb +31 -31
- data/test/drawing/tc_num_val.rb +29 -29
- data/test/drawing/tc_one_cell_anchor.rb +66 -66
- data/test/drawing/tc_pic.rb +103 -103
- data/test/drawing/tc_picture_locking.rb +72 -72
- data/test/drawing/tc_pie_3D_chart.rb +28 -28
- data/test/drawing/tc_pie_series.rb +33 -33
- data/test/drawing/tc_scaling.rb +36 -36
- data/test/drawing/tc_scatter_chart.rb +48 -48
- data/test/drawing/tc_scatter_series.rb +74 -56
- data/test/drawing/tc_ser_axis.rb +31 -31
- data/test/drawing/tc_series.rb +23 -23
- data/test/drawing/tc_series_title.rb +54 -54
- data/test/drawing/tc_str_data.rb +18 -18
- data/test/drawing/tc_str_val.rb +30 -30
- data/test/drawing/tc_title.rb +70 -70
- data/test/drawing/tc_two_cell_anchor.rb +36 -36
- data/test/drawing/tc_val_axis.rb +24 -24
- data/test/drawing/tc_view_3D.rb +54 -54
- data/test/drawing/tc_vml_drawing.rb +25 -25
- data/test/drawing/tc_vml_shape.rb +106 -106
- data/test/profile.rb +24 -24
- data/test/rels/tc_relationship.rb +52 -52
- data/test/rels/tc_relationships.rb +37 -37
- data/test/stylesheet/tc_border.rb +37 -37
- data/test/stylesheet/tc_border_pr.rb +32 -32
- data/test/stylesheet/tc_cell_alignment.rb +81 -81
- data/test/stylesheet/tc_cell_protection.rb +29 -29
- data/test/stylesheet/tc_cell_style.rb +57 -57
- data/test/stylesheet/tc_color.rb +43 -43
- data/test/stylesheet/tc_dxf.rb +81 -81
- data/test/stylesheet/tc_fill.rb +18 -18
- data/test/stylesheet/tc_font.rb +133 -133
- data/test/stylesheet/tc_gradient_fill.rb +72 -72
- data/test/stylesheet/tc_gradient_stop.rb +31 -31
- data/test/stylesheet/tc_num_fmt.rb +30 -30
- data/test/stylesheet/tc_pattern_fill.rb +43 -43
- data/test/stylesheet/tc_styles.rb +309 -261
- data/test/stylesheet/tc_table_style.rb +44 -44
- data/test/stylesheet/tc_table_style_element.rb +45 -45
- data/test/stylesheet/tc_table_styles.rb +29 -29
- data/test/stylesheet/tc_xf.rb +120 -120
- data/test/tc_axlsx.rb +109 -109
- data/test/tc_helper.rb +10 -10
- data/test/tc_package.rb +317 -314
- data/test/util/tc_mime_type_utils.rb +13 -13
- data/test/util/tc_serialized_attributes.rb +19 -19
- data/test/util/tc_simple_typed_list.rb +77 -77
- data/test/util/tc_validators.rb +210 -210
- data/test/workbook/tc_defined_name.rb +49 -49
- data/test/workbook/tc_shared_strings_table.rb +59 -59
- data/test/workbook/tc_workbook.rb +165 -160
- data/test/workbook/tc_workbook_view.rb +50 -50
- data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +38 -38
- data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +76 -76
- data/test/workbook/worksheet/auto_filter/tc_filters.rb +50 -50
- data/test/workbook/worksheet/tc_break.rb +49 -49
- data/test/workbook/worksheet/tc_cell.rb +465 -453
- data/test/workbook/worksheet/tc_cfvo.rb +31 -31
- data/test/workbook/worksheet/tc_col.rb +93 -93
- data/test/workbook/worksheet/tc_color_scale.rb +58 -58
- data/test/workbook/worksheet/tc_comment.rb +72 -72
- data/test/workbook/worksheet/tc_comments.rb +57 -57
- data/test/workbook/worksheet/tc_conditional_formatting.rb +224 -224
- data/test/workbook/worksheet/tc_data_bar.rb +46 -46
- data/test/workbook/worksheet/tc_data_validation.rb +265 -265
- data/test/workbook/worksheet/tc_date_time_converter.rb +124 -124
- data/test/workbook/worksheet/tc_header_footer.rb +151 -151
- data/test/workbook/worksheet/tc_icon_set.rb +45 -45
- data/test/workbook/worksheet/tc_outline_pr.rb +19 -19
- data/test/workbook/worksheet/tc_page_margins.rb +97 -97
- data/test/workbook/worksheet/tc_page_set_up_pr.rb +15 -15
- data/test/workbook/worksheet/tc_page_setup.rb +143 -143
- data/test/workbook/worksheet/tc_pane.rb +54 -54
- data/test/workbook/worksheet/tc_pivot_table.rb +180 -143
- data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +62 -62
- data/test/workbook/worksheet/tc_print_options.rb +72 -72
- data/test/workbook/worksheet/tc_protected_range.rb +17 -17
- data/test/workbook/worksheet/tc_rich_text.rb +44 -44
- data/test/workbook/worksheet/tc_rich_text_run.rb +173 -173
- data/test/workbook/worksheet/tc_row.rb +160 -160
- data/test/workbook/worksheet/tc_selection.rb +55 -55
- data/test/workbook/worksheet/tc_sheet_calc_pr.rb +18 -18
- data/test/workbook/worksheet/tc_sheet_format_pr.rb +88 -88
- data/test/workbook/worksheet/tc_sheet_pr.rb +49 -49
- data/test/workbook/worksheet/tc_sheet_protection.rb +117 -117
- data/test/workbook/worksheet/tc_sheet_view.rb +214 -214
- data/test/workbook/worksheet/tc_table.rb +77 -77
- data/test/workbook/worksheet/tc_table_style_info.rb +53 -53
- data/test/workbook/worksheet/tc_worksheet.rb +632 -601
- data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +55 -55
- metadata +101 -101
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
require 'tc_helper.rb'
|
|
2
|
-
|
|
3
|
-
class TestPieSeries < Test::Unit::TestCase
|
|
4
|
-
|
|
5
|
-
def setup
|
|
6
|
-
p = Axlsx::Package.new
|
|
7
|
-
@ws = p.workbook.add_worksheet :name=>"hmmm"
|
|
8
|
-
chart = @ws.add_chart Axlsx::Pie3DChart, :title => "fishery"
|
|
9
|
-
@series = chart.add_series :data=>[0,1,2], :labels=>["zero", "one", "two"], :title=>"bob", :colors => ["FF0000", "00FF00", "0000FF"]
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def test_initialize
|
|
13
|
-
assert_equal(@series.title.text, "bob", "series title has been applied")
|
|
14
|
-
assert_equal(@series.labels.class, Axlsx::AxDataSource)
|
|
15
|
-
assert_equal(@series.data.class, Axlsx::NumDataSource)
|
|
16
|
-
assert_equal(@series.explosion, nil, "series shape has been applied")
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def test_explosion
|
|
20
|
-
assert_raise(ArgumentError, "require valid explosion") { @series.explosion = :lots }
|
|
21
|
-
assert_nothing_raised("allow valid explosion") { @series.explosion = 20 }
|
|
22
|
-
assert(@series.explosion == 20)
|
|
23
|
-
# issue 58 - explosion caused to_xml_string to fail - now tested
|
|
24
|
-
assert_nothing_raised("allow to_xml_string") { @series.to_xml_string }
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def test_to_xml_string
|
|
28
|
-
doc = Nokogiri::XML(@series.to_xml_string)
|
|
29
|
-
assert(doc.xpath("//srgbClr[@val='#{@series.colors[0]}']"))
|
|
30
|
-
end
|
|
31
|
-
#TODO test unique serialization parts
|
|
32
|
-
|
|
33
|
-
end
|
|
1
|
+
require 'tc_helper.rb'
|
|
2
|
+
|
|
3
|
+
class TestPieSeries < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
p = Axlsx::Package.new
|
|
7
|
+
@ws = p.workbook.add_worksheet :name=>"hmmm"
|
|
8
|
+
chart = @ws.add_chart Axlsx::Pie3DChart, :title => "fishery"
|
|
9
|
+
@series = chart.add_series :data=>[0,1,2], :labels=>["zero", "one", "two"], :title=>"bob", :colors => ["FF0000", "00FF00", "0000FF"]
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_initialize
|
|
13
|
+
assert_equal(@series.title.text, "bob", "series title has been applied")
|
|
14
|
+
assert_equal(@series.labels.class, Axlsx::AxDataSource)
|
|
15
|
+
assert_equal(@series.data.class, Axlsx::NumDataSource)
|
|
16
|
+
assert_equal(@series.explosion, nil, "series shape has been applied")
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def test_explosion
|
|
20
|
+
assert_raise(ArgumentError, "require valid explosion") { @series.explosion = :lots }
|
|
21
|
+
assert_nothing_raised("allow valid explosion") { @series.explosion = 20 }
|
|
22
|
+
assert(@series.explosion == 20)
|
|
23
|
+
# issue 58 - explosion caused to_xml_string to fail - now tested
|
|
24
|
+
assert_nothing_raised("allow to_xml_string") { @series.to_xml_string }
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_to_xml_string
|
|
28
|
+
doc = Nokogiri::XML(@series.to_xml_string)
|
|
29
|
+
assert(doc.xpath("//srgbClr[@val='#{@series.colors[0]}']"))
|
|
30
|
+
end
|
|
31
|
+
#TODO test unique serialization parts
|
|
32
|
+
|
|
33
|
+
end
|
data/test/drawing/tc_scaling.rb
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
require 'tc_helper.rb'
|
|
2
|
-
|
|
3
|
-
class TestScaling < Test::Unit::TestCase
|
|
4
|
-
def setup
|
|
5
|
-
@scaling = Axlsx::Scaling.new
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def teardown
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def test_initialization
|
|
12
|
-
assert(@scaling.orientation == :minMax)
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def test_logBase
|
|
16
|
-
assert_raise(ArgumentError) { @scaling.logBase = 1}
|
|
17
|
-
assert_nothing_raised {@scaling.logBase = 10}
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def test_orientation
|
|
21
|
-
assert_raise(ArgumentError) { @scaling.orientation = "1"}
|
|
22
|
-
assert_nothing_raised {@scaling.orientation = :maxMin}
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
def test_max
|
|
27
|
-
assert_raise(ArgumentError) { @scaling.max = 1}
|
|
28
|
-
assert_nothing_raised {@scaling.max = 10.5}
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def test_min
|
|
32
|
-
assert_raise(ArgumentError) { @scaling.min = 1}
|
|
33
|
-
assert_nothing_raised {@scaling.min = 10.5}
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
end
|
|
1
|
+
require 'tc_helper.rb'
|
|
2
|
+
|
|
3
|
+
class TestScaling < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
@scaling = Axlsx::Scaling.new
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def teardown
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def test_initialization
|
|
12
|
+
assert(@scaling.orientation == :minMax)
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def test_logBase
|
|
16
|
+
assert_raise(ArgumentError) { @scaling.logBase = 1}
|
|
17
|
+
assert_nothing_raised {@scaling.logBase = 10}
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_orientation
|
|
21
|
+
assert_raise(ArgumentError) { @scaling.orientation = "1"}
|
|
22
|
+
assert_nothing_raised {@scaling.orientation = :maxMin}
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def test_max
|
|
27
|
+
assert_raise(ArgumentError) { @scaling.max = 1}
|
|
28
|
+
assert_nothing_raised {@scaling.max = 10.5}
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def test_min
|
|
32
|
+
assert_raise(ArgumentError) { @scaling.min = 1}
|
|
33
|
+
assert_nothing_raised {@scaling.min = 10.5}
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
end
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
require 'tc_helper.rb'
|
|
2
|
-
|
|
3
|
-
class TestScatterChart < Test::Unit::TestCase
|
|
4
|
-
def setup
|
|
5
|
-
@p = Axlsx::Package.new
|
|
6
|
-
@chart = nil
|
|
7
|
-
@p.workbook.add_worksheet do |sheet|
|
|
8
|
-
sheet.add_row ["First", 1, 5, 7, 9]
|
|
9
|
-
sheet.add_row ["", 1, 25, 49, 81]
|
|
10
|
-
sheet.add_row ["Second", 5, 2, 14, 9]
|
|
11
|
-
sheet.add_row ["", 5, 10, 15, 20]
|
|
12
|
-
sheet.add_chart(Axlsx::ScatterChart, :title => "example 7: Scatter Chart") do |chart|
|
|
13
|
-
chart.start_at 0, 4
|
|
14
|
-
chart.end_at 10, 19
|
|
15
|
-
chart.add_series :xData => sheet["B1:E1"], :yData => sheet["B2:E2"], :title => sheet["A1"]
|
|
16
|
-
chart.add_series :xData => sheet["B3:E3"], :yData => sheet["B4:E4"], :title => sheet["A3"]
|
|
17
|
-
@chart = chart
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def teardown
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def test_scatter_style
|
|
26
|
-
@chart.scatterStyle = :marker
|
|
27
|
-
assert(@chart.scatterStyle == :marker)
|
|
28
|
-
assert_raise(ArgumentError) { @chart.scatterStyle = :buckshot }
|
|
29
|
-
end
|
|
30
|
-
def test_initialization
|
|
31
|
-
assert_equal(@chart.scatterStyle, :lineMarker, "scatterStyle defualt incorrect")
|
|
32
|
-
assert_equal(@chart.series_type, Axlsx::ScatterSeries, "series type incorrect")
|
|
33
|
-
assert(@chart.xValAxis.is_a?(Axlsx::ValAxis), "independant value axis not created")
|
|
34
|
-
assert(@chart.yValAxis.is_a?(Axlsx::ValAxis), "dependant value axis not created")
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def test_to_xml_string
|
|
38
|
-
schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
|
|
39
|
-
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
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
|
+
require 'tc_helper.rb'
|
|
2
|
+
|
|
3
|
+
class TestScatterChart < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
@p = Axlsx::Package.new
|
|
6
|
+
@chart = nil
|
|
7
|
+
@p.workbook.add_worksheet do |sheet|
|
|
8
|
+
sheet.add_row ["First", 1, 5, 7, 9]
|
|
9
|
+
sheet.add_row ["", 1, 25, 49, 81]
|
|
10
|
+
sheet.add_row ["Second", 5, 2, 14, 9]
|
|
11
|
+
sheet.add_row ["", 5, 10, 15, 20]
|
|
12
|
+
sheet.add_chart(Axlsx::ScatterChart, :title => "example 7: Scatter Chart") do |chart|
|
|
13
|
+
chart.start_at 0, 4
|
|
14
|
+
chart.end_at 10, 19
|
|
15
|
+
chart.add_series :xData => sheet["B1:E1"], :yData => sheet["B2:E2"], :title => sheet["A1"]
|
|
16
|
+
chart.add_series :xData => sheet["B3:E3"], :yData => sheet["B4:E4"], :title => sheet["A3"]
|
|
17
|
+
@chart = chart
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def teardown
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def test_scatter_style
|
|
26
|
+
@chart.scatterStyle = :marker
|
|
27
|
+
assert(@chart.scatterStyle == :marker)
|
|
28
|
+
assert_raise(ArgumentError) { @chart.scatterStyle = :buckshot }
|
|
29
|
+
end
|
|
30
|
+
def test_initialization
|
|
31
|
+
assert_equal(@chart.scatterStyle, :lineMarker, "scatterStyle defualt incorrect")
|
|
32
|
+
assert_equal(@chart.series_type, Axlsx::ScatterSeries, "series type incorrect")
|
|
33
|
+
assert(@chart.xValAxis.is_a?(Axlsx::ValAxis), "independant value axis not created")
|
|
34
|
+
assert(@chart.yValAxis.is_a?(Axlsx::ValAxis), "dependant value axis not created")
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def test_to_xml_string
|
|
38
|
+
schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
|
|
39
|
+
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
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,56 +1,74 @@
|
|
|
1
|
-
require 'tc_helper.rb'
|
|
2
|
-
|
|
3
|
-
class TestScatterSeries < Test::Unit::TestCase
|
|
4
|
-
|
|
5
|
-
def setup
|
|
6
|
-
p = Axlsx::Package.new
|
|
7
|
-
@ws = p.workbook.add_worksheet :name=>"hmmm"
|
|
8
|
-
@chart = @ws.add_chart Axlsx::ScatterChart, :title => "Scatter Chart"
|
|
9
|
-
@series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :title=>"exponents", :color => 'FF0000', :smooth => true
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def test_initialize
|
|
13
|
-
assert_equal(@series.title.text, "exponents", "series title has been applied")
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def test_smoothed_chart_default_smoothing
|
|
17
|
-
@chart = @ws.add_chart Axlsx::ScatterChart, :title => "Smooth Chart", :scatter_style => :smoothMarker
|
|
18
|
-
@series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :title=>"smoothed exponents"
|
|
19
|
-
assert(@series.smooth, "series is smooth by default on smooth charts")
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def test_unsmoothed_chart_default_smoothing
|
|
23
|
-
@chart = @ws.add_chart Axlsx::ScatterChart, :title => "Unsmooth Chart", :scatter_style => :line
|
|
24
|
-
@series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :title=>"unsmoothed exponents"
|
|
25
|
-
assert(!@series.smooth, "series is not smooth by default on non-smooth charts")
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def test_explicit_smoothing
|
|
29
|
-
@chart = @ws.add_chart Axlsx::ScatterChart, :title => "Unsmooth Chart, Smooth Series", :scatter_style => :line
|
|
30
|
-
@series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :title=>"smoothed exponents", :smooth => true
|
|
31
|
-
assert(@series.smooth, "series is smooth when overriding chart default")
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def test_explicit_unsmoothing
|
|
35
|
-
@chart = @ws.add_chart Axlsx::ScatterChart, :title => "Smooth Chart, Unsmooth Series", :scatter_style => :smoothMarker
|
|
36
|
-
@series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :title=>"unsmoothed exponents", :smooth => false
|
|
37
|
-
assert(!@series.smooth, "series is not smooth when overriding chart default")
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def test_ln_width
|
|
41
|
-
@chart = @ws.add_chart Axlsx::ScatterChart, :title => "ln width", :scatter_style => :line
|
|
42
|
-
@series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :title=>"ln_width"
|
|
43
|
-
@series.ln_width = 12700
|
|
44
|
-
assert_equal(@series.ln_width, 12700, 'line width assigment is allowed')
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
def test_to_xml_string
|
|
48
|
-
@chart.scatter_style = :line
|
|
49
|
-
@series.ln_width = 12700
|
|
50
|
-
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
51
|
-
assert_equal(12700, @series.ln_width)
|
|
52
|
-
assert_equal(doc.xpath("//a:srgbClr[@val='#{@series.color}']").size,4)
|
|
53
|
-
assert_equal(doc.xpath("//a:ln[@w='#{@series.ln_width}']").length, 1)
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
|
|
1
|
+
require 'tc_helper.rb'
|
|
2
|
+
|
|
3
|
+
class TestScatterSeries < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
p = Axlsx::Package.new
|
|
7
|
+
@ws = p.workbook.add_worksheet :name=>"hmmm"
|
|
8
|
+
@chart = @ws.add_chart Axlsx::ScatterChart, :title => "Scatter Chart"
|
|
9
|
+
@series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :title=>"exponents", :color => 'FF0000', :smooth => true
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_initialize
|
|
13
|
+
assert_equal(@series.title.text, "exponents", "series title has been applied")
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def test_smoothed_chart_default_smoothing
|
|
17
|
+
@chart = @ws.add_chart Axlsx::ScatterChart, :title => "Smooth Chart", :scatter_style => :smoothMarker
|
|
18
|
+
@series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :title=>"smoothed exponents"
|
|
19
|
+
assert(@series.smooth, "series is smooth by default on smooth charts")
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_unsmoothed_chart_default_smoothing
|
|
23
|
+
@chart = @ws.add_chart Axlsx::ScatterChart, :title => "Unsmooth Chart", :scatter_style => :line
|
|
24
|
+
@series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :title=>"unsmoothed exponents"
|
|
25
|
+
assert(!@series.smooth, "series is not smooth by default on non-smooth charts")
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_explicit_smoothing
|
|
29
|
+
@chart = @ws.add_chart Axlsx::ScatterChart, :title => "Unsmooth Chart, Smooth Series", :scatter_style => :line
|
|
30
|
+
@series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :title=>"smoothed exponents", :smooth => true
|
|
31
|
+
assert(@series.smooth, "series is smooth when overriding chart default")
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def test_explicit_unsmoothing
|
|
35
|
+
@chart = @ws.add_chart Axlsx::ScatterChart, :title => "Smooth Chart, Unsmooth Series", :scatter_style => :smoothMarker
|
|
36
|
+
@series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :title=>"unsmoothed exponents", :smooth => false
|
|
37
|
+
assert(!@series.smooth, "series is not smooth when overriding chart default")
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def test_ln_width
|
|
41
|
+
@chart = @ws.add_chart Axlsx::ScatterChart, :title => "ln width", :scatter_style => :line
|
|
42
|
+
@series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :title=>"ln_width"
|
|
43
|
+
@series.ln_width = 12700
|
|
44
|
+
assert_equal(@series.ln_width, 12700, 'line width assigment is allowed')
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def test_to_xml_string
|
|
48
|
+
@chart.scatter_style = :line
|
|
49
|
+
@series.ln_width = 12700
|
|
50
|
+
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
51
|
+
assert_equal(12700, @series.ln_width)
|
|
52
|
+
assert_equal(doc.xpath("//a:srgbClr[@val='#{@series.color}']").size,4)
|
|
53
|
+
assert_equal(doc.xpath("//a:ln[@w='#{@series.ln_width}']").length, 1)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def test_false_show_marker
|
|
57
|
+
@chart = @ws.add_chart Axlsx::ScatterChart, :title => 'Smooth Chart', :scatter_style => :smoothMarker
|
|
58
|
+
@series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9]
|
|
59
|
+
assert(@series.show_marker, 'markers are enabled for marker-related styles')
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def test_true_show_marker
|
|
63
|
+
@chart = @ws.add_chart Axlsx::ScatterChart, :title => 'Line chart', :scatter_style => :line
|
|
64
|
+
@series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9]
|
|
65
|
+
assert(!@series.show_marker, 'markers are disabled for markerless scatter styles')
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def test_marker_symbol
|
|
69
|
+
@chart = @ws.add_chart Axlsx::ScatterChart, :title => 'Line chart', :scatter_style => :line
|
|
70
|
+
@series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :marker_symbol => :diamond
|
|
71
|
+
assert_equal(@series.marker_symbol, :diamond, 'series could have own custom marker symbol')
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
end
|
data/test/drawing/tc_ser_axis.rb
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
require 'tc_helper.rb'
|
|
2
|
-
|
|
3
|
-
class TestSerAxis < Test::Unit::TestCase
|
|
4
|
-
def setup
|
|
5
|
-
@axis = Axlsx::SerAxis.new
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def teardown
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def test_options
|
|
12
|
-
a = Axlsx::SerAxis.new(:tick_lbl_skip => 9, :tick_mark_skip => 7)
|
|
13
|
-
assert_equal(a.tick_lbl_skip, 9)
|
|
14
|
-
assert_equal(a.tick_mark_skip, 7)
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
def test_tick_lbl_skip
|
|
19
|
-
assert_raise(ArgumentError, "requires valid tick_lbl_skip") { @axis.tick_lbl_skip = -1 }
|
|
20
|
-
assert_nothing_raised("accepts valid tick_lbl_skip") { @axis.tick_lbl_skip = 1 }
|
|
21
|
-
assert_equal(@axis.tick_lbl_skip, 1)
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def test_tick_mark_skip
|
|
26
|
-
assert_raise(ArgumentError, "requires valid tick_mark_skip") { @axis.tick_mark_skip = :my_eyes }
|
|
27
|
-
assert_nothing_raised("accepts valid tick_mark_skip") { @axis.tick_mark_skip = 2 }
|
|
28
|
-
assert_equal(@axis.tick_mark_skip, 2)
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
end
|
|
1
|
+
require 'tc_helper.rb'
|
|
2
|
+
|
|
3
|
+
class TestSerAxis < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
@axis = Axlsx::SerAxis.new
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def teardown
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def test_options
|
|
12
|
+
a = Axlsx::SerAxis.new(:tick_lbl_skip => 9, :tick_mark_skip => 7)
|
|
13
|
+
assert_equal(a.tick_lbl_skip, 9)
|
|
14
|
+
assert_equal(a.tick_mark_skip, 7)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def test_tick_lbl_skip
|
|
19
|
+
assert_raise(ArgumentError, "requires valid tick_lbl_skip") { @axis.tick_lbl_skip = -1 }
|
|
20
|
+
assert_nothing_raised("accepts valid tick_lbl_skip") { @axis.tick_lbl_skip = 1 }
|
|
21
|
+
assert_equal(@axis.tick_lbl_skip, 1)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def test_tick_mark_skip
|
|
26
|
+
assert_raise(ArgumentError, "requires valid tick_mark_skip") { @axis.tick_mark_skip = :my_eyes }
|
|
27
|
+
assert_nothing_raised("accepts valid tick_mark_skip") { @axis.tick_mark_skip = 2 }
|
|
28
|
+
assert_equal(@axis.tick_mark_skip, 2)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end
|
data/test/drawing/tc_series.rb
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
require 'tc_helper.rb'
|
|
2
|
-
|
|
3
|
-
class TestSeries < Test::Unit::TestCase
|
|
4
|
-
|
|
5
|
-
def setup
|
|
6
|
-
p = Axlsx::Package.new
|
|
7
|
-
@ws = p.workbook.add_worksheet :name=>"hmmm"
|
|
8
|
-
chart = @ws.add_chart Axlsx::Chart, :title => "fishery"
|
|
9
|
-
@series = chart.add_series :title=>"bob"
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def test_initialize
|
|
13
|
-
assert_equal(@series.title.text, "bob", "series title has been applied")
|
|
14
|
-
assert_equal(@series.order, @series.index, "order is index by default")
|
|
15
|
-
assert_equal(@series.index, @series.chart.series.index(@series), "index is applied")
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def test_order
|
|
19
|
-
@series.order = 2
|
|
20
|
-
assert_equal(@series.order, 2)
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
end
|
|
1
|
+
require 'tc_helper.rb'
|
|
2
|
+
|
|
3
|
+
class TestSeries < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
p = Axlsx::Package.new
|
|
7
|
+
@ws = p.workbook.add_worksheet :name=>"hmmm"
|
|
8
|
+
chart = @ws.add_chart Axlsx::Chart, :title => "fishery"
|
|
9
|
+
@series = chart.add_series :title=>"bob"
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_initialize
|
|
13
|
+
assert_equal(@series.title.text, "bob", "series title has been applied")
|
|
14
|
+
assert_equal(@series.order, @series.index, "order is index by default")
|
|
15
|
+
assert_equal(@series.index, @series.chart.series.index(@series), "index is applied")
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def test_order
|
|
19
|
+
@series.order = 2
|
|
20
|
+
assert_equal(@series.order, 2)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end
|
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
require 'tc_helper.rb'
|
|
2
|
-
|
|
3
|
-
class TestSeriesTitle < Test::Unit::TestCase
|
|
4
|
-
def setup
|
|
5
|
-
@p = Axlsx::Package.new
|
|
6
|
-
ws = @p.workbook.add_worksheet
|
|
7
|
-
@row = ws.add_row ["one", 1, Time.now]
|
|
8
|
-
@title = Axlsx::SeriesTitle.new
|
|
9
|
-
@chart = ws.add_chart Axlsx::Bar3DChart
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def teardown
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def test_initialization
|
|
16
|
-
assert(@title.text == "")
|
|
17
|
-
assert(@title.cell == nil)
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def test_text
|
|
21
|
-
assert_raise(ArgumentError, "text must be a string") { @title.text = 123 }
|
|
22
|
-
@title.cell = @row.cells.first
|
|
23
|
-
@title.text = "bob"
|
|
24
|
-
assert(@title.cell == nil, "setting title with text clears the cell")
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def test_cell
|
|
28
|
-
assert_raise(ArgumentError, "cell must be a Cell") { @title.cell = "123" }
|
|
29
|
-
@title.cell = @row.cells.first
|
|
30
|
-
assert(@title.text == "one")
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def test_to_xml_string_for_special_characters
|
|
34
|
-
@chart.add_series(title: @title, data: [3, 7], labels: ['A', 'B'])
|
|
35
|
-
|
|
36
|
-
@title.text = "&><'\""
|
|
37
|
-
|
|
38
|
-
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
39
|
-
errors = doc.errors
|
|
40
|
-
assert(errors.empty?, "invalid xml: #{errors.map(&:to_s).join(', ')}")
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
def test_to_xml_string_for_special_characters_in_cell
|
|
44
|
-
@chart.add_series(title: @title, data: [3, 7], labels: ['A', 'B'])
|
|
45
|
-
|
|
46
|
-
cell = @row.cells.first
|
|
47
|
-
cell.value = "&><'\""
|
|
48
|
-
@title.cell = cell
|
|
49
|
-
|
|
50
|
-
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
51
|
-
errors = doc.errors
|
|
52
|
-
assert(errors.empty?, "invalid xml: #{errors.map(&:to_s).join(', ')}")
|
|
53
|
-
end
|
|
54
|
-
end
|
|
1
|
+
require 'tc_helper.rb'
|
|
2
|
+
|
|
3
|
+
class TestSeriesTitle < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
@p = Axlsx::Package.new
|
|
6
|
+
ws = @p.workbook.add_worksheet
|
|
7
|
+
@row = ws.add_row ["one", 1, Time.now]
|
|
8
|
+
@title = Axlsx::SeriesTitle.new
|
|
9
|
+
@chart = ws.add_chart Axlsx::Bar3DChart
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def teardown
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def test_initialization
|
|
16
|
+
assert(@title.text == "")
|
|
17
|
+
assert(@title.cell == nil)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_text
|
|
21
|
+
assert_raise(ArgumentError, "text must be a string") { @title.text = 123 }
|
|
22
|
+
@title.cell = @row.cells.first
|
|
23
|
+
@title.text = "bob"
|
|
24
|
+
assert(@title.cell == nil, "setting title with text clears the cell")
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_cell
|
|
28
|
+
assert_raise(ArgumentError, "cell must be a Cell") { @title.cell = "123" }
|
|
29
|
+
@title.cell = @row.cells.first
|
|
30
|
+
assert(@title.text == "one")
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test_to_xml_string_for_special_characters
|
|
34
|
+
@chart.add_series(title: @title, data: [3, 7], labels: ['A', 'B'])
|
|
35
|
+
|
|
36
|
+
@title.text = "&><'\""
|
|
37
|
+
|
|
38
|
+
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
39
|
+
errors = doc.errors
|
|
40
|
+
assert(errors.empty?, "invalid xml: #{errors.map(&:to_s).join(', ')}")
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def test_to_xml_string_for_special_characters_in_cell
|
|
44
|
+
@chart.add_series(title: @title, data: [3, 7], labels: ['A', 'B'])
|
|
45
|
+
|
|
46
|
+
cell = @row.cells.first
|
|
47
|
+
cell.value = "&><'\""
|
|
48
|
+
@title.cell = cell
|
|
49
|
+
|
|
50
|
+
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
51
|
+
errors = doc.errors
|
|
52
|
+
assert(errors.empty?, "invalid xml: #{errors.map(&:to_s).join(', ')}")
|
|
53
|
+
end
|
|
54
|
+
end
|
data/test/drawing/tc_str_data.rb
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
require 'tc_helper.rb'
|
|
2
|
-
|
|
3
|
-
class TestStrData < Test::Unit::TestCase
|
|
4
|
-
|
|
5
|
-
def setup
|
|
6
|
-
@str_data = Axlsx::StrData.new :data => ["1", "2", "3"]
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
def test_to_xml_string_strLit
|
|
10
|
-
str = '<?xml version="1.0" encoding="UTF-8"?>'
|
|
11
|
-
str << '<c:chartSpace xmlns:c="' << Axlsx::XML_NS_C << '">'
|
|
12
|
-
str << @str_data.to_xml_string
|
|
13
|
-
doc = Nokogiri::XML(str)
|
|
14
|
-
assert_equal(doc.xpath("//c:strLit/c:ptCount[@val=3]").size, 1)
|
|
15
|
-
assert_equal(doc.xpath("//c:strLit/c:pt/c:v[text()='1']").size, 1)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
end
|
|
1
|
+
require 'tc_helper.rb'
|
|
2
|
+
|
|
3
|
+
class TestStrData < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@str_data = Axlsx::StrData.new :data => ["1", "2", "3"]
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def test_to_xml_string_strLit
|
|
10
|
+
str = '<?xml version="1.0" encoding="UTF-8"?>'
|
|
11
|
+
str << '<c:chartSpace xmlns:c="' << Axlsx::XML_NS_C << '">'
|
|
12
|
+
str << @str_data.to_xml_string
|
|
13
|
+
doc = Nokogiri::XML(str)
|
|
14
|
+
assert_equal(doc.xpath("//c:strLit/c:ptCount[@val=3]").size, 1)
|
|
15
|
+
assert_equal(doc.xpath("//c:strLit/c:pt/c:v[text()='1']").size, 1)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
end
|