caxlsx 3.0.0 → 3.1.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 (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