caxlsx 3.0.0 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +126 -31
  3. data/README.md +78 -170
  4. data/examples/{image1.jpeg → assets/image1.jpeg} +0 -0
  5. data/examples/generate.rb +15 -0
  6. data/lib/axlsx.rb +2 -3
  7. data/lib/axlsx/drawing/bar_chart.rb +3 -3
  8. data/lib/axlsx/drawing/bar_series.rb +3 -5
  9. data/lib/axlsx/drawing/d_lbls.rb +1 -1
  10. data/lib/axlsx/drawing/pie_series.rb +1 -1
  11. data/lib/axlsx/drawing/series_title.rb +3 -1
  12. data/lib/axlsx/drawing/title.rb +3 -2
  13. data/lib/axlsx/package.rb +53 -19
  14. data/lib/axlsx/rels/relationship.rb +26 -25
  15. data/lib/axlsx/stylesheet/font.rb +10 -2
  16. data/lib/axlsx/util/constants.rb +2 -1
  17. data/lib/axlsx/util/mime_type_utils.rb +1 -1
  18. data/lib/axlsx/util/validators.rb +2 -2
  19. data/lib/axlsx/util/zip_command.rb +73 -0
  20. data/lib/axlsx/version.rb +1 -1
  21. data/lib/axlsx/workbook/workbook.rb +0 -9
  22. data/lib/axlsx/workbook/worksheet/cell.rb +32 -5
  23. data/lib/axlsx/workbook/worksheet/col.rb +8 -4
  24. data/lib/axlsx/workbook/worksheet/data_validation.rb +4 -4
  25. data/lib/axlsx/workbook/worksheet/pivot_table.rb +7 -2
  26. data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +1 -1
  27. data/lib/axlsx/workbook/worksheet/rich_text_run.rb +1 -1
  28. data/lib/axlsx/workbook/worksheet/row.rb +6 -3
  29. data/lib/axlsx/workbook/worksheet/table.rb +1 -1
  30. data/lib/axlsx/workbook/worksheet/worksheet.rb +17 -4
  31. data/lib/caxlsx.rb +2 -0
  32. data/test/drawing/tc_drawing.rb +2 -2
  33. data/test/drawing/tc_hyperlink.rb +1 -1
  34. data/test/drawing/tc_one_cell_anchor.rb +1 -1
  35. data/test/drawing/tc_pic.rb +4 -4
  36. data/test/drawing/tc_pie_series.rb +2 -1
  37. data/test/drawing/tc_series_title.rb +21 -0
  38. data/test/drawing/tc_title.rb +16 -0
  39. data/test/fixtures/image1.gif +0 -0
  40. data/test/fixtures/image1.jpeg +0 -0
  41. data/test/fixtures/image1.jpg +0 -0
  42. data/test/fixtures/image1.png +0 -0
  43. data/test/fixtures/image1_fake.jpg +0 -0
  44. data/test/rels/tc_relationship.rb +8 -0
  45. data/test/stylesheet/tc_font.rb +14 -2
  46. data/test/stylesheet/tc_styles.rb +27 -1
  47. data/test/tc_axlsx.rb +6 -0
  48. data/test/tc_helper.rb +0 -2
  49. data/test/tc_package.rb +82 -13
  50. data/test/util/tc_mime_type_utils.rb +1 -1
  51. data/test/util/tc_validators.rb +1 -1
  52. data/test/workbook/worksheet/tc_cell.rb +68 -2
  53. data/test/workbook/worksheet/tc_col.rb +16 -1
  54. data/test/workbook/worksheet/tc_pivot_table.rb +8 -0
  55. data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +8 -0
  56. data/test/workbook/worksheet/tc_rich_text_run.rb +3 -2
  57. data/test/workbook/worksheet/tc_row.rb +38 -0
  58. data/test/workbook/worksheet/tc_table.rb +10 -0
  59. data/test/workbook/worksheet/tc_worksheet.rb +24 -15
  60. metadata +130 -151
  61. data/examples/2010_comments.rb +0 -17
  62. data/examples/anchor_swapping.rb +0 -28
  63. data/examples/auto_filter.rb +0 -25
  64. data/examples/basic_charts.rb +0 -58
  65. data/examples/chart_colors.rb +0 -88
  66. data/examples/colored_links.rb +0 -59
  67. data/examples/conditional_formatting/example_conditional_formatting.rb +0 -89
  68. data/examples/conditional_formatting/getting_barred.rb +0 -37
  69. data/examples/conditional_formatting/hitting_the_high_notes.rb +0 -37
  70. data/examples/conditional_formatting/scaled_colors.rb +0 -39
  71. data/examples/conditional_formatting/stop_and_go.rb +0 -37
  72. data/examples/data_validation.rb +0 -67
  73. data/examples/example.rb +0 -885
  74. data/examples/extractive.rb +0 -45
  75. data/examples/ios_preview.rb +0 -14
  76. data/examples/merge_cells.rb +0 -17
  77. data/examples/no_grid_with_borders.rb +0 -18
  78. data/examples/page_setup.rb +0 -11
  79. data/examples/pivot_table.rb +0 -39
  80. data/examples/pivot_test.rb +0 -63
  81. data/examples/sheet_protection.rb +0 -10
  82. data/examples/skydrive/real_example.rb +0 -63
  83. data/examples/split.rb +0 -16
  84. data/examples/styles.rb +0 -66
  85. data/examples/underline.rb +0 -13
  86. data/examples/wrap_text.rb +0 -21
  87. data/lib/axlsx/util/parser.rb +0 -44
@@ -7,7 +7,7 @@ class TestCol < Test::Unit::TestCase
7
7
  end
8
8
 
9
9
  def test_initialize
10
- options = { :width => 12, :collapsed => true, :hidden => true, :outline_level => 1, :phonetic => true, :style => 1}
10
+ options = { :width => 12, :collapsed => true, :hidden => true, :outline_level => 1, :phonetic => true, :style => 1}
11
11
 
12
12
  col = Axlsx::Col.new 0, 0, options
13
13
  options.each{ |key, value| assert_equal(col.send(key.to_sym), value) }
@@ -39,6 +39,21 @@ class TestCol < Test::Unit::TestCase
39
39
  assert_equal(@col.customWidth, true, 'customWidth is true when width is set')
40
40
  end
41
41
 
42
+ def test_widthUnderLimit
43
+ @col.width = 3
44
+ assert_equal(@col.width, 3, 'width is set to exact value')
45
+ end
46
+
47
+ def test_widthOverLimit
48
+ @col.width = 31337
49
+ assert_equal(@col.width, 255, 'width is set to maximum allowed value')
50
+ end
51
+
52
+ def test_widthSetToNil
53
+ @col.width = nil
54
+ assert_equal(@col.width, nil, 'width is set to unspecified value')
55
+ end
56
+
42
57
  def test_hidden
43
58
  assert_equal(@col.hidden, nil)
44
59
  assert_raise(ArgumentError, 'hidden must be boolean(ish)') { @col.hidden = 'bob' }
@@ -132,4 +132,12 @@ class TestPivotTable < Test::Unit::TestCase
132
132
  end
133
133
  shared_test_pivot_table_xml_validity(pivot_table)
134
134
  end
135
+
136
+ def test_add_pivot_table_with_format_options_on_data_field
137
+ pivot_table = @ws.add_pivot_table('G5:G6', 'A1:E5') do |pt|
138
+ pt.data = [{:ref=>"Sales", :subtotal => 'sum', num_fmt: 4}]
139
+ end
140
+ doc = Nokogiri::XML(pivot_table.to_xml_string)
141
+ assert_equal('4', doc.at_css('dataFields dataField')['numFmtId'], 'adding format options to pivot_table')
142
+ end
135
143
  end
@@ -51,4 +51,12 @@ class TestPivotTableCacheDefinition < Test::Unit::TestCase
51
51
  assert(errors.empty?, "error free validation")
52
52
  end
53
53
 
54
+ def test_to_xml_string_for_special_characters
55
+ cell = @ws.rows.first.cells.first
56
+ cell.value = "&><'\""
57
+
58
+ doc = Nokogiri::XML(@cache_definition.to_xml_string)
59
+ errors = doc.errors
60
+ assert(errors.empty?, "invalid xml: #{errors.map(&:to_s).join(', ')}")
61
+ end
54
62
  end
@@ -148,8 +148,9 @@ class RichTextRun < Test::Unit::TestCase
148
148
  @ws.add_row [rt], :style => wrap
149
149
  ar = [0]
150
150
  awtr.autowidth(ar)
151
- assert_equal(ar.length, 2)
152
- assert_equal(ar.last, 0)
151
+ assert_equal(2, ar.length)
152
+ assert_equal(13.2, ar[0])
153
+ assert_equal(0, ar[1])
153
154
  end
154
155
 
155
156
  def test_to_xml
@@ -60,6 +60,23 @@ class TestRow < Test::Unit::TestCase
60
60
 
61
61
  end
62
62
 
63
+ def test_array_to_cells_with_escape_formulas
64
+ row = ['=HYPERLINK("http://www.example.com", "CSV Payload")', '=Bar']
65
+ @ws.add_row row, escape_formulas: true
66
+
67
+ assert_equal @ws.rows.last.cells[0].escape_formulas, true
68
+ assert_equal @ws.rows.last.cells[1].escape_formulas, true
69
+ end
70
+
71
+ def test_array_to_cells_with_escape_formulas_as_an_array
72
+ row = ['=HYPERLINK("http://www.example.com", "CSV Payload")', '+Foo', '-Bar']
73
+ @ws.add_row row, escape_formulas: [true, false, true]
74
+
75
+ assert_equal @ws.rows.last.cells.first.escape_formulas, true
76
+ assert_equal @ws.rows.last.cells[1].escape_formulas, false
77
+ assert_equal @ws.rows.last.cells[2].escape_formulas, true
78
+ end
79
+
63
80
  def test_custom_height
64
81
  @row.height = 20
65
82
  assert(@row.custom_height)
@@ -119,4 +136,25 @@ class TestRow < Test::Unit::TestCase
119
136
  assert_equal(r_s_xml.xpath(".//row[@r=1][@ht=20][@customHeight=1]").size, 1)
120
137
  end
121
138
 
139
+ def test_offsets
140
+ offset = 3
141
+ values = [1,2,3,4,5]
142
+ r = @ws.add_row(values, offset: offset, style: 1)
143
+ r.cells.each_with_index do |c, index|
144
+ assert_equal(c.style, index < offset ? 0 : 1)
145
+ assert_equal(c.value, index < offset ? nil : values[index - offset])
146
+ end
147
+ end
148
+
149
+ def test_offsets_with_styles
150
+ offset = 3
151
+ values = [1,2,3,4,5]
152
+ styles = (1..5).map{ @ws.workbook.styles.add_style }
153
+ r = @ws.add_row(values, offset: offset, style: styles)
154
+ r.cells.each_with_index do |c, index|
155
+ assert_equal(c.style, index < offset ? 0 : styles[index-offset])
156
+ assert_equal(c.value, index < offset ? nil : values[index - offset])
157
+ end
158
+ end
159
+
122
160
  end
@@ -64,4 +64,14 @@ class TestTable < Test::Unit::TestCase
64
64
  end
65
65
  assert(errors.empty?, "error free validation")
66
66
  end
67
+
68
+ def test_to_xml_string_for_special_characters
69
+ cell = @ws.rows.first.cells.first
70
+ cell.value = "&><'\""
71
+
72
+ table = @ws.add_table("A1:D5")
73
+ doc = Nokogiri::XML(table.to_xml_string)
74
+ errors = doc.errors
75
+ assert(errors.empty?, "invalid xml: #{errors.map(&:to_s).join(', ')}")
76
+ end
67
77
  end
@@ -29,6 +29,30 @@ class TestWorksheet < Test::Unit::TestCase
29
29
  assert_raises(ArgumentError) { @ws.name = 'foo?bar' }
30
30
  end
31
31
 
32
+ def test_name_unique
33
+ assert_raise(ArgumentError, "worksheet name must be unique") { n = @ws.name; @ws.workbook.add_worksheet(:name=> n) }
34
+ end
35
+
36
+ def test_name_unique_only_checks_other_worksheet_names
37
+ assert_nothing_raised { @ws.name = @ws.name }
38
+ assert_nothing_raised { Axlsx::Package.new.workbook.add_worksheet :name => 'Sheet1' }
39
+ end
40
+
41
+ def test_exception_if_name_too_long
42
+ assert_nothing_raised { @ws.name = 'x' * 31 }
43
+ assert_raises(ArgumentError) { @ws.name = 'x' * 32 }
44
+ end
45
+
46
+ def test_exception_if_name_too_long_because_of_multibyte_characters
47
+ four_characters_for_excel = "\u{1F1EB 1F1F7}" # french flag emoji
48
+ assert_raises(ArgumentError, "name too long!") do
49
+ @ws.name = four_characters_for_excel + "x" * 28
50
+ end
51
+ assert_nothing_raised { @ws.name = "#{four_characters_for_excel}123456789012345678901234567" }
52
+ assert_nothing_raised { @ws.name = "123456789012345678901234567890…" }
53
+ assert_nothing_raised { @ws.name = "123456789012345678901234567890✔" }
54
+ end
55
+
32
56
  def test_page_margins
33
57
  assert(@ws.page_margins.is_a? Axlsx::PageMargins)
34
58
  end
@@ -449,21 +473,6 @@ class TestWorksheet < Test::Unit::TestCase
449
473
  assert_equal(@ws.relationships.size, 4, "adding a pivot table adds 1 relationship")
450
474
  end
451
475
 
452
-
453
- def test_name_unique
454
- assert_raise(ArgumentError, "worksheet name must be unique") { n = @ws.name; @ws.workbook.add_worksheet(:name=> n) }
455
- end
456
-
457
- def test_name_unique_only_checks_other_worksheet_names
458
- assert_nothing_raised { @ws.name = @ws.name }
459
- assert_nothing_raised { Axlsx::Package.new.workbook.add_worksheet :name => 'Sheet1' }
460
- end
461
-
462
- def test_name_size
463
- assert_raise(ArgumentError, "name too long!") { @ws.name = Array.new(32, "A").join() }
464
- assert_nothing_raised { @ws.name = Array.new(31, "A").join() }
465
- end
466
-
467
476
  def test_set_fixed_width_column
468
477
  @ws.add_row ["mule", "donkey", "horse"], :widths => [20, :ignore, nil]
469
478
  assert(@ws.column_info.size == 3, "a data item for each column")
metadata CHANGED
@@ -1,16 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: caxlsx
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Randy Morgan
8
8
  - Jurriaan Pruis
9
- - Noel Peden
10
- autorequire:
9
+ autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2019-09-08 00:00:00.000000000 Z
12
+ date: 2021-03-28 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: nokogiri
@@ -18,40 +17,40 @@ dependencies:
18
17
  requirements:
19
18
  - - "~>"
20
19
  - !ruby/object:Gem::Version
21
- version: '1.8'
20
+ version: '1.10'
22
21
  - - ">="
23
22
  - !ruby/object:Gem::Version
24
- version: 1.8.2
23
+ version: 1.10.4
25
24
  type: :runtime
26
25
  prerelease: false
27
26
  version_requirements: !ruby/object:Gem::Requirement
28
27
  requirements:
29
28
  - - "~>"
30
29
  - !ruby/object:Gem::Version
31
- version: '1.8'
30
+ version: '1.10'
32
31
  - - ">="
33
32
  - !ruby/object:Gem::Version
34
- version: 1.8.2
33
+ version: 1.10.4
35
34
  - !ruby/object:Gem::Dependency
36
35
  name: rubyzip
37
36
  requirement: !ruby/object:Gem::Requirement
38
37
  requirements:
39
- - - "~>"
40
- - !ruby/object:Gem::Version
41
- version: '1.2'
42
38
  - - ">="
43
39
  - !ruby/object:Gem::Version
44
- version: 1.2.1
40
+ version: 1.3.0
41
+ - - "<"
42
+ - !ruby/object:Gem::Version
43
+ version: '3'
45
44
  type: :runtime
46
45
  prerelease: false
47
46
  version_requirements: !ruby/object:Gem::Requirement
48
47
  requirements:
49
- - - "~>"
50
- - !ruby/object:Gem::Version
51
- version: '1.2'
52
48
  - - ">="
53
49
  - !ruby/object:Gem::Version
54
- version: 1.2.1
50
+ version: 1.3.0
51
+ - - "<"
52
+ - !ruby/object:Gem::Version
53
+ version: '3'
55
54
  - !ruby/object:Gem::Dependency
56
55
  name: htmlentities
57
56
  requirement: !ruby/object:Gem::Requirement
@@ -73,19 +72,19 @@ dependencies:
73
72
  - !ruby/object:Gem::Version
74
73
  version: 4.3.4
75
74
  - !ruby/object:Gem::Dependency
76
- name: mimemagic
75
+ name: marcel
77
76
  requirement: !ruby/object:Gem::Requirement
78
77
  requirements:
79
78
  - - "~>"
80
79
  - !ruby/object:Gem::Version
81
- version: '0.3'
80
+ version: '1.0'
82
81
  type: :runtime
83
82
  prerelease: false
84
83
  version_requirements: !ruby/object:Gem::Requirement
85
84
  requirements:
86
85
  - - "~>"
87
86
  - !ruby/object:Gem::Version
88
- version: '0.3'
87
+ version: '1.0'
89
88
  - !ruby/object:Gem::Dependency
90
89
  name: yard
91
90
  requirement: !ruby/object:Gem::Requirement
@@ -106,20 +105,14 @@ dependencies:
106
105
  requirements:
107
106
  - - "~>"
108
107
  - !ruby/object:Gem::Version
109
- version: '1.16'
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- version: 1.16.2
108
+ version: '2.3'
113
109
  type: :development
114
110
  prerelease: false
115
111
  version_requirements: !ruby/object:Gem::Requirement
116
112
  requirements:
117
113
  - - "~>"
118
114
  - !ruby/object:Gem::Version
119
- version: '1.16'
120
- - - ">="
121
- - !ruby/object:Gem::Version
122
- version: 1.16.2
115
+ version: '2.3'
123
116
  - !ruby/object:Gem::Dependency
124
117
  name: timecop
125
118
  requirement: !ruby/object:Gem::Requirement
@@ -152,33 +145,8 @@ files:
152
145
  - LICENSE
153
146
  - README.md
154
147
  - Rakefile
155
- - examples/2010_comments.rb
156
- - examples/anchor_swapping.rb
157
- - examples/auto_filter.rb
158
- - examples/basic_charts.rb
159
- - examples/chart_colors.rb
160
- - examples/colored_links.rb
161
- - examples/conditional_formatting/example_conditional_formatting.rb
162
- - examples/conditional_formatting/getting_barred.rb
163
- - examples/conditional_formatting/hitting_the_high_notes.rb
164
- - examples/conditional_formatting/scaled_colors.rb
165
- - examples/conditional_formatting/stop_and_go.rb
166
- - examples/data_validation.rb
167
- - examples/example.rb
168
- - examples/extractive.rb
169
- - examples/image1.jpeg
170
- - examples/ios_preview.rb
171
- - examples/merge_cells.rb
172
- - examples/no_grid_with_borders.rb
173
- - examples/page_setup.rb
174
- - examples/pivot_table.rb
175
- - examples/pivot_test.rb
176
- - examples/sheet_protection.rb
177
- - examples/skydrive/real_example.rb
178
- - examples/split.rb
179
- - examples/styles.rb
180
- - examples/underline.rb
181
- - examples/wrap_text.rb
148
+ - examples/assets/image1.jpeg
149
+ - examples/generate.rb
182
150
  - lib/axlsx.rb
183
151
  - lib/axlsx/content_type/abstract_content_type.rb
184
152
  - lib/axlsx/content_type/content_type.rb
@@ -253,11 +221,11 @@ files:
253
221
  - lib/axlsx/util/constants.rb
254
222
  - lib/axlsx/util/mime_type_utils.rb
255
223
  - lib/axlsx/util/options_parser.rb
256
- - lib/axlsx/util/parser.rb
257
224
  - lib/axlsx/util/serialized_attributes.rb
258
225
  - lib/axlsx/util/simple_typed_list.rb
259
226
  - lib/axlsx/util/storage.rb
260
227
  - lib/axlsx/util/validators.rb
228
+ - lib/axlsx/util/zip_command.rb
261
229
  - lib/axlsx/version.rb
262
230
  - lib/axlsx/workbook/defined_name.rb
263
231
  - lib/axlsx/workbook/defined_names.rb
@@ -320,6 +288,7 @@ files:
320
288
  - lib/axlsx/workbook/worksheet/worksheet_drawing.rb
321
289
  - lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb
322
290
  - lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb
291
+ - lib/caxlsx.rb
323
292
  - lib/schema/dc.xsd
324
293
  - lib/schema/dcmitype.xsd
325
294
  - lib/schema/dcterms.xsd
@@ -404,6 +373,11 @@ files:
404
373
  - test/drawing/tc_view_3D.rb
405
374
  - test/drawing/tc_vml_drawing.rb
406
375
  - test/drawing/tc_vml_shape.rb
376
+ - test/fixtures/image1.gif
377
+ - test/fixtures/image1.jpeg
378
+ - test/fixtures/image1.jpg
379
+ - test/fixtures/image1.png
380
+ - test/fixtures/image1_fake.jpg
407
381
  - test/profile.rb
408
382
  - test/rels/tc_relationship.rb
409
383
  - test/rels/tc_relationships.rb
@@ -474,11 +448,11 @@ files:
474
448
  - test/workbook/worksheet/tc_table_style_info.rb
475
449
  - test/workbook/worksheet/tc_worksheet.rb
476
450
  - test/workbook/worksheet/tc_worksheet_hyperlink.rb
477
- homepage: https://github.com/caxlsx/axlsx
451
+ homepage: https://github.com/caxlsx/caxlsx
478
452
  licenses:
479
453
  - MIT
480
454
  metadata: {}
481
- post_install_message:
455
+ post_install_message:
482
456
  rdoc_options: []
483
457
  require_paths:
484
458
  - lib
@@ -486,134 +460,139 @@ required_ruby_version: !ruby/object:Gem::Requirement
486
460
  requirements:
487
461
  - - ">="
488
462
  - !ruby/object:Gem::Version
489
- version: 1.9.2
463
+ version: '2.3'
490
464
  required_rubygems_version: !ruby/object:Gem::Requirement
491
465
  requirements:
492
466
  - - ">="
493
467
  - !ruby/object:Gem::Version
494
468
  version: '0'
495
469
  requirements: []
496
- rubygems_version: 3.0.4
497
- signing_key:
470
+ rubygems_version: 3.0.3
471
+ signing_key:
498
472
  specification_version: 4
499
473
  summary: Excel OOXML (xlsx) with charts, styles, images and autowidth columns.
500
474
  test_files:
501
- - test/drawing/tc_num_data.rb
502
- - test/drawing/tc_two_cell_anchor.rb
503
- - test/drawing/tc_view_3D.rb
504
- - test/drawing/tc_series_title.rb
505
- - test/drawing/tc_cat_axis.rb
506
- - test/drawing/tc_chart.rb
507
- - test/drawing/tc_num_val.rb
475
+ - test/benchmark.rb
476
+ - test/content_type/tc_content_type.rb
477
+ - test/content_type/tc_default.rb
478
+ - test/content_type/tc_override.rb
479
+ - test/doc_props/tc_app.rb
480
+ - test/doc_props/tc_core.rb
481
+ - test/drawing/tc_area_chart.rb
482
+ - test/drawing/tc_area_series.rb
483
+ - test/drawing/tc_axes.rb
508
484
  - test/drawing/tc_axis.rb
509
- - test/drawing/tc_line_chart.rb
510
- - test/drawing/tc_marker.rb
485
+ - test/drawing/tc_bar_3D_chart.rb
486
+ - test/drawing/tc_bar_chart.rb
487
+ - test/drawing/tc_bar_series.rb
488
+ - test/drawing/tc_bubble_chart.rb
511
489
  - test/drawing/tc_bubble_series.rb
490
+ - test/drawing/tc_cat_axis.rb
491
+ - test/drawing/tc_cat_axis_data.rb
492
+ - test/drawing/tc_chart.rb
512
493
  - test/drawing/tc_d_lbls.rb
513
- - test/drawing/tc_str_val.rb
514
- - test/drawing/tc_bar_chart.rb
494
+ - test/drawing/tc_data_source.rb
495
+ - test/drawing/tc_drawing.rb
496
+ - test/drawing/tc_graphic_frame.rb
497
+ - test/drawing/tc_hyperlink.rb
515
498
  - test/drawing/tc_line_3d_chart.rb
516
- - test/drawing/tc_cat_axis_data.rb
517
- - test/drawing/tc_area_chart.rb
499
+ - test/drawing/tc_line_chart.rb
518
500
  - test/drawing/tc_line_series.rb
519
- - test/drawing/tc_scatter_series.rb
520
- - test/drawing/tc_bar_series.rb
521
- - test/drawing/tc_hyperlink.rb
522
- - test/drawing/tc_pic.rb
501
+ - test/drawing/tc_marker.rb
523
502
  - test/drawing/tc_named_axis_data.rb
524
- - test/drawing/tc_bubble_chart.rb
525
- - test/drawing/tc_str_data.rb
526
- - test/drawing/tc_drawing.rb
503
+ - test/drawing/tc_num_data.rb
504
+ - test/drawing/tc_num_val.rb
505
+ - test/drawing/tc_one_cell_anchor.rb
506
+ - test/drawing/tc_pic.rb
507
+ - test/drawing/tc_picture_locking.rb
508
+ - test/drawing/tc_pie_3D_chart.rb
509
+ - test/drawing/tc_pie_series.rb
510
+ - test/drawing/tc_scaling.rb
527
511
  - test/drawing/tc_scatter_chart.rb
512
+ - test/drawing/tc_scatter_series.rb
513
+ - test/drawing/tc_ser_axis.rb
528
514
  - test/drawing/tc_series.rb
515
+ - test/drawing/tc_series_title.rb
516
+ - test/drawing/tc_str_data.rb
517
+ - test/drawing/tc_str_val.rb
529
518
  - test/drawing/tc_title.rb
530
- - test/drawing/tc_ser_axis.rb
531
- - test/drawing/tc_picture_locking.rb
532
- - test/drawing/tc_pie_series.rb
533
- - test/drawing/tc_vml_shape.rb
534
- - test/drawing/tc_axes.rb
535
- - test/drawing/tc_vml_drawing.rb
536
- - test/drawing/tc_pie_3D_chart.rb
537
- - test/drawing/tc_area_series.rb
538
- - test/drawing/tc_graphic_frame.rb
539
- - test/drawing/tc_one_cell_anchor.rb
540
- - test/drawing/tc_data_source.rb
519
+ - test/drawing/tc_two_cell_anchor.rb
541
520
  - test/drawing/tc_val_axis.rb
542
- - test/drawing/tc_scaling.rb
543
- - test/drawing/tc_bar_3D_chart.rb
544
- - test/util/tc_simple_typed_list.rb
545
- - test/util/tc_mime_type_utils.rb
546
- - test/util/tc_validators.rb
547
- - test/util/tc_serialized_attributes.rb
548
- - test/tc_axlsx.rb
549
- - test/stylesheet/tc_fill.rb
521
+ - test/drawing/tc_view_3D.rb
522
+ - test/drawing/tc_vml_drawing.rb
523
+ - test/drawing/tc_vml_shape.rb
524
+ - test/fixtures/image1.gif
525
+ - test/fixtures/image1.jpeg
526
+ - test/fixtures/image1.jpg
527
+ - test/fixtures/image1.png
528
+ - test/fixtures/image1_fake.jpg
529
+ - test/profile.rb
530
+ - test/rels/tc_relationship.rb
531
+ - test/rels/tc_relationships.rb
550
532
  - test/stylesheet/tc_border.rb
551
- - test/stylesheet/tc_gradient_stop.rb
552
- - test/stylesheet/tc_gradient_fill.rb
553
- - test/stylesheet/tc_table_style.rb
554
- - test/stylesheet/tc_font.rb
555
- - test/stylesheet/tc_pattern_fill.rb
556
- - test/stylesheet/tc_color.rb
557
- - test/stylesheet/tc_num_fmt.rb
558
- - test/stylesheet/tc_styles.rb
559
533
  - test/stylesheet/tc_border_pr.rb
534
+ - test/stylesheet/tc_cell_alignment.rb
560
535
  - test/stylesheet/tc_cell_protection.rb
561
- - test/stylesheet/tc_xf.rb
562
536
  - test/stylesheet/tc_cell_style.rb
563
- - test/stylesheet/tc_table_styles.rb
537
+ - test/stylesheet/tc_color.rb
564
538
  - test/stylesheet/tc_dxf.rb
539
+ - test/stylesheet/tc_fill.rb
540
+ - test/stylesheet/tc_font.rb
541
+ - test/stylesheet/tc_gradient_fill.rb
542
+ - test/stylesheet/tc_gradient_stop.rb
543
+ - test/stylesheet/tc_num_fmt.rb
544
+ - test/stylesheet/tc_pattern_fill.rb
545
+ - test/stylesheet/tc_styles.rb
546
+ - test/stylesheet/tc_table_style.rb
565
547
  - test/stylesheet/tc_table_style_element.rb
566
- - test/stylesheet/tc_cell_alignment.rb
548
+ - test/stylesheet/tc_table_styles.rb
549
+ - test/stylesheet/tc_xf.rb
550
+ - test/tc_axlsx.rb
567
551
  - test/tc_helper.rb
568
- - test/doc_props/tc_core.rb
569
- - test/doc_props/tc_app.rb
570
- - test/content_type/tc_override.rb
571
- - test/content_type/tc_content_type.rb
572
- - test/content_type/tc_default.rb
573
- - test/rels/tc_relationship.rb
574
- - test/rels/tc_relationships.rb
575
- - test/profile.rb
576
- - test/benchmark.rb
577
552
  - test/tc_package.rb
578
- - test/workbook/tc_workbook_view.rb
553
+ - test/util/tc_mime_type_utils.rb
554
+ - test/util/tc_serialized_attributes.rb
555
+ - test/util/tc_simple_typed_list.rb
556
+ - test/util/tc_validators.rb
579
557
  - test/workbook/tc_defined_name.rb
558
+ - test/workbook/tc_shared_strings_table.rb
559
+ - test/workbook/tc_workbook.rb
560
+ - test/workbook/tc_workbook_view.rb
561
+ - test/workbook/worksheet/auto_filter/tc_auto_filter.rb
562
+ - test/workbook/worksheet/auto_filter/tc_filter_column.rb
563
+ - test/workbook/worksheet/auto_filter/tc_filters.rb
564
+ - test/workbook/worksheet/tc_break.rb
565
+ - test/workbook/worksheet/tc_cell.rb
566
+ - test/workbook/worksheet/tc_cfvo.rb
567
+ - test/workbook/worksheet/tc_col.rb
568
+ - test/workbook/worksheet/tc_color_scale.rb
569
+ - test/workbook/worksheet/tc_comment.rb
570
+ - test/workbook/worksheet/tc_comments.rb
571
+ - test/workbook/worksheet/tc_conditional_formatting.rb
580
572
  - test/workbook/worksheet/tc_data_bar.rb
581
- - test/workbook/worksheet/tc_worksheet_hyperlink.rb
582
573
  - test/workbook/worksheet/tc_data_validation.rb
574
+ - test/workbook/worksheet/tc_date_time_converter.rb
575
+ - test/workbook/worksheet/tc_header_footer.rb
576
+ - test/workbook/worksheet/tc_icon_set.rb
577
+ - test/workbook/worksheet/tc_outline_pr.rb
578
+ - test/workbook/worksheet/tc_page_margins.rb
579
+ - test/workbook/worksheet/tc_page_set_up_pr.rb
580
+ - test/workbook/worksheet/tc_page_setup.rb
581
+ - test/workbook/worksheet/tc_pane.rb
582
+ - test/workbook/worksheet/tc_pivot_table.rb
583
583
  - test/workbook/worksheet/tc_pivot_table_cache_definition.rb
584
+ - test/workbook/worksheet/tc_print_options.rb
584
585
  - test/workbook/worksheet/tc_protected_range.rb
585
- - test/workbook/worksheet/tc_selection.rb
586
586
  - test/workbook/worksheet/tc_rich_text.rb
587
- - test/workbook/worksheet/tc_date_time_converter.rb
588
- - test/workbook/worksheet/tc_table_style_info.rb
589
- - test/workbook/worksheet/tc_conditional_formatting.rb
590
- - test/workbook/worksheet/tc_page_setup.rb
591
- - test/workbook/worksheet/tc_comments.rb
592
- - test/workbook/worksheet/tc_sheet_view.rb
593
- - test/workbook/worksheet/tc_sheet_calc_pr.rb
594
- - test/workbook/worksheet/tc_color_scale.rb
595
- - test/workbook/worksheet/tc_worksheet.rb
596
587
  - test/workbook/worksheet/tc_rich_text_run.rb
588
+ - test/workbook/worksheet/tc_row.rb
589
+ - test/workbook/worksheet/tc_selection.rb
590
+ - test/workbook/worksheet/tc_sheet_calc_pr.rb
591
+ - test/workbook/worksheet/tc_sheet_format_pr.rb
597
592
  - test/workbook/worksheet/tc_sheet_pr.rb
598
- - test/workbook/worksheet/auto_filter/tc_filters.rb
599
- - test/workbook/worksheet/auto_filter/tc_auto_filter.rb
600
- - test/workbook/worksheet/auto_filter/tc_filter_column.rb
601
- - test/workbook/worksheet/tc_cell.rb
602
593
  - test/workbook/worksheet/tc_sheet_protection.rb
603
- - test/workbook/worksheet/tc_pane.rb
604
- - test/workbook/worksheet/tc_header_footer.rb
594
+ - test/workbook/worksheet/tc_sheet_view.rb
605
595
  - test/workbook/worksheet/tc_table.rb
606
- - test/workbook/worksheet/tc_page_margins.rb
607
- - test/workbook/worksheet/tc_cfvo.rb
608
- - test/workbook/worksheet/tc_col.rb
609
- - test/workbook/worksheet/tc_pivot_table.rb
610
- - test/workbook/worksheet/tc_break.rb
611
- - test/workbook/worksheet/tc_sheet_format_pr.rb
612
- - test/workbook/worksheet/tc_print_options.rb
613
- - test/workbook/worksheet/tc_comment.rb
614
- - test/workbook/worksheet/tc_outline_pr.rb
615
- - test/workbook/worksheet/tc_row.rb
616
- - test/workbook/worksheet/tc_icon_set.rb
617
- - test/workbook/worksheet/tc_page_set_up_pr.rb
618
- - test/workbook/tc_shared_strings_table.rb
619
- - test/workbook/tc_workbook.rb
596
+ - test/workbook/worksheet/tc_table_style_info.rb
597
+ - test/workbook/worksheet/tc_worksheet.rb
598
+ - test/workbook/worksheet/tc_worksheet_hyperlink.rb