caxlsx 3.0.4 → 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 -334
- data/LICENSE +21 -21
- data/README.md +168 -170
- 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 -151
- data/lib/axlsx/drawing/bar_chart.rb +138 -143
- data/lib/axlsx/drawing/bar_series.rb +97 -80
- 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 -363
- 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 -289
- 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 -162
- 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 -764
- 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 -170
- 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 -71
- data/test/drawing/tc_bar_chart.rb +86 -71
- data/test/drawing/tc_bar_series.rb +46 -37
- 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 -12
- data/test/tc_package.rb +317 -264
- 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 -135
- data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +62 -54
- 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 -139
- 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 -67
- 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 +11 -11
|
@@ -1,71 +1,86 @@
|
|
|
1
|
-
require 'tc_helper.rb'
|
|
2
|
-
|
|
3
|
-
class TestBar3DChart < Test::Unit::TestCase
|
|
4
|
-
|
|
5
|
-
def setup
|
|
6
|
-
@p = Axlsx::Package.new
|
|
7
|
-
ws = @p.workbook.add_worksheet
|
|
8
|
-
@row = ws.add_row ["one", 1, Time.now]
|
|
9
|
-
@chart = ws.add_chart Axlsx::Bar3DChart, :title => "fishery"
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def teardown
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def test_initialization
|
|
16
|
-
assert_equal(@chart.grouping, :clustered, "grouping defualt incorrect")
|
|
17
|
-
assert_equal(@chart.series_type, Axlsx::BarSeries, "series type incorrect")
|
|
18
|
-
assert_equal(@chart.bar_dir, :bar, " bar direction incorrect")
|
|
19
|
-
assert(@chart.cat_axis.is_a?(Axlsx::CatAxis), "category axis not created")
|
|
20
|
-
assert(@chart.val_axis.is_a?(Axlsx::ValAxis), "value access not created")
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def test_bar_direction
|
|
24
|
-
assert_raise(ArgumentError, "require valid bar direction") { @chart.bar_dir = :left }
|
|
25
|
-
assert_nothing_raised("allow valid bar direction") { @chart.bar_dir = :col }
|
|
26
|
-
assert(@chart.bar_dir == :col)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def test_grouping
|
|
30
|
-
assert_raise(ArgumentError, "require valid grouping") { @chart.grouping = :inverted }
|
|
31
|
-
assert_nothing_raised("allow valid grouping") { @chart.grouping = :standard }
|
|
32
|
-
assert(@chart.grouping == :standard)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
end
|
|
1
|
+
require 'tc_helper.rb'
|
|
2
|
+
|
|
3
|
+
class TestBar3DChart < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@p = Axlsx::Package.new
|
|
7
|
+
ws = @p.workbook.add_worksheet
|
|
8
|
+
@row = ws.add_row ["one", 1, Time.now]
|
|
9
|
+
@chart = ws.add_chart Axlsx::Bar3DChart, :title => "fishery"
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def teardown
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def test_initialization
|
|
16
|
+
assert_equal(@chart.grouping, :clustered, "grouping defualt incorrect")
|
|
17
|
+
assert_equal(@chart.series_type, Axlsx::BarSeries, "series type incorrect")
|
|
18
|
+
assert_equal(@chart.bar_dir, :bar, " bar direction incorrect")
|
|
19
|
+
assert(@chart.cat_axis.is_a?(Axlsx::CatAxis), "category axis not created")
|
|
20
|
+
assert(@chart.val_axis.is_a?(Axlsx::ValAxis), "value access not created")
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def test_bar_direction
|
|
24
|
+
assert_raise(ArgumentError, "require valid bar direction") { @chart.bar_dir = :left }
|
|
25
|
+
assert_nothing_raised("allow valid bar direction") { @chart.bar_dir = :col }
|
|
26
|
+
assert(@chart.bar_dir == :col)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def test_grouping
|
|
30
|
+
assert_raise(ArgumentError, "require valid grouping") { @chart.grouping = :inverted }
|
|
31
|
+
assert_nothing_raised("allow valid grouping") { @chart.grouping = :standard }
|
|
32
|
+
assert(@chart.grouping == :standard)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def test_gap_width
|
|
36
|
+
assert_raise(ArgumentError, "require valid gap width") { @chart.gap_width = -1 }
|
|
37
|
+
assert_raise(ArgumentError, "require valid gap width") { @chart.gap_width = 501 }
|
|
38
|
+
assert_nothing_raised("allow valid gapWidth") { @chart.gap_width = 200 }
|
|
39
|
+
assert_equal(@chart.gap_width, 200, 'gap width is incorrect')
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_gap_depth
|
|
43
|
+
assert_raise(ArgumentError, "require valid gap_depth") { @chart.gap_depth = -1 }
|
|
44
|
+
assert_raise(ArgumentError, "require valid gap_depth") { @chart.gap_depth = 501 }
|
|
45
|
+
assert_nothing_raised("allow valid gap_depth") { @chart.gap_depth = 200 }
|
|
46
|
+
assert_equal(@chart.gap_depth, 200, 'gap depth is incorrect')
|
|
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_string
|
|
56
|
+
schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
|
|
57
|
+
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
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
|
+
def test_to_xml_string_has_axes_in_correct_order
|
|
67
|
+
str = @chart.to_xml_string
|
|
68
|
+
cat_axis_position = str.index(@chart.axes[:cat_axis].id.to_s)
|
|
69
|
+
val_axis_position = str.index(@chart.axes[:val_axis].id.to_s)
|
|
70
|
+
assert(cat_axis_position < val_axis_position, "cat_axis must occur earlier than val_axis in the XML")
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def test_to_xml_string_has_gap_depth
|
|
74
|
+
gap_depth_value = rand(0..500)
|
|
75
|
+
@chart.gap_depth = gap_depth_value
|
|
76
|
+
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
77
|
+
assert_equal(doc.xpath("//c:bar3DChart/c:gapDepth").first.attribute('val').value, gap_depth_value.to_s)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def test_to_xml_string_has_gap_width
|
|
81
|
+
gap_width_value = rand(0..500)
|
|
82
|
+
@chart.gap_width = gap_width_value
|
|
83
|
+
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
84
|
+
assert_equal(doc.xpath("//c:bar3DChart/c:gapWidth").first.attribute('val').value, gap_width_value.to_s)
|
|
85
|
+
end
|
|
86
|
+
end
|
|
@@ -1,71 +1,86 @@
|
|
|
1
|
-
require 'tc_helper.rb'
|
|
2
|
-
|
|
3
|
-
class TestBarChart < Test::Unit::TestCase
|
|
4
|
-
|
|
5
|
-
def setup
|
|
6
|
-
@p = Axlsx::Package.new
|
|
7
|
-
ws = @p.workbook.add_worksheet
|
|
8
|
-
@row = ws.add_row ["one", 1, Time.now]
|
|
9
|
-
@chart = ws.add_chart Axlsx::BarChart, :title => "fishery"
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def teardown
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def test_initialization
|
|
16
|
-
assert_equal(@chart.grouping, :clustered, "grouping defualt incorrect")
|
|
17
|
-
assert_equal(@chart.series_type, Axlsx::BarSeries, "series type incorrect")
|
|
18
|
-
assert_equal(@chart.bar_dir, :bar, " bar direction incorrect")
|
|
19
|
-
assert(@chart.cat_axis.is_a?(Axlsx::CatAxis), "category axis not created")
|
|
20
|
-
assert(@chart.val_axis.is_a?(Axlsx::ValAxis), "value access not created")
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
def test_bar_direction
|
|
24
|
-
assert_raise(ArgumentError, "require valid bar direction") { @chart.bar_dir = :left }
|
|
25
|
-
assert_nothing_raised("allow valid bar direction") { @chart.bar_dir = :col }
|
|
26
|
-
assert(@chart.bar_dir == :col)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def test_grouping
|
|
30
|
-
assert_raise(ArgumentError, "require valid grouping") { @chart.grouping = :inverted }
|
|
31
|
-
assert_nothing_raised("allow valid grouping") { @chart.grouping = :standard }
|
|
32
|
-
assert(@chart.grouping == :standard)
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
end
|
|
1
|
+
require 'tc_helper.rb'
|
|
2
|
+
|
|
3
|
+
class TestBarChart < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
def setup
|
|
6
|
+
@p = Axlsx::Package.new
|
|
7
|
+
ws = @p.workbook.add_worksheet
|
|
8
|
+
@row = ws.add_row ["one", 1, Time.now]
|
|
9
|
+
@chart = ws.add_chart Axlsx::BarChart, :title => "fishery"
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def teardown
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def test_initialization
|
|
16
|
+
assert_equal(@chart.grouping, :clustered, "grouping defualt incorrect")
|
|
17
|
+
assert_equal(@chart.series_type, Axlsx::BarSeries, "series type incorrect")
|
|
18
|
+
assert_equal(@chart.bar_dir, :bar, " bar direction incorrect")
|
|
19
|
+
assert(@chart.cat_axis.is_a?(Axlsx::CatAxis), "category axis not created")
|
|
20
|
+
assert(@chart.val_axis.is_a?(Axlsx::ValAxis), "value access not created")
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def test_bar_direction
|
|
24
|
+
assert_raise(ArgumentError, "require valid bar direction") { @chart.bar_dir = :left }
|
|
25
|
+
assert_nothing_raised("allow valid bar direction") { @chart.bar_dir = :col }
|
|
26
|
+
assert(@chart.bar_dir == :col)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def test_grouping
|
|
30
|
+
assert_raise(ArgumentError, "require valid grouping") { @chart.grouping = :inverted }
|
|
31
|
+
assert_nothing_raised("allow valid grouping") { @chart.grouping = :standard }
|
|
32
|
+
assert(@chart.grouping == :standard)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def test_gap_width
|
|
36
|
+
assert_raise(ArgumentError, "require valid gap width") { @chart.gap_width = -1 }
|
|
37
|
+
assert_raise(ArgumentError, "require valid gap width") { @chart.gap_width = 501 }
|
|
38
|
+
assert_nothing_raised("allow valid gap width") { @chart.gap_width = 200 }
|
|
39
|
+
assert_equal(@chart.gap_width, 200, 'gap width is incorrect')
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def test_overlap
|
|
43
|
+
assert_raise(ArgumentError, "require valid overlap") { @chart.overlap = -101 }
|
|
44
|
+
assert_raise(ArgumentError, "require valid overlap") { @chart.overlap = 101 }
|
|
45
|
+
assert_nothing_raised("allow valid overlap") { @chart.overlap = 100 }
|
|
46
|
+
assert_equal(@chart.overlap, 100, 'overlap is incorrect')
|
|
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_string
|
|
56
|
+
schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
|
|
57
|
+
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
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
|
+
def test_to_xml_string_has_axes_in_correct_order
|
|
67
|
+
str = @chart.to_xml_string
|
|
68
|
+
cat_axis_position = str.index(@chart.axes[:cat_axis].id.to_s)
|
|
69
|
+
val_axis_position = str.index(@chart.axes[:val_axis].id.to_s)
|
|
70
|
+
assert(cat_axis_position < val_axis_position, "cat_axis must occur earlier than val_axis in the XML")
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def test_to_xml_string_has_gap_width
|
|
74
|
+
gap_width_value = rand(0..500)
|
|
75
|
+
@chart.gap_width = gap_width_value
|
|
76
|
+
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
77
|
+
assert_equal(doc.xpath("//c:barChart/c:gapWidth").first.attribute('val').value, gap_width_value.to_s)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def test_to_xml_string_has_overlap
|
|
81
|
+
overlap_value = rand(-100..100)
|
|
82
|
+
@chart.overlap = overlap_value
|
|
83
|
+
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
84
|
+
assert_equal(doc.xpath("//c:barChart/c:overlap").first.attribute('val').value, overlap_value.to_s)
|
|
85
|
+
end
|
|
86
|
+
end
|
|
@@ -1,37 +1,46 @@
|
|
|
1
|
-
require 'tc_helper.rb'
|
|
2
|
-
|
|
3
|
-
class TestBarSeries < 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::Bar3DChart, :title => "fishery"
|
|
9
|
-
@series = @chart.add_series
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
assert_equal(@series.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
end
|
|
37
|
-
|
|
1
|
+
require 'tc_helper.rb'
|
|
2
|
+
|
|
3
|
+
class TestBarSeries < 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::Bar3DChart, :title => "fishery"
|
|
9
|
+
@series = @chart.add_series(
|
|
10
|
+
data: [0, 1, 2],
|
|
11
|
+
labels: ['zero', 'one', 'two'],
|
|
12
|
+
title: 'bob',
|
|
13
|
+
colors: ['FF0000', '00FF00', '0000FF'],
|
|
14
|
+
shape: :cone,
|
|
15
|
+
series_color: '5A5A5A'
|
|
16
|
+
)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def test_initialize
|
|
20
|
+
assert_equal(@series.title.text, "bob", "series title has been applied")
|
|
21
|
+
assert_equal(@series.data.class, Axlsx::NumDataSource, "data option applied")
|
|
22
|
+
assert_equal(@series.shape, :cone, "series shape has been applied")
|
|
23
|
+
assert_equal(@series.series_color, '5A5A5A', 'series color has been applied')
|
|
24
|
+
assert(@series.data.is_a?(Axlsx::NumDataSource))
|
|
25
|
+
assert(@series.labels.is_a?(Axlsx::AxDataSource))
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def test_colors
|
|
29
|
+
assert_equal(@series.colors.size, 3)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def test_shape
|
|
33
|
+
assert_raise(ArgumentError, "require valid shape") { @series.shape = :teardropt }
|
|
34
|
+
assert_nothing_raised("allow valid shape") { @series.shape = :box }
|
|
35
|
+
assert(@series.shape == :box)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_to_xml_string
|
|
39
|
+
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
40
|
+
@series.colors.each_with_index do |color, index|
|
|
41
|
+
assert_equal(doc.xpath("//c:dPt/c:idx[@val='#{index}']").size,1)
|
|
42
|
+
assert_equal(doc.xpath("//c:dPt/c:spPr/a:solidFill/a:srgbClr[@val='#{@series.colors[index]}']").size,1)
|
|
43
|
+
end
|
|
44
|
+
assert_equal(doc.xpath('//c:spPr[not(ancestor::c:dPt)]/a:solidFill/a:srgbClr').first.get_attribute('val'), '5A5A5A', 'series color has been applied')
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
require 'tc_helper.rb'
|
|
2
|
-
|
|
3
|
-
class TestBubbleChart < 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 ["", 1, 42, 60, 75]
|
|
11
|
-
sheet.add_row ["Second", 5, 2, 14, 9]
|
|
12
|
-
sheet.add_row ["", 5, 10, 15, 20]
|
|
13
|
-
sheet.add_row ["", 5, 28, 92, 13]
|
|
14
|
-
sheet.add_chart(Axlsx::BubbleChart, :title => "example: Bubble Chart") do |chart|
|
|
15
|
-
chart.start_at 0, 4
|
|
16
|
-
chart.end_at 10, 19
|
|
17
|
-
chart.add_series :xData => sheet["B1:E1"], :yData => sheet["B2:E2"], :bubbleSize => sheet["B3:E3"], :title => sheet["A1"]
|
|
18
|
-
chart.add_series :xData => sheet["B4:E4"], :yData => sheet["B5:E5"], :bubbleSize => sheet["B6:E6"], :title => sheet["A3"]
|
|
19
|
-
@chart = chart
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def teardown
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def test_initialization
|
|
28
|
-
assert_equal(@chart.series_type, Axlsx::BubbleSeries, "series type incorrect")
|
|
29
|
-
assert(@chart.xValAxis.is_a?(Axlsx::ValAxis), "independant value axis not created")
|
|
30
|
-
assert(@chart.yValAxis.is_a?(Axlsx::ValAxis), "dependant value axis not created")
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
def test_to_xml_string
|
|
34
|
-
schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
|
|
35
|
-
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
36
|
-
errors = []
|
|
37
|
-
schema.validate(doc).each do |error|
|
|
38
|
-
errors.push error
|
|
39
|
-
puts error.message
|
|
40
|
-
end
|
|
41
|
-
assert(errors.empty?, "error free validation")
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
end
|
|
1
|
+
require 'tc_helper.rb'
|
|
2
|
+
|
|
3
|
+
class TestBubbleChart < 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 ["", 1, 42, 60, 75]
|
|
11
|
+
sheet.add_row ["Second", 5, 2, 14, 9]
|
|
12
|
+
sheet.add_row ["", 5, 10, 15, 20]
|
|
13
|
+
sheet.add_row ["", 5, 28, 92, 13]
|
|
14
|
+
sheet.add_chart(Axlsx::BubbleChart, :title => "example: Bubble Chart") do |chart|
|
|
15
|
+
chart.start_at 0, 4
|
|
16
|
+
chart.end_at 10, 19
|
|
17
|
+
chart.add_series :xData => sheet["B1:E1"], :yData => sheet["B2:E2"], :bubbleSize => sheet["B3:E3"], :title => sheet["A1"]
|
|
18
|
+
chart.add_series :xData => sheet["B4:E4"], :yData => sheet["B5:E5"], :bubbleSize => sheet["B6:E6"], :title => sheet["A3"]
|
|
19
|
+
@chart = chart
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def teardown
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def test_initialization
|
|
28
|
+
assert_equal(@chart.series_type, Axlsx::BubbleSeries, "series type incorrect")
|
|
29
|
+
assert(@chart.xValAxis.is_a?(Axlsx::ValAxis), "independant value axis not created")
|
|
30
|
+
assert(@chart.yValAxis.is_a?(Axlsx::ValAxis), "dependant value axis not created")
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def test_to_xml_string
|
|
34
|
+
schema = Nokogiri::XML::Schema(File.open(Axlsx::DRAWING_XSD))
|
|
35
|
+
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
36
|
+
errors = []
|
|
37
|
+
schema.validate(doc).each do |error|
|
|
38
|
+
errors.push error
|
|
39
|
+
puts error.message
|
|
40
|
+
end
|
|
41
|
+
assert(errors.empty?, "error free validation")
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
end
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
require 'tc_helper.rb'
|
|
2
|
-
|
|
3
|
-
class TestBubbleSeries < 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::BubbleChart, :title => "Bubble Chart"
|
|
9
|
-
@series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :bubbleSize=>[1,5,7], :title=>"GDP", :color => 'FF0000'
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def test_initialize
|
|
13
|
-
assert_equal(@series.title.text, "GDP", "series title has been applied")
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def test_to_xml_string
|
|
17
|
-
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
18
|
-
assert_equal(doc.xpath("//a:srgbClr[@val='#{@series.color}']").size,2)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
end
|
|
1
|
+
require 'tc_helper.rb'
|
|
2
|
+
|
|
3
|
+
class TestBubbleSeries < 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::BubbleChart, :title => "Bubble Chart"
|
|
9
|
+
@series = @chart.add_series :xData=>[1,2,4], :yData=>[1,3,9], :bubbleSize=>[1,5,7], :title=>"GDP", :color => 'FF0000'
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_initialize
|
|
13
|
+
assert_equal(@series.title.text, "GDP", "series title has been applied")
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def test_to_xml_string
|
|
17
|
+
doc = Nokogiri::XML(@chart.to_xml_string)
|
|
18
|
+
assert_equal(doc.xpath("//a:srgbClr[@val='#{@series.color}']").size,2)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end
|
data/test/drawing/tc_cat_axis.rb
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
require 'tc_helper.rb'
|
|
2
|
-
|
|
3
|
-
class TestCatAxis < Test::Unit::TestCase
|
|
4
|
-
def setup
|
|
5
|
-
@axis = Axlsx::CatAxis.new
|
|
6
|
-
end
|
|
7
|
-
def teardown
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def test_initialization
|
|
11
|
-
assert_equal(@axis.auto, 1, "axis auto default incorrect")
|
|
12
|
-
assert_equal(@axis.lbl_algn, :ctr, "label align default incorrect")
|
|
13
|
-
assert_equal(@axis.lbl_offset, "100", "label offset default incorrect")
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def test_auto
|
|
17
|
-
assert_raise(ArgumentError, "requires valid auto") { @axis.auto = :nowhere }
|
|
18
|
-
assert_nothing_raised("accepts valid auto") { @axis.auto = false }
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def test_lbl_algn
|
|
22
|
-
assert_raise(ArgumentError, "requires valid label alignment") { @axis.lbl_algn = :nowhere }
|
|
23
|
-
assert_nothing_raised("accepts valid label alignment") { @axis.lbl_algn = :r }
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def test_lbl_offset
|
|
27
|
-
assert_raise(ArgumentError, "requires valid label offset") { @axis.lbl_offset = 'foo' }
|
|
28
|
-
assert_nothing_raised("accepts valid label offset") { @axis.lbl_offset = "20" }
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
end
|
|
1
|
+
require 'tc_helper.rb'
|
|
2
|
+
|
|
3
|
+
class TestCatAxis < Test::Unit::TestCase
|
|
4
|
+
def setup
|
|
5
|
+
@axis = Axlsx::CatAxis.new
|
|
6
|
+
end
|
|
7
|
+
def teardown
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def test_initialization
|
|
11
|
+
assert_equal(@axis.auto, 1, "axis auto default incorrect")
|
|
12
|
+
assert_equal(@axis.lbl_algn, :ctr, "label align default incorrect")
|
|
13
|
+
assert_equal(@axis.lbl_offset, "100", "label offset default incorrect")
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def test_auto
|
|
17
|
+
assert_raise(ArgumentError, "requires valid auto") { @axis.auto = :nowhere }
|
|
18
|
+
assert_nothing_raised("accepts valid auto") { @axis.auto = false }
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def test_lbl_algn
|
|
22
|
+
assert_raise(ArgumentError, "requires valid label alignment") { @axis.lbl_algn = :nowhere }
|
|
23
|
+
assert_nothing_raised("accepts valid label alignment") { @axis.lbl_algn = :r }
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_lbl_offset
|
|
27
|
+
assert_raise(ArgumentError, "requires valid label offset") { @axis.lbl_offset = 'foo' }
|
|
28
|
+
assert_nothing_raised("accepts valid label offset") { @axis.lbl_offset = "20" }
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
# require 'tc_helper.rb'
|
|
2
|
-
|
|
3
|
-
# class TestCatAxisData < Test::Unit::TestCase
|
|
4
|
-
|
|
5
|
-
# def setup
|
|
6
|
-
# p = Axlsx::Package.new
|
|
7
|
-
# @ws = p.workbook.add_worksheet
|
|
8
|
-
# @chart = @ws.drawing.add_chart Axlsx::Bar3DChart
|
|
9
|
-
# @series = @chart.add_series :labels=>["zero", "one", "two"]
|
|
10
|
-
# end
|
|
11
|
-
|
|
12
|
-
# def test_initialize
|
|
13
|
-
# assert(@series.labels.is_a?Axlsx::SimpleTypedList)
|
|
14
|
-
# assert_equal(@series.labels, ["zero", "one", "two"])
|
|
15
|
-
# end
|
|
16
|
-
|
|
17
|
-
# def test_to_xml_string
|
|
18
|
-
# doc = Nokogiri::XML(@chart.to_xml_string)
|
|
19
|
-
# assert_equal(doc.xpath("//c:cat/c:strRef/c:f").size,1)
|
|
20
|
-
# assert_equal(doc.xpath("//c:strCache/c:ptCount[@val='#{@series.labels.size}']").size,1)
|
|
21
|
-
# @series.labels.each_with_index do |label, index|
|
|
22
|
-
# assert_equal(doc.xpath("//c:strCache/c:pt[@idx='#{index}']").size,1)
|
|
23
|
-
# assert_equal(doc.xpath("//c:strCache/c:pt/c:v[text()='#{label}']").size,1)
|
|
24
|
-
# end
|
|
25
|
-
# end
|
|
26
|
-
|
|
27
|
-
# end
|
|
1
|
+
# require 'tc_helper.rb'
|
|
2
|
+
|
|
3
|
+
# class TestCatAxisData < Test::Unit::TestCase
|
|
4
|
+
|
|
5
|
+
# def setup
|
|
6
|
+
# p = Axlsx::Package.new
|
|
7
|
+
# @ws = p.workbook.add_worksheet
|
|
8
|
+
# @chart = @ws.drawing.add_chart Axlsx::Bar3DChart
|
|
9
|
+
# @series = @chart.add_series :labels=>["zero", "one", "two"]
|
|
10
|
+
# end
|
|
11
|
+
|
|
12
|
+
# def test_initialize
|
|
13
|
+
# assert(@series.labels.is_a?Axlsx::SimpleTypedList)
|
|
14
|
+
# assert_equal(@series.labels, ["zero", "one", "two"])
|
|
15
|
+
# end
|
|
16
|
+
|
|
17
|
+
# def test_to_xml_string
|
|
18
|
+
# doc = Nokogiri::XML(@chart.to_xml_string)
|
|
19
|
+
# assert_equal(doc.xpath("//c:cat/c:strRef/c:f").size,1)
|
|
20
|
+
# assert_equal(doc.xpath("//c:strCache/c:ptCount[@val='#{@series.labels.size}']").size,1)
|
|
21
|
+
# @series.labels.each_with_index do |label, index|
|
|
22
|
+
# assert_equal(doc.xpath("//c:strCache/c:pt[@idx='#{index}']").size,1)
|
|
23
|
+
# assert_equal(doc.xpath("//c:strCache/c:pt/c:v[text()='#{label}']").size,1)
|
|
24
|
+
# end
|
|
25
|
+
# end
|
|
26
|
+
|
|
27
|
+
# end
|