write_xlsx 0.51.0 → 0.54.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.
Files changed (160) hide show
  1. data/.gitignore +39 -0
  2. data/Gemfile +4 -14
  3. data/LICENSE.txt +3 -1
  4. data/README.rdoc +5 -0
  5. data/Rakefile +4 -71
  6. data/examples/chart_radar.rb +127 -0
  7. data/examples/chart_secondary_axis.rb +1 -1
  8. data/lib/write_xlsx/chart/area.rb +7 -18
  9. data/lib/write_xlsx/chart/bar.rb +20 -23
  10. data/lib/write_xlsx/chart/column.rb +7 -20
  11. data/lib/write_xlsx/chart/radar.rb +94 -0
  12. data/lib/write_xlsx/chart/stock.rb +6 -0
  13. data/lib/write_xlsx/chart.rb +317 -116
  14. data/lib/write_xlsx/package/xml_writer_simple.rb +2 -2
  15. data/lib/write_xlsx/version.rb +5 -0
  16. data/test/chart/test_write_a_latin.rb +22 -0
  17. data/test/chart/test_write_auto.rb +1 -1
  18. data/test/chart/test_write_ax_id.rb +1 -1
  19. data/test/chart/test_write_ax_pos.rb +1 -1
  20. data/test/chart/test_write_cross_ax.rb +1 -1
  21. data/test/chart/test_write_crosses.rb +1 -1
  22. data/test/chart/test_write_d_lbls.rb +18 -18
  23. data/test/chart/test_write_idx.rb +1 -1
  24. data/test/chart/test_write_label_align.rb +1 -1
  25. data/test/chart/test_write_label_offset.rb +1 -1
  26. data/test/chart/test_write_lang.rb +1 -1
  27. data/test/chart/test_write_layout.rb +1 -1
  28. data/test/chart/test_write_legend.rb +1 -1
  29. data/test/chart/test_write_legend_pos.rb +1 -1
  30. data/test/chart/test_write_major_gridlines.rb +2 -2
  31. data/test/chart/test_write_marker.rb +1 -1
  32. data/test/chart/test_write_marker_size.rb +1 -1
  33. data/test/chart/test_write_marker_value.rb +1 -1
  34. data/test/chart/test_write_num_cache.rb +1 -1
  35. data/test/chart/test_write_number_format.rb +40 -2
  36. data/test/chart/test_write_order.rb +1 -1
  37. data/test/chart/test_write_orientation.rb +1 -1
  38. data/test/chart/test_write_page_margins.rb +1 -1
  39. data/test/chart/test_write_page_setup.rb +1 -1
  40. data/test/chart/test_write_plot_vis_only.rb +1 -1
  41. data/test/chart/test_write_pt_count.rb +1 -1
  42. data/test/chart/test_write_style.rb +1 -1
  43. data/test/chart/test_write_symbol.rb +1 -1
  44. data/test/chart/test_write_tick_lbl_pos.rb +1 -1
  45. data/test/drawing/test_write_a_graphic_frame_locks.rb +1 -1
  46. data/test/drawing/test_write_c_chart.rb +1 -1
  47. data/test/drawing/test_write_c_nv_graphic_frame_pr.rb +2 -2
  48. data/test/drawing/test_write_c_nv_pr.rb +1 -1
  49. data/test/drawing/test_write_ext.rb +1 -1
  50. data/test/drawing/test_write_pos.rb +1 -1
  51. data/test/drawing/test_write_xfrm_extension.rb +1 -1
  52. data/test/drawing/test_write_xfrm_offset.rb +1 -1
  53. data/test/helper.rb +1 -1
  54. data/test/package/content_types/test_write_default.rb +1 -1
  55. data/test/package/content_types/test_write_override.rb +1 -1
  56. data/test/package/table/test_write_auto_filter.rb +1 -1
  57. data/test/package/table/test_write_table_column.rb +1 -1
  58. data/test/package/table/test_write_table_style_info.rb +1 -1
  59. data/test/package/vml/test_write_fill.rb +1 -1
  60. data/test/package/vml/test_write_idmap.rb +1 -1
  61. data/test/package/vml/test_write_move_with_cells.rb +1 -1
  62. data/test/package/vml/test_write_path.rb +2 -2
  63. data/test/package/vml/test_write_shadow.rb +1 -1
  64. data/test/package/vml/test_write_shapelayout.rb +1 -1
  65. data/test/package/vml/test_write_shapetype.rb +1 -1
  66. data/test/package/vml/test_write_size_with_cells.rb +1 -1
  67. data/test/package/vml/test_write_stroke.rb +1 -1
  68. data/test/perl_output/chart_radar.xlsx +0 -0
  69. data/test/perl_output/chart_secondary_axis.xlsx +0 -0
  70. data/test/regression/test_chart_axis22.rb +45 -0
  71. data/test/regression/test_chart_axis23.rb +46 -0
  72. data/test/regression/test_chart_axis24.rb +46 -0
  73. data/test/regression/test_chart_font01.rb +54 -0
  74. data/test/regression/test_chart_font02.rb +56 -0
  75. data/test/regression/test_chart_font03.rb +59 -0
  76. data/test/regression/test_chart_font04.rb +57 -0
  77. data/test/regression/test_chart_font05.rb +54 -0
  78. data/test/regression/test_chart_font06.rb +84 -0
  79. data/test/regression/test_chart_radar01.rb +39 -0
  80. data/test/regression/test_chart_radar02.rb +43 -0
  81. data/test/regression/test_chart_radar03.rb +43 -0
  82. data/test/regression/test_escapes04.rb +30 -0
  83. data/test/regression/test_escapes05.rb +31 -0
  84. data/test/regression/test_rich_string01.rb +1 -1
  85. data/test/regression/test_rich_string02.rb +1 -1
  86. data/test/regression/test_rich_string03.rb +1 -1
  87. data/test/regression/test_rich_string04.rb +1 -1
  88. data/test/regression/test_rich_string05.rb +1 -1
  89. data/test/regression/test_rich_string06.rb +1 -1
  90. data/test/regression/test_rich_string07.rb +1 -1
  91. data/test/regression/test_rich_string08.rb +1 -1
  92. data/test/regression/test_rich_string09.rb +1 -1
  93. data/test/regression/test_rich_string10.rb +1 -1
  94. data/test/regression/test_rich_string11.rb +1 -1
  95. data/test/regression/test_shape_connect01.rb +1 -1
  96. data/test/regression/test_shape_connect02.rb +1 -1
  97. data/test/regression/test_shape_connect03.rb +1 -1
  98. data/test/regression/test_shape_connect04.rb +1 -1
  99. data/test/regression/xlsx_files/chart_axis22.xlsx +0 -0
  100. data/test/regression/xlsx_files/chart_axis23.xlsx +0 -0
  101. data/test/regression/xlsx_files/chart_axis24.xlsx +0 -0
  102. data/test/regression/xlsx_files/chart_font01.xlsx +0 -0
  103. data/test/regression/xlsx_files/chart_font02.xlsx +0 -0
  104. data/test/regression/xlsx_files/chart_font03.xlsx +0 -0
  105. data/test/regression/xlsx_files/chart_font04.xlsx +0 -0
  106. data/test/regression/xlsx_files/chart_font05.xlsx +0 -0
  107. data/test/regression/xlsx_files/chart_font06.xlsx +0 -0
  108. data/test/regression/xlsx_files/chart_radar01.xlsx +0 -0
  109. data/test/regression/xlsx_files/chart_radar02.xlsx +0 -0
  110. data/test/regression/xlsx_files/chart_radar03.xlsx +0 -0
  111. data/test/regression/xlsx_files/escapes04.xlsx +0 -0
  112. data/test/regression/xlsx_files/escapes05.xlsx +0 -0
  113. data/test/test_example_match.rb +119 -1
  114. data/test/test_xml_writer_simple.rb +4 -4
  115. data/test/worksheet/test_write_autofilter.rb +21 -21
  116. data/test/worksheet/test_write_brk.rb +1 -1
  117. data/test/worksheet/test_write_col_breaks.rb +2 -2
  118. data/test/worksheet/test_write_col_info.rb +6 -6
  119. data/test/worksheet/test_write_custom_filter.rb +1 -1
  120. data/test/worksheet/test_write_custom_filters.rb +2 -2
  121. data/test/worksheet/test_write_dimension.rb +9 -9
  122. data/test/worksheet/test_write_ext.rb +1 -1
  123. data/test/worksheet/test_write_ext_lst.rb +1 -1
  124. data/test/worksheet/test_write_filter.rb +1 -1
  125. data/test/worksheet/test_write_filter_column.rb +1 -1
  126. data/test/worksheet/test_write_filters.rb +3 -3
  127. data/test/worksheet/test_write_hyperlink.rb +4 -4
  128. data/test/worksheet/test_write_hyperlinks.rb +2 -2
  129. data/test/worksheet/test_write_legacy_drawing.rb +1 -1
  130. data/test/worksheet/test_write_merge_cell.rb +1 -1
  131. data/test/worksheet/test_write_mx_plv.rb +1 -1
  132. data/test/worksheet/test_write_page_margins.rb +11 -11
  133. data/test/worksheet/test_write_page_set_up_pr.rb +1 -1
  134. data/test/worksheet/test_write_page_setup.rb +4 -4
  135. data/test/worksheet/test_write_pane.rb +14 -14
  136. data/test/worksheet/test_write_phonetic_pr.rb +1 -1
  137. data/test/worksheet/test_write_print_options.rb +5 -5
  138. data/test/worksheet/test_write_row_breaks.rb +2 -2
  139. data/test/worksheet/test_write_row_element.rb +1 -1
  140. data/test/worksheet/test_write_selection.rb +1 -1
  141. data/test/worksheet/test_write_sheet_calc_pr.rb +1 -1
  142. data/test/worksheet/test_write_sheet_data.rb +1 -1
  143. data/test/worksheet/test_write_sheet_format_pr.rb +1 -1
  144. data/test/worksheet/test_write_sheet_pr.rb +3 -3
  145. data/test/worksheet/test_write_sheet_protection.rb +18 -18
  146. data/test/worksheet/test_write_sheet_view.rb +6 -6
  147. data/test/worksheet/test_write_sheet_view1.rb +6 -6
  148. data/test/worksheet/test_write_sheet_view2.rb +5 -5
  149. data/test/worksheet/test_write_sheet_view3.rb +8 -8
  150. data/test/worksheet/test_write_sheet_view4.rb +8 -8
  151. data/test/worksheet/test_write_sheet_view5.rb +7 -7
  152. data/test/worksheet/test_write_sheet_view6.rb +4 -4
  153. data/test/worksheet/test_write_sheet_view7.rb +6 -6
  154. data/test/worksheet/test_write_sheet_view8.rb +4 -4
  155. data/test/worksheet/test_write_sheet_view9.rb +4 -4
  156. data/test/worksheet/test_write_tab_color.rb +1 -1
  157. data/write_xlsx.gemspec +18 -935
  158. metadata +881 -32
  159. data/VERSION +0 -1
  160. data/test/chart/test_write_num_fmt.rb +0 -16
@@ -7,7 +7,7 @@ class TestWriteOverride < Test::Unit::TestCase
7
7
  @obj = Writexlsx::Package::ContentTypes.new
8
8
  @obj.__send__('write_override', '/docProps/core.xml', 'app...')
9
9
  result = @obj.xml_str
10
- expected = '<Override PartName="/docProps/core.xml" ContentType="app..." />'
10
+ expected = '<Override PartName="/docProps/core.xml" ContentType="app..."/>'
11
11
  assert_equal(expected, result)
12
12
  end
13
13
  end
@@ -4,7 +4,7 @@ require 'write_xlsx/package/table'
4
4
 
5
5
  class TestTableWriteAutoFilter01 < Test::Unit::TestCase
6
6
  def test_table_write_auto_filter
7
- expected = '<autoFilter ref="C3:F13" />'
7
+ expected = '<autoFilter ref="C3:F13"/>'
8
8
 
9
9
  table = Writexlsx::Package::Table.new
10
10
  table.instance_variable_get(:@properties)[:_autofilter] = 'C3:F13'
@@ -4,7 +4,7 @@ require 'write_xlsx/package/table'
4
4
 
5
5
  class TestTableWriteTableColumn < Test::Unit::TestCase
6
6
  def test_table_write_table_column
7
- expected = '<tableColumn id="1" name="Column1" />'
7
+ expected = '<tableColumn id="1" name="Column1"/>'
8
8
 
9
9
  table = Writexlsx::Package::Table.new
10
10
  table.__send__(:write_table_column, {:_name => 'Column1', :_id => 1})
@@ -4,7 +4,7 @@ require 'write_xlsx/package/table'
4
4
 
5
5
  class TestTableWriteTableStyleInfo < Test::Unit::TestCase
6
6
  def test_table_write_table_style_info
7
- expected = '<tableStyleInfo name="TableStyleMedium9" showFirstColumn="0" showLastColumn="0" showRowStripes="1" showColumnStripes="0" />'
7
+ expected = '<tableStyleInfo name="TableStyleMedium9" showFirstColumn="0" showLastColumn="0" showRowStripes="1" showColumnStripes="0"/>'
8
8
 
9
9
  table = Writexlsx::Package::Table.new
10
10
  table.
@@ -8,7 +8,7 @@ class TestWriteFill < Test::Unit::TestCase
8
8
  vml = Writexlsx::Package::Vml.new
9
9
  vml.__send__('write_fill')
10
10
  result = vml.instance_variable_get(:@writer).string
11
- expected = '<v:fill color2="#ffffe1" />'
11
+ expected = '<v:fill color2="#ffffe1"/>'
12
12
  assert_equal(expected, result)
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ class TestWriteIdmap < Test::Unit::TestCase
8
8
  vml = Writexlsx::Package::Vml.new
9
9
  vml.__send__('write_idmap', 1)
10
10
  result = vml.instance_variable_get(:@writer).string
11
- expected = '<o:idmap v:ext="edit" data="1" />'
11
+ expected = '<o:idmap v:ext="edit" data="1"/>'
12
12
  assert_equal(expected, result)
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ class TestWriteMoveWithCells < Test::Unit::TestCase
8
8
  vml = Writexlsx::Package::Vml.new
9
9
  vml.__send__('write_move_with_cells')
10
10
  result = vml.instance_variable_get(:@writer).string
11
- expected = '<x:MoveWithCells />'
11
+ expected = '<x:MoveWithCells/>'
12
12
  assert_equal(expected, result)
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ class TestWritePath < Test::Unit::TestCase
8
8
  vml = Writexlsx::Package::Vml.new
9
9
  vml.__send__('write_path', 't', 'rect')
10
10
  result = vml.instance_variable_get(:@writer).string
11
- expected = '<v:path gradientshapeok="t" o:connecttype="rect" />'
11
+ expected = '<v:path gradientshapeok="t" o:connecttype="rect"/>'
12
12
  assert_equal(expected, result)
13
13
  end
14
14
 
@@ -16,7 +16,7 @@ class TestWritePath < Test::Unit::TestCase
16
16
  vml = Writexlsx::Package::Vml.new
17
17
  vml.__send__('write_path', nil, 'none')
18
18
  result = vml.instance_variable_get(:@writer).string
19
- expected = '<v:path o:connecttype="none" />'
19
+ expected = '<v:path o:connecttype="none"/>'
20
20
  assert_equal(expected, result)
21
21
  end
22
22
  end
@@ -8,7 +8,7 @@ class TestWriteShadow < Test::Unit::TestCase
8
8
  vml = Writexlsx::Package::Vml.new
9
9
  vml.__send__('write_shadow')
10
10
  result = vml.instance_variable_get(:@writer).string
11
- expected = '<v:shadow on="t" color="black" obscured="t" />'
11
+ expected = '<v:shadow on="t" color="black" obscured="t"/>'
12
12
  assert_equal(expected, result)
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ class TestWriteShapelayout < Test::Unit::TestCase
8
8
  vml = Writexlsx::Package::Vml.new
9
9
  vml.__send__('write_shapelayout', 1)
10
10
  result = vml.instance_variable_get(:@writer).string
11
- expected = '<o:shapelayout v:ext="edit"><o:idmap v:ext="edit" data="1" /></o:shapelayout>'
11
+ expected = '<o:shapelayout v:ext="edit"><o:idmap v:ext="edit" data="1"/></o:shapelayout>'
12
12
  assert_equal(expected, result)
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ class TestWriteShapetype < Test::Unit::TestCase
8
8
  vml = Writexlsx::Package::Vml.new
9
9
  vml.__send__('write_shapetype')
10
10
  result = vml.instance_variable_get(:@writer).string
11
- expected = '<v:shapetype id="_x0000_t202" coordsize="21600,21600" o:spt="202" path="m,l,21600r21600,l21600,xe"><v:stroke joinstyle="miter" /><v:path gradientshapeok="t" o:connecttype="rect" /></v:shapetype>'
11
+ expected = '<v:shapetype id="_x0000_t202" coordsize="21600,21600" o:spt="202" path="m,l,21600r21600,l21600,xe"><v:stroke joinstyle="miter"/><v:path gradientshapeok="t" o:connecttype="rect"/></v:shapetype>'
12
12
  assert_equal(expected, result)
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ class TestWriteSizeWithCells < Test::Unit::TestCase
8
8
  vml = Writexlsx::Package::Vml.new
9
9
  vml.__send__('write_size_with_cells')
10
10
  result = vml.instance_variable_get(:@writer).string
11
- expected = '<x:SizeWithCells />'
11
+ expected = '<x:SizeWithCells/>'
12
12
  assert_equal(expected, result)
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ class TestWriteStroke < Test::Unit::TestCase
8
8
  vml = Writexlsx::Package::Vml.new
9
9
  vml.__send__('write_stroke')
10
10
  result = vml.instance_variable_get(:@writer).string
11
- expected = '<v:stroke joinstyle="miter" />'
11
+ expected = '<v:stroke joinstyle="miter"/>'
12
12
  assert_equal(expected, result)
13
13
  end
14
14
  end
Binary file
@@ -0,0 +1,45 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartAxis22 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_chart_axis22
14
+ @xlsx = 'chart_axis22.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'column', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [86799104, 86801792 ])
21
+
22
+ data = [
23
+ [ 1, 2, 3, 4, 5 ],
24
+ [ 2, 4, 6, 8, 10 ],
25
+ [ 3, 6, 9, 12, 15 ]
26
+ ]
27
+
28
+ worksheet.write('A1', data)
29
+
30
+ chart.add_series(:values => '=Sheet1!$A$1:$A$5')
31
+ chart.add_series(:values => '=Sheet1!$B$1:$B$5')
32
+ chart.add_series(:values => '=Sheet1!$C$1:$C$5')
33
+
34
+ chart.set_x_axis(:num_format => '#,##0.00')
35
+
36
+ worksheet.insert_chart('E9', chart)
37
+
38
+ workbook.close
39
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx),
40
+ @xlsx,
41
+ nil,
42
+ {'xl/charts/chart1.xml' => ['<c:pageMargins']}
43
+ )
44
+ end
45
+ end
@@ -0,0 +1,46 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartAxis23 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_chart_axis23
14
+ @xlsx = 'chart_axis23.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'column', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [46332160, 47470848])
21
+
22
+ data = [
23
+ [ 1, 2, 3, 4, 5 ],
24
+ [ 2, 4, 6, 8, 10 ],
25
+ [ 3, 6, 9, 12, 15 ]
26
+ ]
27
+
28
+ worksheet.write('A1', data)
29
+
30
+ chart.add_series(:values => '=Sheet1!$A$1:$A$5')
31
+ chart.add_series(:values => '=Sheet1!$B$1:$B$5')
32
+ chart.add_series(:values => '=Sheet1!$C$1:$C$5')
33
+
34
+ chart.set_x_axis(:num_format => 'dd/mm/yyyy')
35
+ chart.set_y_axis(:num_format => '0.00%')
36
+
37
+ worksheet.insert_chart('E9', chart)
38
+
39
+ workbook.close
40
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx),
41
+ @xlsx,
42
+ nil,
43
+ {'xl/charts/chart1.xml' => ['<c:pageMargins']}
44
+ )
45
+ end
46
+ end
@@ -0,0 +1,46 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartAxis24 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_chart_axis24
14
+ @xlsx = 'chart_axis24.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'column', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [47471232, 48509696])
21
+
22
+ data = [
23
+ [ 1, 2, 3, 4, 5 ],
24
+ [ 2, 4, 6, 8, 10 ],
25
+ [ 3, 6, 9, 12, 15 ]
26
+ ]
27
+
28
+ worksheet.write('A1', data)
29
+
30
+ chart.add_series(:values => '=Sheet1!$A$1:$A$5')
31
+ chart.add_series(:values => '=Sheet1!$B$1:$B$5')
32
+ chart.add_series(:values => '=Sheet1!$C$1:$C$5')
33
+
34
+ chart.set_x_axis(:num_format => 'dd/mm/yyyy', :num_format_linked => 1)
35
+ chart.set_y_axis(:num_format => '0.00%')
36
+
37
+ worksheet.insert_chart('E9', chart)
38
+
39
+ workbook.close
40
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx),
41
+ @xlsx,
42
+ nil,
43
+ {'xl/charts/chart1.xml' => ['<c:pageMargins']}
44
+ )
45
+ end
46
+ end
@@ -0,0 +1,54 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartFont01 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_chart_area01
14
+ @xlsx = 'chart_font01.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'bar', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [43945344, 45705856])
21
+
22
+ data = [
23
+ [1, 2, 3, 4, 5],
24
+ [2, 4, 6, 8, 10],
25
+ [3, 6, 9, 12, 15]
26
+ ]
27
+
28
+ worksheet.write('A1', data)
29
+
30
+ chart.add_series(:values => '=Sheet1!$A$1:$A$5')
31
+ chart.add_series(:values => '=Sheet1!$B$1:$B$5')
32
+ chart.add_series(:values => '=Sheet1!$C$1:$C$5')
33
+
34
+ chart.set_title(:name => 'Title')
35
+
36
+ chart.set_x_axis(
37
+ :name => 'XXX',
38
+ :num_font => { :size => 11, :bold => 1, :italic => 1 }
39
+ )
40
+
41
+ chart.set_y_axis(
42
+ :name => 'YYY',
43
+ :num_font => { :size => 9, :bold => 0, :italic => 1 }
44
+ )
45
+
46
+ worksheet.insert_chart('E9', chart)
47
+
48
+ workbook.close
49
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
50
+ nil,
51
+ { 'xl/charts/chart1.xml' => ['<c:pageMargins'] }
52
+ )
53
+ end
54
+ end
@@ -0,0 +1,56 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartFont02 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_chart_area02
14
+ @xlsx = 'chart_font02.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'bar', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [43945344, 45705856])
21
+
22
+ data = [
23
+ [1, 2, 3, 4, 5],
24
+ [2, 4, 6, 8, 10],
25
+ [3, 6, 9, 12, 15]
26
+ ]
27
+
28
+ worksheet.write('A1', data)
29
+
30
+ chart.add_series(:values => '=Sheet1!$A$1:$A$5')
31
+ chart.add_series(:values => '=Sheet1!$B$1:$B$5')
32
+ chart.add_series(:values => '=Sheet1!$C$1:$C$5')
33
+
34
+ chart.set_title(:name => 'Title')
35
+
36
+ chart.set_x_axis(
37
+ :name => 'XXX',
38
+ :name_font => { :bold => 0, :italic => 1 },
39
+ :num_font => { :size => 11, :bold => 1, :italic => 1 }
40
+ )
41
+
42
+ chart.set_y_axis(
43
+ :name => 'YYY',
44
+ :name_font => { :bold => 1, :italic => 1 },
45
+ :num_font => { :size => 9, :bold => 0, :italic => 1 },
46
+ )
47
+
48
+ worksheet.insert_chart('E9', chart)
49
+
50
+ workbook.close
51
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
52
+ nil,
53
+ { 'xl/charts/chart1.xml' => ['<c:pageMargins'] }
54
+ )
55
+ end
56
+ end
@@ -0,0 +1,59 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartFont03 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_chart_area03
14
+ @xlsx = 'chart_font03.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'bar', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [45704704, 45716224])
21
+
22
+ data = [
23
+ [1, 2, 3, 4, 5],
24
+ [2, 4, 6, 8, 10],
25
+ [3, 6, 9, 12, 15]
26
+ ]
27
+
28
+ worksheet.write('A1', data)
29
+
30
+ chart.add_series(:values => '=Sheet1!$A$1:$A$5')
31
+ chart.add_series(:values => '=Sheet1!$B$1:$B$5')
32
+ chart.add_series(:values => '=Sheet1!$C$1:$C$5')
33
+
34
+ chart.set_title(
35
+ :name => 'Title',
36
+ :name_font => { :bold => 0, :italic => 1 }
37
+ )
38
+
39
+ chart.set_x_axis(
40
+ :name => 'XXX',
41
+ :name_font => { :bold => 0, :italic => 1 },
42
+ :num_font => { :size => 11, :bold => 1, :italic => 1 }
43
+ )
44
+
45
+ chart.set_y_axis(
46
+ :name => 'YYY',
47
+ :name_font => { :bold => 1, :italic => 1 },
48
+ :num_font => { :size => 9, :bold => 0, :italic => 1 }
49
+ )
50
+
51
+ worksheet.insert_chart('E9', chart)
52
+
53
+ workbook.close
54
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
55
+ nil,
56
+ { 'xl/charts/chart1.xml' => ['<c:pageMargins'] }
57
+ )
58
+ end
59
+ end
@@ -0,0 +1,57 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartFont04 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_chart_area04
14
+ @xlsx = 'chart_font04.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'bar', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [43944960, 45705472])
21
+
22
+ data = [
23
+ [1, 2, 3, 4, 5],
24
+ [2, 4, 6, 8, 10],
25
+ [3, 6, 9, 12, 15]
26
+ ]
27
+
28
+ worksheet.write('A1', data)
29
+
30
+ chart.add_series(:values => '=Sheet1!$A$1:$A$5')
31
+ chart.add_series(:values => '=Sheet1!$B$1:$B$5')
32
+ chart.add_series(:values => '=Sheet1!$C$1:$C$5')
33
+
34
+ chart.set_title(
35
+ :name => '=Sheet1!$A$1',
36
+ :name_font => { :bold => 0, :italic => 1 }
37
+ )
38
+
39
+ chart.set_x_axis(
40
+ :name => '=Sheet1!$A$2',
41
+ :name_font => { :bold => 0, :italic => 1 }
42
+ )
43
+
44
+ chart.set_y_axis(
45
+ :name => '=Sheet1!$A$3',
46
+ :name_font => { :bold => 1, :italic => 1 }
47
+ )
48
+
49
+ worksheet.insert_chart('E9', chart)
50
+
51
+ workbook.close
52
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
53
+ nil,
54
+ { 'xl/charts/chart1.xml' => ['<c:pageMargins'] }
55
+ )
56
+ end
57
+ end
@@ -0,0 +1,54 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartFont05 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_chart_area05
14
+ @xlsx = 'chart_font05.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'bar', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [49407488, 53740288])
21
+
22
+ data = [
23
+ [1, 2, 3, 4, 5],
24
+ [2, 4, 6, 8, 10],
25
+ [3, 6, 9, 12, 15]
26
+ ]
27
+
28
+ worksheet.write('A1', data)
29
+
30
+ chart.add_series(:values => '=Sheet1!$A$1:$A$5')
31
+ chart.add_series(:values => '=Sheet1!$B$1:$B$5')
32
+ chart.add_series(:values => '=Sheet1!$C$1:$C$5')
33
+
34
+ chart.set_title(:name => 'Title')
35
+
36
+ chart.set_x_axis(
37
+ :name => 'XXX',
38
+ :num_font => { :name => 'Arial', :pitch_family => 34, :charset => 0 }
39
+ )
40
+
41
+ chart.set_y_axis(
42
+ :name => 'YYY',
43
+ :num_font => { :bold => 1, :italic => 1, :underline => 1 }
44
+ )
45
+
46
+ worksheet.insert_chart('E9', chart)
47
+
48
+ workbook.close
49
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
50
+ nil,
51
+ { 'xl/charts/chart1.xml' => ['<c:pageMargins'] }
52
+ )
53
+ end
54
+ end
@@ -0,0 +1,84 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionChartFont06 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_chart_area06
14
+ @xlsx = 'chart_font06.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+ chart = workbook.add_chart(:type => 'bar', :embedded => 1)
18
+
19
+ # For testing, copy the randomly generated axis ids in the target xlsx file.
20
+ chart.instance_variable_set(:@axis_ids, [49407488, 53740288])
21
+
22
+ data = [
23
+ [1, 2, 3, 4, 5],
24
+ [2, 4, 6, 8, 10],
25
+ [3, 6, 9, 12, 15]
26
+ ]
27
+
28
+ worksheet.write('A1', data)
29
+
30
+ chart.add_series(:values => '=Sheet1!$A$1:$A$5')
31
+ chart.add_series(:values => '=Sheet1!$B$1:$B$5')
32
+ chart.add_series(:values => '=Sheet1!$C$1:$C$5')
33
+
34
+ chart.set_title(
35
+ :name => 'Title',
36
+ :name_font => {
37
+ :name => 'Calibri',
38
+ :pitch_family => 34,
39
+ :charset => 0,
40
+ :color => 'yellow'
41
+ }
42
+ )
43
+
44
+ chart.set_x_axis(
45
+ :name => 'XXX',
46
+ :name_font => {
47
+ :name => 'Courier New',
48
+ :pitch_family => 49,
49
+ :charset => 0,
50
+ :color => '#92D050'
51
+ },
52
+ :num_font => {
53
+ :name => 'Arial',
54
+ :pitch_family => 34,
55
+ :charset => 0,
56
+ :color => '#00B0F0'
57
+ },
58
+ )
59
+
60
+ chart.set_y_axis(
61
+ :name => 'YYY',
62
+ :name_font => {
63
+ :name => 'Century',
64
+ :pitch_family => 18,
65
+ :charset => 0,
66
+ :color => 'red'
67
+ },
68
+ :num_font => {
69
+ :bold => 1,
70
+ :italic => 1,
71
+ :underline => 1,
72
+ :color => '#7030A0',
73
+ }
74
+ )
75
+
76
+ worksheet.insert_chart('E9', chart)
77
+
78
+ workbook.close
79
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
80
+ nil,
81
+ { 'xl/charts/chart1.xml' => ['<c:pageMargins'] }
82
+ )
83
+ end
84
+ end