write_xlsx 0.62.0 → 0.64.0

Sign up to get free protection for your applications and to get access to all the features.
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