write_xlsx 0.78.0 → 0.79.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 (73) hide show
  1. checksums.yaml +4 -4
  2. data/Changes +7 -0
  3. data/README.md +1 -1
  4. data/examples/chart_pie.rb +1 -1
  5. data/lib/write_xlsx/drawing.rb +1 -1
  6. data/lib/write_xlsx/package/vml.rb +194 -7
  7. data/lib/write_xlsx/sheets.rb +38 -5
  8. data/lib/write_xlsx/version.rb +1 -1
  9. data/lib/write_xlsx/workbook.rb +150 -55
  10. data/lib/write_xlsx/worksheet/page_setup.rb +5 -2
  11. data/lib/write_xlsx/worksheet.rb +136 -11
  12. data/test/helper.rb +1 -1
  13. data/test/perl_output/demo.xlsx +0 -0
  14. data/test/regression/images/black_150.jpg +0 -0
  15. data/test/regression/images/black_150.png +0 -0
  16. data/test/regression/images/black_150e.png +0 -0
  17. data/test/regression/images/black_300.jpg +0 -0
  18. data/test/regression/images/black_300.png +0 -0
  19. data/test/regression/images/black_300e.png +0 -0
  20. data/test/regression/images/black_72.jpg +0 -0
  21. data/test/regression/images/black_72.png +0 -0
  22. data/test/regression/images/black_72e.png +0 -0
  23. data/test/regression/images/black_96.jpg +0 -0
  24. data/test/regression/images/black_96.png +0 -0
  25. data/test/regression/test_chart_scatter15.rb +44 -0
  26. data/test/regression/test_header01.rb +28 -0
  27. data/test/regression/test_header02.rb +28 -0
  28. data/test/regression/test_header03.rb +31 -0
  29. data/test/regression/test_header_image01.rb +26 -0
  30. data/test/regression/test_header_image02.rb +33 -0
  31. data/test/regression/test_header_image03.rb +34 -0
  32. data/test/regression/test_header_image04.rb +34 -0
  33. data/test/regression/test_header_image05.rb +28 -0
  34. data/test/regression/test_header_image06.rb +32 -0
  35. data/test/regression/test_header_image07.rb +29 -0
  36. data/test/regression/test_header_image08.rb +33 -0
  37. data/test/regression/test_header_image09.rb +36 -0
  38. data/test/regression/test_header_image10.rb +36 -0
  39. data/test/regression/test_header_image11.rb +28 -0
  40. data/test/regression/test_header_image12.rb +28 -0
  41. data/test/regression/test_header_image13.rb +36 -0
  42. data/test/regression/test_header_image14.rb +36 -0
  43. data/test/regression/test_image22.rb +24 -0
  44. data/test/regression/test_image23.rb +30 -0
  45. data/test/regression/test_image24.rb +24 -0
  46. data/test/regression/test_image25.rb +24 -0
  47. data/test/regression/test_image26.rb +30 -0
  48. data/test/regression/test_image27.rb +24 -0
  49. data/test/regression/xlsx_files/chart_scatter15.xlsx +0 -0
  50. data/test/regression/xlsx_files/header01.xlsx +0 -0
  51. data/test/regression/xlsx_files/header02.xlsx +0 -0
  52. data/test/regression/xlsx_files/header03.xlsx +0 -0
  53. data/test/regression/xlsx_files/header_image01.xlsx +0 -0
  54. data/test/regression/xlsx_files/header_image02.xlsx +0 -0
  55. data/test/regression/xlsx_files/header_image03.xlsx +0 -0
  56. data/test/regression/xlsx_files/header_image04.xlsx +0 -0
  57. data/test/regression/xlsx_files/header_image05.xlsx +0 -0
  58. data/test/regression/xlsx_files/header_image06.xlsx +0 -0
  59. data/test/regression/xlsx_files/header_image07.xlsx +0 -0
  60. data/test/regression/xlsx_files/header_image08.xlsx +0 -0
  61. data/test/regression/xlsx_files/header_image09.xlsx +0 -0
  62. data/test/regression/xlsx_files/header_image10.xlsx +0 -0
  63. data/test/regression/xlsx_files/header_image11.xlsx +0 -0
  64. data/test/regression/xlsx_files/header_image12.xlsx +0 -0
  65. data/test/regression/xlsx_files/header_image13.xlsx +0 -0
  66. data/test/regression/xlsx_files/header_image14.xlsx +0 -0
  67. data/test/regression/xlsx_files/image22.xlsx +0 -0
  68. data/test/regression/xlsx_files/image23.xlsx +0 -0
  69. data/test/regression/xlsx_files/image24.xlsx +0 -0
  70. data/test/regression/xlsx_files/image25.xlsx +0 -0
  71. data/test/regression/xlsx_files/image26.xlsx +0 -0
  72. data/test/regression/xlsx_files/image27.xlsx +0 -0
  73. metadata +119 -1
@@ -0,0 +1,33 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionHeaderImage08 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_header_image08
14
+ @xlsx = 'header_image08.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+
18
+ worksheet.write('A1', 'Foo')
19
+ worksheet.write_comment('B2', 'Some text')
20
+
21
+ # Set the author to match the target XLSX file.
22
+ worksheet.comments_author = 'John'
23
+
24
+ worksheet.set_header('&L&G', nil, { :image_left => 'test/regression/images/red.jpg' })
25
+
26
+
27
+ workbook.close
28
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
29
+ [],
30
+ {'xl/worksheets/sheet1.xml' => [ '<pageMargins', '<pageSetup' ]}
31
+ )
32
+ end
33
+ end
@@ -0,0 +1,36 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionHeaderImage09 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_header_image09
14
+ @xlsx = 'header_image09.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet1 = workbook.add_worksheet
17
+ worksheet2 = workbook.add_worksheet
18
+
19
+ worksheet1.write('A1', 'Foo')
20
+ worksheet1.write_comment('B2', 'Some text')
21
+
22
+ # Set the author to match the target XLSX file.
23
+ worksheet1.comments_author = 'John'
24
+
25
+ worksheet2.set_header('&L&G', nil, { :image_left => 'test/regression/images/red.jpg' })
26
+
27
+ workbook.close
28
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
29
+ [],
30
+ {
31
+ 'xl/worksheets/sheet1.xml' => [ '<pageMargins', '<pageSetup' ],
32
+ 'xl/worksheets/sheet2.xml' => [ '<pageMargins', '<pageSetup' ],
33
+ }
34
+ )
35
+ end
36
+ end
@@ -0,0 +1,36 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionHeaderImage10 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_header_image10
14
+ @xlsx = 'header_image10.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet1 = workbook.add_worksheet
17
+ worksheet2 = workbook.add_worksheet
18
+
19
+ worksheet1.set_header('&L&G', nil, { :image_left => 'test/regression/images/red.jpg' })
20
+
21
+ worksheet2.write('A1', 'Foo')
22
+ worksheet2.write_comment('B2', 'Some text')
23
+
24
+ # Set the author to match the target XLSX file.
25
+ worksheet2.comments_author = 'John'
26
+
27
+ workbook.close
28
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
29
+ [],
30
+ {
31
+ 'xl/worksheets/sheet1.xml' => [ '<pageMargins', '<pageSetup' ],
32
+ 'xl/worksheets/sheet2.xml' => [ '<pageMargins', '<pageSetup' ],
33
+ }
34
+ )
35
+ end
36
+ end
@@ -0,0 +1,28 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionHeaderImage11 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_header_image11
14
+ @xlsx = 'header_image11.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+
18
+ worksheet.set_header('&L&G', nil, { :image_left => 'test/regression/images/black_300.jpg' })
19
+
20
+ workbook.close
21
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
22
+ [],
23
+ {
24
+ 'xl/worksheets/sheet1.xml' => [ '<pageMargins', '<pageSetup' ]
25
+ }
26
+ )
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionHeaderImage12 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_header_image12
14
+ @xlsx = 'header_image12.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+
18
+ worksheet.set_header('&L&G', nil, { :image_left => 'test/regression/images/black_300e.png' })
19
+
20
+ workbook.close
21
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
22
+ [],
23
+ {
24
+ 'xl/worksheets/sheet1.xml' => [ '<pageMargins', '<pageSetup' ]
25
+ }
26
+ )
27
+ end
28
+ end
@@ -0,0 +1,36 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionHeaderImage13 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_header_image13
14
+ @xlsx = 'header_image13.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+
18
+ worksheet.set_header(
19
+ '&L&G&C&G&R&G',
20
+ nil,
21
+ {
22
+ :image_left => 'test/regression/images/black_72.jpg',
23
+ :image_center => 'test/regression/images/black_150.jpg',
24
+ :image_right => 'test/regression/images/black_300.jpg'
25
+ }
26
+ )
27
+
28
+ workbook.close
29
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
30
+ [],
31
+ {
32
+ 'xl/worksheets/sheet1.xml' => [ '<pageMargins', '<pageSetup' ]
33
+ }
34
+ )
35
+ end
36
+ end
@@ -0,0 +1,36 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionHeaderImage14 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_header_image14
14
+ @xlsx = 'header_image14.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+
18
+ worksheet.set_header(
19
+ '&L&G&C&G&R&G',
20
+ nil,
21
+ {
22
+ :image_left => 'test/regression/images/black_72e.png',
23
+ :image_center => 'test/regression/images/black_150e.png',
24
+ :image_right => 'test/regression/images/black_300e.png'
25
+ }
26
+ )
27
+
28
+ workbook.close
29
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
30
+ [],
31
+ {
32
+ 'xl/worksheets/sheet1.xml' => [ '<pageMargins', '<pageSetup' ]
33
+ }
34
+ )
35
+ end
36
+ end
@@ -0,0 +1,24 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionImage22 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_image22
14
+ @xlsx = 'image22.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+
18
+ worksheet.insert_image('B2',
19
+ File.join(@test_dir, 'regression', 'images/black_300.jpg'))
20
+
21
+ workbook.close
22
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
23
+ end
24
+ end
@@ -0,0 +1,30 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionImage23 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_image23
14
+ @xlsx = 'image23.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+
18
+ worksheet.insert_image('B2',
19
+ File.join(@test_dir, 'regression', 'images/black_72.jpg'))
20
+ worksheet.insert_image('B8',
21
+ File.join(@test_dir, 'regression', 'images/black_96.jpg'))
22
+ worksheet.insert_image('B13',
23
+ File.join(@test_dir, 'regression', 'images/black_150.jpg'))
24
+ worksheet.insert_image('B17',
25
+ File.join(@test_dir, 'regression', 'images/black_300.jpg'))
26
+
27
+ workbook.close
28
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
29
+ end
30
+ end
@@ -0,0 +1,24 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionImage24 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_image24
14
+ @xlsx = 'image24.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+
18
+ worksheet.insert_image('B2',
19
+ File.join(@test_dir, 'regression', 'images/black_300.png'))
20
+
21
+ workbook.close
22
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionImage25 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_image25
14
+ @xlsx = 'image25.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+
18
+ worksheet.insert_image('B2',
19
+ File.join(@test_dir, 'regression', 'images/black_150.png'))
20
+
21
+ workbook.close
22
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
23
+ end
24
+ end
@@ -0,0 +1,30 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionImage26 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_image26
14
+ @xlsx = 'image26.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+
18
+ worksheet.insert_image('B2',
19
+ File.join(@test_dir, 'regression', 'images/black_72.png'))
20
+ worksheet.insert_image('B8',
21
+ File.join(@test_dir, 'regression', 'images/black_96.png'))
22
+ worksheet.insert_image('B13',
23
+ File.join(@test_dir, 'regression', 'images/black_150.png'))
24
+ worksheet.insert_image('B17',
25
+ File.join(@test_dir, 'regression', 'images/black_300.png'))
26
+
27
+ workbook.close
28
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
29
+ end
30
+ end
@@ -0,0 +1,24 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'helper'
3
+
4
+ class TestRegressionImage27 < Test::Unit::TestCase
5
+ def setup
6
+ setup_dir_var
7
+ end
8
+
9
+ def teardown
10
+ File.delete(@xlsx) if File.exist?(@xlsx)
11
+ end
12
+
13
+ def test_image27
14
+ @xlsx = 'image27.xlsx'
15
+ workbook = WriteXLSX.new(@xlsx)
16
+ worksheet = workbook.add_worksheet
17
+
18
+ worksheet.insert_image('B2',
19
+ File.join(@test_dir, 'regression', 'images/mylogo.png'))
20
+
21
+ workbook.close
22
+ compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
23
+ end
24
+ end