write_xlsx 0.62.0 → 0.64.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 (107) hide show
  1. data/README.rdoc +14 -1
  2. data/examples/chart_data_tools.rb +215 -0
  3. data/examples/chart_pie.rb +36 -5
  4. data/examples/sparklines2.rb +1 -1
  5. data/examples/tab_colors.rb +3 -3
  6. data/lib/write_xlsx/chart.rb +559 -516
  7. data/lib/write_xlsx/chart/area.rb +4 -1
  8. data/lib/write_xlsx/chart/axis.rb +132 -0
  9. data/lib/write_xlsx/chart/bar.rb +17 -9
  10. data/lib/write_xlsx/chart/column.rb +9 -1
  11. data/lib/write_xlsx/chart/line.rb +24 -0
  12. data/lib/write_xlsx/chart/radar.rb +2 -2
  13. data/lib/write_xlsx/chart/scatter.rb +19 -0
  14. data/lib/write_xlsx/chart/stock.rb +10 -3
  15. data/lib/write_xlsx/drawing.rb +43 -44
  16. data/lib/write_xlsx/package/vml.rb +21 -14
  17. data/lib/write_xlsx/shape.rb +173 -22
  18. data/lib/write_xlsx/sparkline.rb +524 -0
  19. data/lib/write_xlsx/version.rb +1 -1
  20. data/lib/write_xlsx/workbook.rb +183 -115
  21. data/lib/write_xlsx/worksheet.rb +821 -1073
  22. data/lib/write_xlsx/worksheet/cell_data.rb +132 -0
  23. data/lib/write_xlsx/worksheet/print_style.rb +51 -0
  24. data/test/chart/test_add_series.rb +31 -6
  25. data/test/chart/test_write_d_lbls.rb +18 -18
  26. data/test/chart/test_write_number_format.rb +20 -24
  27. data/test/drawing/test_drawing_shape_01.rb +1 -1
  28. data/test/drawing/test_drawing_shape_02.rb +2 -2
  29. data/test/drawing/test_drawing_shape_03.rb +5 -5
  30. data/test/drawing/test_drawing_shape_04.rb +3 -3
  31. data/test/drawing/test_drawing_shape_05.rb +4 -4
  32. data/test/drawing/test_drawing_shape_07.rb +2 -2
  33. data/test/perl_output/chart_data_tools.xlsx +0 -0
  34. data/test/perl_output/chart_pie.xlsx +0 -0
  35. data/test/regression/disabled_test_vml04.rb +2 -2
  36. data/test/regression/test_chart_drop_lines01.rb +46 -0
  37. data/test/regression/test_chart_drop_lines02.rb +51 -0
  38. data/test/regression/test_chart_drop_lines03.rb +46 -0
  39. data/test/regression/test_chart_drop_lines04.rb +64 -0
  40. data/test/regression/test_chart_errorbars01.rb +47 -0
  41. data/test/regression/test_chart_errorbars02.rb +57 -0
  42. data/test/regression/test_chart_errorbars03.rb +53 -0
  43. data/test/regression/test_chart_errorbars04.rb +48 -0
  44. data/test/regression/test_chart_errorbars05.rb +47 -0
  45. data/test/regression/test_chart_errorbars06.rb +47 -0
  46. data/test/regression/test_chart_errorbars07.rb +66 -0
  47. data/test/regression/test_chart_font02.rb +1 -1
  48. data/test/regression/test_chart_font06.rb +1 -1
  49. data/test/regression/test_chart_gridlines04.rb +2 -1
  50. data/test/regression/test_chart_gridlines08.rb +2 -1
  51. data/test/regression/test_chart_points01.rb +37 -0
  52. data/test/regression/test_chart_points02.rb +40 -0
  53. data/test/regression/test_chart_points03.rb +42 -0
  54. data/test/regression/test_chart_points04.rb +52 -0
  55. data/test/regression/test_chart_points05.rb +49 -0
  56. data/test/regression/test_chart_points06.rb +49 -0
  57. data/test/regression/test_chartsheet05.rb +1 -1
  58. data/test/regression/test_chartsheet06.rb +1 -1
  59. data/test/regression/test_comment01.rb +1 -1
  60. data/test/regression/test_comment02.rb +1 -1
  61. data/test/regression/test_comment03.rb +1 -1
  62. data/test/regression/test_comment04.rb +2 -2
  63. data/test/regression/test_comment06.rb +1 -1
  64. data/test/regression/test_comment07.rb +1 -1
  65. data/test/regression/test_comment08.rb +1 -1
  66. data/test/regression/test_comment09.rb +1 -1
  67. data/test/regression/test_comment10.rb +1 -1
  68. data/test/regression/test_default_row04.rb +1 -1
  69. data/test/regression/test_escapes02.rb +1 -1
  70. data/test/regression/test_hyperlink15.rb +2 -2
  71. data/test/regression/test_shape_connect01.rb +6 -6
  72. data/test/regression/test_shape_connect02.rb +6 -6
  73. data/test/regression/test_shape_connect03.rb +11 -11
  74. data/test/regression/test_shape_connect04.rb +10 -10
  75. data/test/regression/test_shape_scale01.rb +2 -2
  76. data/test/regression/test_shape_stencil01.rb +3 -3
  77. data/test/regression/test_tab_color01.rb +1 -1
  78. data/test/regression/test_table04.rb +1 -1
  79. data/test/regression/test_table05.rb +1 -1
  80. data/test/regression/test_table06.rb +1 -1
  81. data/test/regression/test_vml01.rb +1 -1
  82. data/test/regression/test_vml02.rb +1 -1
  83. data/test/regression/test_vml03.rb +2 -2
  84. data/test/regression/xlsx_files/chart_drop_lines01.xlsx +0 -0
  85. data/test/regression/xlsx_files/chart_drop_lines02.xlsx +0 -0
  86. data/test/regression/xlsx_files/chart_drop_lines03.xlsx +0 -0
  87. data/test/regression/xlsx_files/chart_drop_lines04.xlsx +0 -0
  88. data/test/regression/xlsx_files/chart_errorbars01.xlsx +0 -0
  89. data/test/regression/xlsx_files/chart_errorbars02.xlsx +0 -0
  90. data/test/regression/xlsx_files/chart_errorbars03.xlsx +0 -0
  91. data/test/regression/xlsx_files/chart_errorbars04.xlsx +0 -0
  92. data/test/regression/xlsx_files/chart_errorbars05.xlsx +0 -0
  93. data/test/regression/xlsx_files/chart_errorbars06.xlsx +0 -0
  94. data/test/regression/xlsx_files/chart_errorbars07.xlsx +0 -0
  95. data/test/regression/xlsx_files/chart_points01.xlsx +0 -0
  96. data/test/regression/xlsx_files/chart_points02.xlsx +0 -0
  97. data/test/regression/xlsx_files/chart_points03.xlsx +0 -0
  98. data/test/regression/xlsx_files/chart_points04.xlsx +0 -0
  99. data/test/regression/xlsx_files/chart_points05.xlsx +0 -0
  100. data/test/regression/xlsx_files/chart_points06.xlsx +0 -0
  101. data/test/regression/xlsx_files/chart_stock02.xlsx +0 -0
  102. data/test/test_example_match.rb +278 -57
  103. data/test/worksheet/test_convert_date_time_02.rb +427 -433
  104. data/test/worksheet/test_convert_date_time_03.rb +1 -1
  105. data/test/worksheet/test_write_sheet_pr.rb +2 -2
  106. data/test/worksheet/test_write_sheet_view1.rb +2 -2
  107. metadata +80 -10
@@ -0,0 +1,132 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ module Writexlsx
4
+ class Worksheet
5
+ class CellData # :nodoc:
6
+ include Writexlsx::Utility
7
+
8
+ attr_reader :row, :col, :token, :xf
9
+ attr_reader :result, :range, :link_type, :url, :tip
10
+
11
+ #
12
+ # attributes for the <cell> element. This is the innermost loop so efficiency is
13
+ # important where possible.
14
+ #
15
+ def cell_attributes #:nodoc:
16
+ xf_index = xf ? xf.get_xf_index : 0
17
+ attributes = ['r', xl_rowcol_to_cell(row, col)]
18
+
19
+ # Add the cell format index.
20
+ if xf_index != 0
21
+ attributes << 's' << xf_index
22
+ elsif @worksheet.set_rows[row] && @worksheet.set_rows[row][1]
23
+ row_xf = @worksheet.set_rows[row][1]
24
+ attributes << 's' << row_xf.get_xf_index
25
+ elsif @worksheet.col_formats[col]
26
+ col_xf = @worksheet.col_formats[col]
27
+ attributes << 's' << col_xf.get_xf_index
28
+ end
29
+ attributes
30
+ end
31
+
32
+ def display_url_string?
33
+ true
34
+ end
35
+ end
36
+
37
+ class NumberCellData < CellData # :nodoc:
38
+ def initialize(worksheet, row, col, num, xf)
39
+ @worksheet = worksheet
40
+ @row, @col, @token, @xf = row, col, num, xf
41
+ end
42
+
43
+ def data
44
+ @token
45
+ end
46
+
47
+ def write_cell
48
+ @worksheet.writer.tag_elements('c', cell_attributes) do
49
+ @worksheet.write_cell_value(token)
50
+ end
51
+ end
52
+ end
53
+
54
+ class StringCellData < CellData # :nodoc:
55
+ def initialize(worksheet, row, col, index, xf)
56
+ @worksheet = worksheet
57
+ @row, @col, @token, @xf = row, col, index, xf
58
+ end
59
+
60
+ def data
61
+ { :sst_id => token }
62
+ end
63
+
64
+ def write_cell
65
+ attributes = cell_attributes
66
+ attributes << 't' << 's'
67
+ @worksheet.writer.tag_elements('c', attributes) do
68
+ @worksheet.write_cell_value(token)
69
+ end
70
+ end
71
+
72
+ def display_url_string?
73
+ false
74
+ end
75
+ end
76
+
77
+ class FormulaCellData < CellData # :nodoc:
78
+ def initialize(worksheet, row, col, formula, xf, result)
79
+ @worksheet = worksheet
80
+ @row, @col, @token, @xf, @result = row, col, formula, xf, result
81
+ end
82
+
83
+ def data
84
+ @result || 0
85
+ end
86
+
87
+ def write_cell
88
+ attributes = cell_attributes
89
+ if @result && !(@result.to_s =~ /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/)
90
+ attributes << 't' << 'str'
91
+ end
92
+ @worksheet.writer.tag_elements('c', attributes) do
93
+ @worksheet.write_cell_formula(token)
94
+ @worksheet.write_cell_value(result || 0)
95
+ end
96
+ end
97
+ end
98
+
99
+ class FormulaArrayCellData < CellData # :nodoc:
100
+ def initialize(worksheet, row, col, formula, xf, range, result)
101
+ @worksheet = worksheet
102
+ @row, @col, @token, @xf, @range, @result = row, col, formula, xf, range, result
103
+ end
104
+
105
+ def data
106
+ @result || 0
107
+ end
108
+
109
+ def write_cell
110
+ @worksheet.writer.tag_elements('c', cell_attributes) do
111
+ @worksheet.write_cell_array_formula(token, range)
112
+ @worksheet.write_cell_value(result)
113
+ end
114
+ end
115
+ end
116
+
117
+ class BlankCellData < CellData # :nodoc:
118
+ def initialize(worksheet, row, col, index, xf)
119
+ @worksheet = worksheet
120
+ @row, @col, @xf = row, col, xf
121
+ end
122
+
123
+ def data
124
+ ''
125
+ end
126
+
127
+ def write_cell
128
+ @worksheet.writer.empty_tag('c', cell_attributes)
129
+ end
130
+ end
131
+ end
132
+ end
@@ -0,0 +1,51 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ module Writexlsx
4
+ class Worksheet
5
+ class PrintStyle # :nodoc:
6
+ attr_accessor :margin_left, :margin_right, :margin_top, :margin_bottom # :nodoc:
7
+ attr_accessor :margin_header, :margin_footer # :nodoc:
8
+ attr_accessor :repeat_rows, :repeat_cols, :print_area # :nodoc:
9
+ attr_accessor :hbreaks, :vbreaks, :scale # :nodoc:
10
+ attr_accessor :fit_page, :fit_width, :fit_height, :page_setup_changed # :nodoc:
11
+ attr_accessor :across # :nodoc:
12
+ attr_accessor :orientation # :nodoc:
13
+
14
+ def initialize # :nodoc:
15
+ @margin_left = 0.7
16
+ @margin_right = 0.7
17
+ @margin_top = 0.75
18
+ @margin_bottom = 0.75
19
+ @margin_header = 0.3
20
+ @margin_footer = 0.3
21
+ @repeat_rows = ''
22
+ @repeat_cols = ''
23
+ @print_area = ''
24
+ @hbreaks = []
25
+ @vbreaks = []
26
+ @scale = 100
27
+ @fit_page = false
28
+ @fit_width = nil
29
+ @fit_height = nil
30
+ @page_setup_changed = false
31
+ @across = false
32
+ @orientation = true
33
+ end
34
+
35
+ def attributes # :nodoc:
36
+ [
37
+ 'left', @margin_left,
38
+ 'right', @margin_right,
39
+ 'top', @margin_top,
40
+ 'bottom', @margin_bottom,
41
+ 'header', @margin_header,
42
+ 'footer', @margin_footer
43
+ ]
44
+ end
45
+
46
+ def orientation?
47
+ !!@orientation
48
+ end
49
+ end
50
+ end
51
+ end
@@ -23,7 +23,12 @@ def test_add_series_only_values
23
23
  :_labels => nil,
24
24
  :_invert_if_neg => nil,
25
25
  :_x2_axis => nil,
26
- :_y2_axis => nil
26
+ :_y2_axis => nil,
27
+ :_error_bars => {
28
+ :_x_error_bars => nil,
29
+ :_y_error_bars => nil
30
+ },
31
+ :_points => nil
27
32
  }
28
33
 
29
34
  @chart.add_series(:values => '=Sheet1!$A$1:$A$5')
@@ -49,7 +54,12 @@ def test_add_series_with_categories_and_values
49
54
  :_labels => nil,
50
55
  :_invert_if_neg => nil,
51
56
  :_x2_axis => nil,
52
- :_y2_axis => nil
57
+ :_y2_axis => nil,
58
+ :_error_bars => {
59
+ :_x_error_bars => nil,
60
+ :_y_error_bars => nil
61
+ },
62
+ :_points => nil
53
63
  }
54
64
  ]
55
65
 
@@ -80,7 +90,12 @@ def test_add_series_only_values_checked_by_array
80
90
  :_labels => nil,
81
91
  :_invert_if_neg => nil,
82
92
  :_x2_axis => nil,
83
- :_y2_axis => nil
93
+ :_y2_axis => nil,
94
+ :_error_bars => {
95
+ :_x_error_bars => nil,
96
+ :_y_error_bars => nil
97
+ },
98
+ :_points => nil
84
99
  }
85
100
  ]
86
101
 
@@ -106,8 +121,13 @@ def test_add_series_both_checked_by_array
106
121
  :_labels => nil,
107
122
  :_invert_if_neg => nil,
108
123
  :_x2_axis => nil,
109
- :_y2_axis => nil
110
- }
124
+ :_y2_axis => nil,
125
+ :_error_bars => {
126
+ :_x_error_bars => nil,
127
+ :_y_error_bars => nil
128
+ },
129
+ :_points => nil
130
+ }
111
131
 
112
132
  @chart.add_series(
113
133
  :categories => [ 'Sheet1', 0, 4, 0, 0 ],
@@ -135,7 +155,12 @@ def test_add_series_secondary_axis
135
155
  :_labels => nil,
136
156
  :_invert_if_neg => nil,
137
157
  :_x2_axis => 1,
138
- :_y2_axis => 1
158
+ :_y2_axis => 1,
159
+ :_error_bars => {
160
+ :_x_error_bars => nil,
161
+ :_y_error_bars => nil
162
+ },
163
+ :_points => nil
139
164
  }
140
165
 
141
166
  @chart.add_series(
@@ -10,7 +10,7 @@ def setup
10
10
  def test_write_d_lbls_value_only
11
11
  expected = '<c:dLbls><c:showVal val="1"/></c:dLbls>'
12
12
 
13
- labels = @chart.__send__(:get_labels_properties, :value => 1)
13
+ labels = @chart.__send__(:labels_properties, :value => 1)
14
14
  @chart.__send__(:write_d_lbls, labels)
15
15
 
16
16
  result = chart_writer_string
@@ -20,7 +20,7 @@ def test_write_d_lbls_value_only
20
20
  def test_write_d_lbls_series_name_only
21
21
  expected = '<c:dLbls><c:showSerName val="1"/></c:dLbls>'
22
22
 
23
- labels = @chart.__send__(:get_labels_properties, :series_name => 1)
23
+ labels = @chart.__send__(:labels_properties, :series_name => 1)
24
24
  @chart.__send__(:write_d_lbls, labels)
25
25
 
26
26
  result = chart_writer_string
@@ -30,7 +30,7 @@ def test_write_d_lbls_series_name_only
30
30
  def test_write_d_lbls_category_only
31
31
  expected = '<c:dLbls><c:showCatName val="1"/></c:dLbls>'
32
32
 
33
- labels = @chart.__send__(:get_labels_properties, :category => 1)
33
+ labels = @chart.__send__(:labels_properties, :category => 1)
34
34
  @chart.__send__(:write_d_lbls, labels)
35
35
 
36
36
  result = chart_writer_string
@@ -40,7 +40,7 @@ def test_write_d_lbls_category_only
40
40
  def test_write_d_lbls_value_category_and_series
41
41
  expected = '<c:dLbls><c:showVal val="1"/><c:showCatName val="1"/><c:showSerName val="1"/></c:dLbls>'
42
42
 
43
- labels = @chart.__send__(:get_labels_properties,
43
+ labels = @chart.__send__(:labels_properties,
44
44
  {
45
45
  :value => 1,
46
46
  :category => 1,
@@ -56,7 +56,7 @@ def test_write_d_lbls_value_category_and_series
56
56
  def test_write_d_lbls_position_center
57
57
  expected = '<c:dLbls><c:dLblPos val="ctr"/><c:showVal val="1"/></c:dLbls>'
58
58
 
59
- labels = @chart.__send__(:get_labels_properties,
59
+ labels = @chart.__send__(:labels_properties,
60
60
  {
61
61
  :value => 1,
62
62
  :position => 'center'
@@ -71,7 +71,7 @@ def test_write_d_lbls_position_center
71
71
  def test_write_d_lbls_position_left
72
72
  expected = '<c:dLbls><c:dLblPos val="l"/><c:showVal val="1"/></c:dLbls>'
73
73
 
74
- labels = @chart.__send__(:get_labels_properties,
74
+ labels = @chart.__send__(:labels_properties,
75
75
  {
76
76
  :value => 1,
77
77
  :position => 'left'
@@ -86,7 +86,7 @@ def test_write_d_lbls_position_left
86
86
  def test_write_d_lbls_position_right
87
87
  expected = '<c:dLbls><c:dLblPos val="r"/><c:showVal val="1"/></c:dLbls>'
88
88
 
89
- labels = @chart.__send__(:get_labels_properties,
89
+ labels = @chart.__send__(:labels_properties,
90
90
  {
91
91
  :value => 1,
92
92
  :position => 'right'
@@ -101,7 +101,7 @@ def test_write_d_lbls_position_right
101
101
  def test_write_d_lbls_position_top
102
102
  expected = '<c:dLbls><c:dLblPos val="t"/><c:showVal val="1"/></c:dLbls>'
103
103
 
104
- labels = @chart.__send__(:get_labels_properties,
104
+ labels = @chart.__send__(:labels_properties,
105
105
  {
106
106
  :value => 1,
107
107
  :position => 'top'
@@ -116,7 +116,7 @@ def test_write_d_lbls_position_top
116
116
  def test_write_d_lbls_position_above
117
117
  expected = '<c:dLbls><c:dLblPos val="t"/><c:showVal val="1"/></c:dLbls>'
118
118
 
119
- labels = @chart.__send__(:get_labels_properties,
119
+ labels = @chart.__send__(:labels_properties,
120
120
  {
121
121
  :value => 1,
122
122
  :position => 'above'
@@ -131,7 +131,7 @@ def test_write_d_lbls_position_above
131
131
  def test_write_d_lbls_position_bottom
132
132
  expected = '<c:dLbls><c:dLblPos val="b"/><c:showVal val="1"/></c:dLbls>'
133
133
 
134
- labels = @chart.__send__(:get_labels_properties,
134
+ labels = @chart.__send__(:labels_properties,
135
135
  {
136
136
  :value => 1,
137
137
  :position => 'bottom'
@@ -146,7 +146,7 @@ def test_write_d_lbls_position_bottom
146
146
  def test_write_d_lbls_position_below
147
147
  expected = '<c:dLbls><c:dLblPos val="b"/><c:showVal val="1"/></c:dLbls>'
148
148
 
149
- labels = @chart.__send__(:get_labels_properties,
149
+ labels = @chart.__send__(:labels_properties,
150
150
  {
151
151
  :value => 1,
152
152
  :position => 'below'
@@ -161,7 +161,7 @@ def test_write_d_lbls_position_below
161
161
  def test_write_d_lbls_pie
162
162
  expected = '<c:dLbls><c:showVal val="1"/><c:showLeaderLines val="1"/></c:dLbls>'
163
163
 
164
- labels = @chart.__send__(:get_labels_properties,
164
+ labels = @chart.__send__(:labels_properties,
165
165
  {
166
166
  :value => 1,
167
167
  :leader_lines => 1
@@ -176,7 +176,7 @@ def test_write_d_lbls_pie
176
176
  def test_write_d_lbls_pie_position_empty
177
177
  expected = '<c:dLbls><c:showVal val="1"/><c:showLeaderLines val="1"/></c:dLbls>'
178
178
 
179
- labels = @chart.__send__(:get_labels_properties,
179
+ labels = @chart.__send__(:labels_properties,
180
180
  {
181
181
  :value => 1,
182
182
  :leader_lines => 1,
@@ -192,7 +192,7 @@ def test_write_d_lbls_pie_position_empty
192
192
  def test_write_d_lbls_pie_position_center
193
193
  expected = '<c:dLbls><c:dLblPos val="ctr"/><c:showVal val="1"/><c:showLeaderLines val="1"/></c:dLbls>'
194
194
 
195
- labels = @chart.__send__(:get_labels_properties,
195
+ labels = @chart.__send__(:labels_properties,
196
196
  {
197
197
  :value => 1,
198
198
  :leader_lines => 1,
@@ -208,7 +208,7 @@ def test_write_d_lbls_pie_position_center
208
208
  def test_write_d_lbls_pie_position_inside_end
209
209
  expected = '<c:dLbls><c:dLblPos val="inEnd"/><c:showVal val="1"/><c:showLeaderLines val="1"/></c:dLbls>'
210
210
 
211
- labels = @chart.__send__(:get_labels_properties,
211
+ labels = @chart.__send__(:labels_properties,
212
212
  {
213
213
  :value => 1,
214
214
  :leader_lines => 1,
@@ -224,7 +224,7 @@ def test_write_d_lbls_pie_position_inside_end
224
224
  def test_write_d_lbls_pie_position_outside_end
225
225
  expected = '<c:dLbls><c:dLblPos val="outEnd"/><c:showVal val="1"/><c:showLeaderLines val="1"/></c:dLbls>'
226
226
 
227
- labels = @chart.__send__(:get_labels_properties,
227
+ labels = @chart.__send__(:labels_properties,
228
228
  {
229
229
  :value => 1,
230
230
  :leader_lines => 1,
@@ -240,7 +240,7 @@ def test_write_d_lbls_pie_position_outside_end
240
240
  def test_write_d_lbls_pie_position_best_fit
241
241
  expected = '<c:dLbls><c:dLblPos val="bestFit"/><c:showVal val="1"/><c:showLeaderLines val="1"/></c:dLbls>'
242
242
 
243
- labels = @chart.__send__(:get_labels_properties,
243
+ labels = @chart.__send__(:labels_properties,
244
244
  {
245
245
  :value => 1,
246
246
  :leader_lines => 1,
@@ -256,7 +256,7 @@ def test_write_d_lbls_pie_position_best_fit
256
256
  def test_write_d_lbls_pie_percentage
257
257
  expected = '<c:dLbls><c:showPercent val="1"/><c:showLeaderLines val="1"/></c:dLbls>'
258
258
 
259
- labels = @chart.__send__(:get_labels_properties,
259
+ labels = @chart.__send__(:labels_properties,
260
260
  {
261
261
  :leader_lines => 1,
262
262
  :percentage => 1
@@ -8,46 +8,42 @@ def setup
8
8
  end
9
9
 
10
10
  def test_write_number_format
11
+ axis = Writexlsx::Chart::Axis.new
12
+ axis.num_format = 'General'
13
+ axis.defaults = { :num_format => 'General' }
14
+
11
15
  expected = '<c:numFmt formatCode="General" sourceLinked="1"/>'
12
- result = @chart.__send__('write_number_format',
13
- {
14
- :_num_format => 'General',
15
- :defaults => { :num_format => 'General' }
16
- }
17
- )
16
+ result = @chart.__send__('write_number_format', axis)
18
17
  assert_equal(expected, result)
19
18
  end
20
19
 
21
20
  def test_write_number_format02
21
+ axis = Writexlsx::Chart::Axis.new
22
+ axis.num_format = '#,##0.00'
23
+ axis.defaults = { :num_format => 'General' }
24
+
22
25
  expected = '<c:numFmt formatCode="#,##0.00" sourceLinked="0"/>'
23
- result = @chart.__send__('write_number_format',
24
- {
25
- :_num_format => '#,##0.00',
26
- :_defaults => { :num_format => 'General' }
27
- }
28
- )
26
+ result = @chart.__send__('write_number_format', axis)
29
27
  assert_equal(expected, result)
30
28
  end
31
29
 
32
30
  def test_write_number_format03
31
+ axis = Writexlsx::Chart::Axis.new
32
+ axis.num_format = 'General'
33
+ axis.defaults = { :num_format => 'General' }
34
+
33
35
  expected = ''
34
- result = @chart.__send__('write_cat_number_format',
35
- {
36
- :_num_format => 'General',
37
- :_defaults => { :num_format => 'General' }
38
- }
39
- )
36
+ result = @chart.__send__('write_cat_number_format', axis)
40
37
  assert_equal(expected, result)
41
38
  end
42
39
 
43
40
  def test_write_number_format04
41
+ axis = Writexlsx::Chart::Axis.new
42
+ axis.num_format = '#,##0.00'
43
+ axis.defaults = { :num_format => 'General' }
44
+
44
45
  expected = '<c:numFmt formatCode="#,##0.00" sourceLinked="0"/>'
45
- result = @chart.__send__('write_cat_number_format',
46
- {
47
- :_num_format => '#,##0.00',
48
- :_defaults => { :num_format => 'General' }
49
- }
50
- )
46
+ result = @chart.__send__('write_cat_number_format', axis)
51
47
  assert_equal(expected, result)
52
48
  end
53
49
  end