write_xlsx 0.78.0 → 0.79.0

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