writeexcel 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. data/.gitattributes +1 -1
  2. data/.gitignore +24 -24
  3. data/README.rdoc +34 -55
  4. data/VERSION +1 -1
  5. data/charts/chartex.rb +316 -316
  6. data/charts/demo1.rb +46 -46
  7. data/charts/demo2.rb +65 -65
  8. data/charts/demo3.rb +117 -117
  9. data/charts/demo4.rb +119 -119
  10. data/charts/demo5.rb +48 -48
  11. data/examples/a_simple.rb +43 -43
  12. data/examples/autofilter.rb +265 -265
  13. data/examples/bigfile.rb +30 -30
  14. data/examples/chart_area.rb +121 -121
  15. data/examples/chart_bar.rb +120 -120
  16. data/examples/chart_column.rb +120 -120
  17. data/examples/chart_line.rb +120 -120
  18. data/examples/chart_pie.rb +108 -108
  19. data/examples/chart_scatter.rb +121 -121
  20. data/examples/chart_stock.rb +148 -148
  21. data/examples/chess.rb +142 -142
  22. data/examples/colors.rb +129 -129
  23. data/examples/comments1.rb +27 -27
  24. data/examples/comments2.rb +352 -352
  25. data/examples/copyformat.rb +52 -52
  26. data/examples/data_validate.rb +279 -279
  27. data/examples/date_time.rb +87 -87
  28. data/examples/defined_name.rb +32 -32
  29. data/examples/demo.rb +124 -124
  30. data/examples/diag_border.rb +36 -36
  31. data/examples/formats.rb +490 -490
  32. data/examples/formula_result.rb +30 -30
  33. data/examples/header.rb +137 -137
  34. data/examples/hide_sheet.rb +29 -29
  35. data/examples/hyperlink.rb +43 -43
  36. data/examples/images.rb +63 -63
  37. data/examples/indent.rb +31 -31
  38. data/examples/merge1.rb +40 -40
  39. data/examples/merge2.rb +45 -45
  40. data/examples/merge3.rb +66 -66
  41. data/examples/merge4.rb +83 -83
  42. data/examples/merge5.rb +80 -80
  43. data/examples/merge6.rb +67 -67
  44. data/examples/outline.rb +255 -255
  45. data/examples/outline_collapsed.rb +209 -209
  46. data/examples/panes.rb +113 -113
  47. data/examples/properties.rb +34 -34
  48. data/examples/properties_jp.rb +33 -33
  49. data/examples/protection.rb +47 -47
  50. data/examples/regions.rb +53 -53
  51. data/examples/repeat.rb +43 -43
  52. data/examples/right_to_left.rb +27 -27
  53. data/examples/row_wrap.rb +53 -53
  54. data/examples/stats.rb +74 -74
  55. data/examples/stocks.rb +81 -81
  56. data/examples/tab_colors.rb +31 -31
  57. data/examples/utf8.rb +15 -15
  58. data/examples/write_arrays.rb +83 -83
  59. data/lib/writeexcel/biffwriter.rb +232 -232
  60. data/lib/writeexcel/caller_info.rb +12 -12
  61. data/lib/writeexcel/chart.rb +2190 -2177
  62. data/lib/writeexcel/charts/area.rb +154 -154
  63. data/lib/writeexcel/charts/bar.rb +177 -177
  64. data/lib/writeexcel/charts/column.rb +156 -156
  65. data/lib/writeexcel/charts/external.rb +66 -66
  66. data/lib/writeexcel/charts/line.rb +154 -154
  67. data/lib/writeexcel/charts/pie.rb +169 -169
  68. data/lib/writeexcel/charts/scatter.rb +192 -192
  69. data/lib/writeexcel/charts/stock.rb +213 -213
  70. data/lib/writeexcel/colors.rb +64 -64
  71. data/lib/writeexcel/compatibility.rb +0 -255
  72. data/lib/writeexcel/debug_info.rb +37 -33
  73. data/lib/writeexcel/excelformulaparser.rb +587 -587
  74. data/lib/writeexcel/format.rb +13 -4
  75. data/lib/writeexcel/formula.rb +26 -9
  76. data/lib/writeexcel/helper.rb +68 -64
  77. data/lib/writeexcel/olewriter.rb +311 -311
  78. data/lib/writeexcel/properties.rb +242 -240
  79. data/lib/writeexcel/storage_lite.rb +984 -978
  80. data/lib/writeexcel/workbook.rb +3210 -3192
  81. data/lib/writeexcel/worksheet.rb +143 -51
  82. data/lib/writeexcel/write_file.rb +44 -40
  83. data/lib/writeexcel.rb +1159 -1159
  84. data/test/helper.rb +31 -28
  85. data/test/perl_output/README +31 -31
  86. data/test/test_00_IEEE_double.rb +13 -13
  87. data/test/test_01_add_worksheet.rb +10 -10
  88. data/test/test_02_merge_formats.rb +53 -53
  89. data/test/test_04_dimensions.rb +392 -392
  90. data/test/test_05_rows.rb +179 -179
  91. data/test/test_06_extsst.rb +77 -77
  92. data/test/test_11_date_time.rb +479 -479
  93. data/test/test_12_date_only.rb +501 -501
  94. data/test/test_13_date_seconds.rb +481 -481
  95. data/test/test_21_escher.rb +637 -637
  96. data/test/test_22_mso_drawing_group.rb +745 -745
  97. data/test/test_23_note.rb +73 -73
  98. data/test/test_24_txo.rb +75 -75
  99. data/test/test_25_position_object.rb +84 -84
  100. data/test/test_26_autofilter.rb +314 -314
  101. data/test/test_27_autofilter.rb +131 -131
  102. data/test/test_28_autofilter.rb +161 -161
  103. data/test/test_29_process_jpg.rb +683 -683
  104. data/test/test_30_validation_dval.rb +77 -77
  105. data/test/test_31_validation_dv_strings.rb +126 -126
  106. data/test/test_32_validation_dv_formula.rb +206 -206
  107. data/test/test_40_property_types.rb +188 -188
  108. data/test/test_41_properties.rb +235 -235
  109. data/test/test_42_set_properties.rb +437 -437
  110. data/test/test_50_name_stored.rb +299 -299
  111. data/test/test_51_name_print_area.rb +357 -357
  112. data/test/test_52_name_print_titles.rb +454 -454
  113. data/test/test_53_autofilter.rb +203 -203
  114. data/test/test_60_chart_generic.rb +578 -578
  115. data/test/test_61_chart_subclasses.rb +95 -95
  116. data/test/test_62_chart_formats.rb +272 -272
  117. data/test/test_63_chart_area_formats.rb +649 -649
  118. data/test/test_biff.rb +75 -75
  119. data/test/test_compatibility.rb +12 -627
  120. data/test/test_example_match.rb +3144 -3144
  121. data/test/test_formula.rb +61 -61
  122. data/test/test_ole.rb +106 -106
  123. data/test/test_storage_lite.rb +125 -125
  124. data/test/test_workbook.rb +139 -139
  125. data/test/test_worksheet.rb +110 -110
  126. data/utils/add_magic_comment.rb +80 -80
  127. data/writeexcel.gemspec +4 -6
  128. data/writeexcel.rdoc +58 -15
  129. metadata +9 -6
  130. data/test/test_new_encoding.rb +0 -205
data/test/test_23_note.rb CHANGED
@@ -1,73 +1,73 @@
1
- # -*- coding: utf-8 -*-
2
- ##########################################################################
3
- # test_23_note.rb
4
- #
5
- # Tests for some of the internal method used to write the NOTE record that
6
- # is used in cell comments.
7
- #
8
- # reverse('©'), September 2005, John McNamara, jmcnamara@cpan.org
9
- #
10
- # original written in Perl by John McNamara
11
- # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
12
- #
13
- #########################################################################
14
- require 'helper'
15
- require 'stringio'
16
-
17
- class TC_note < Test::Unit::TestCase
18
-
19
- def setup
20
- @workbook = WriteExcel.new(StringIO.new)
21
- @worksheet = @workbook.add_worksheet
22
- end
23
-
24
- def teardown
25
- @workbook.close
26
- end
27
-
28
- def test_blank_author_name
29
- data = @worksheet.comment_params(2, 0, 'Test')
30
- row = data[0]
31
- col = data[1]
32
- author = data[4]
33
- encoding = data[5]
34
- visible = data[6]
35
- obj_id = 1
36
-
37
- caption = sprintf(" \tstore_note")
38
- target = %w(
39
- 1C 00 0C 00 02 00 00 00 00 00 01 00 00 00 00 00
40
- ).join(' ')
41
- result = unpack_record(
42
- @worksheet.store_note(row, col, obj_id, author, encoding, visible))
43
- assert_equal(target, result, caption)
44
- end
45
-
46
- def test_defined_author_name
47
- data = @worksheet.comment_params(2,0,'Test', :author => 'Username')
48
- row = data[0]
49
- col = data[1]
50
- author = data[4]
51
- encoding = data[5]
52
- visible = data[6]
53
- obj_id = 1
54
-
55
- caption = sprintf(" \tstore_note")
56
- target = %w(
57
- 1C 00 14 00 02 00 00 00 00 00 01 00 08 00 00 55
58
- 73 65 72 6E 61 6D 65 00
59
- ).join(' ')
60
- result = unpack_record(
61
- @worksheet.store_note(row,col,obj_id,author,encoding,visible))
62
- assert_equal(target, result, caption)
63
- end
64
-
65
- ###############################################################################
66
- #
67
- # Unpack the binary data into a format suitable for printing in tests.
68
- #
69
- def unpack_record(data)
70
- data.unpack('C*').map! {|c| sprintf("%02X", c) }.join(' ')
71
- end
72
-
73
- end
1
+ # -*- coding: utf-8 -*-
2
+ ##########################################################################
3
+ # test_23_note.rb
4
+ #
5
+ # Tests for some of the internal method used to write the NOTE record that
6
+ # is used in cell comments.
7
+ #
8
+ # reverse('©'), September 2005, John McNamara, jmcnamara@cpan.org
9
+ #
10
+ # original written in Perl by John McNamara
11
+ # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
12
+ #
13
+ #########################################################################
14
+ require 'helper'
15
+ require 'stringio'
16
+
17
+ class TC_note < Test::Unit::TestCase
18
+
19
+ def setup
20
+ @workbook = WriteExcel.new(StringIO.new)
21
+ @worksheet = @workbook.add_worksheet
22
+ end
23
+
24
+ def teardown
25
+ @workbook.close
26
+ end
27
+
28
+ def test_blank_author_name
29
+ data = @worksheet.comment_params(2, 0, 'Test')
30
+ row = data[0]
31
+ col = data[1]
32
+ author = data[4]
33
+ encoding = data[5]
34
+ visible = data[6]
35
+ obj_id = 1
36
+
37
+ caption = sprintf(" \tstore_note")
38
+ target = %w(
39
+ 1C 00 0C 00 02 00 00 00 00 00 01 00 00 00 00 00
40
+ ).join(' ')
41
+ result = unpack_record(
42
+ @worksheet.store_note(row, col, obj_id, author, encoding, visible))
43
+ assert_equal(target, result, caption)
44
+ end
45
+
46
+ def test_defined_author_name
47
+ data = @worksheet.comment_params(2,0,'Test', :author => 'Username')
48
+ row = data[0]
49
+ col = data[1]
50
+ author = data[4]
51
+ encoding = data[5]
52
+ visible = data[6]
53
+ obj_id = 1
54
+
55
+ caption = sprintf(" \tstore_note")
56
+ target = %w(
57
+ 1C 00 14 00 02 00 00 00 00 00 01 00 08 00 00 55
58
+ 73 65 72 6E 61 6D 65 00
59
+ ).join(' ')
60
+ result = unpack_record(
61
+ @worksheet.store_note(row,col,obj_id,author,encoding,visible))
62
+ assert_equal(target, result, caption)
63
+ end
64
+
65
+ ###############################################################################
66
+ #
67
+ # Unpack the binary data into a format suitable for printing in tests.
68
+ #
69
+ def unpack_record(data)
70
+ data.unpack('C*').map! {|c| sprintf("%02X", c) }.join(' ')
71
+ end
72
+
73
+ end
data/test/test_24_txo.rb CHANGED
@@ -1,75 +1,75 @@
1
- # -*- coding: utf-8 -*-
2
- ##########################################################################
3
- # test_24_txo.rb
4
- #
5
- # Tests for some of the internal method used to write the NOTE record that
6
- # is used in cell comments.
7
- #
8
- # reverse('©'), September 2005, John McNamara, jmcnamara@cpan.org
9
- #
10
- # original written in Perl by John McNamara
11
- # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
12
- #
13
- #########################################################################
14
- require 'helper'
15
- require 'stringio'
16
-
17
- class TC_txo < Test::Unit::TestCase
18
-
19
- def setup
20
- @workbook = WriteExcel.new(StringIO.new)
21
- @worksheet = @workbook.add_worksheet
22
- end
23
-
24
- def teardown
25
- @workbook.close
26
- end
27
-
28
- def test_txo
29
- string = 'aaa'
30
- caption = " \t_store_txo()"
31
- target = %w(
32
- B6 01 12 00 12 02 00 00 00 00 00 00 00 00 03 00
33
- 10 00 00 00 00 00
34
- ).join(' ')
35
-
36
- result = unpack_record(@worksheet.store_txo(string.length))
37
- assert_equal(target, result, caption)
38
- end
39
-
40
- def test_first_continue_record_after_txo
41
- string = 'aaa'
42
- caption = " \t_store_txo_continue_1()"
43
- target = %w(
44
- 3C 00 04 00 00 61 61 61
45
- ).join(' ')
46
-
47
- result = unpack_record(@worksheet.store_txo_continue_1(string))
48
- assert_equal(target, result, caption)
49
- end
50
-
51
- def test_second_continue_record_after_txo
52
- string = 'aaa'
53
- caption = " \t_store_txo_continue_2()"
54
- target = %w(
55
- 3C 00 10 00 00 00 00 00 00 00 00 00 03 00 00 00
56
- 00 00 00 00
57
- ).join(' ')
58
- formats = [
59
- [0, 0],
60
- [string.length, 0]
61
- ]
62
-
63
- result = unpack_record(@worksheet.store_txo_continue_2(formats))
64
- assert_equal(target, result, caption)
65
- end
66
-
67
- ###############################################################################
68
- #
69
- # Unpack the binary data into a format suitable for printing in tests.
70
- #
71
- def unpack_record(data)
72
- data.unpack('C*').map! {|c| sprintf("%02X", c) }.join(' ')
73
- end
74
-
75
- end
1
+ # -*- coding: utf-8 -*-
2
+ ##########################################################################
3
+ # test_24_txo.rb
4
+ #
5
+ # Tests for some of the internal method used to write the NOTE record that
6
+ # is used in cell comments.
7
+ #
8
+ # reverse('©'), September 2005, John McNamara, jmcnamara@cpan.org
9
+ #
10
+ # original written in Perl by John McNamara
11
+ # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
12
+ #
13
+ #########################################################################
14
+ require 'helper'
15
+ require 'stringio'
16
+
17
+ class TC_txo < Test::Unit::TestCase
18
+
19
+ def setup
20
+ @workbook = WriteExcel.new(StringIO.new)
21
+ @worksheet = @workbook.add_worksheet
22
+ end
23
+
24
+ def teardown
25
+ @workbook.close
26
+ end
27
+
28
+ def test_txo
29
+ string = 'aaa'
30
+ caption = " \t_store_txo()"
31
+ target = %w(
32
+ B6 01 12 00 12 02 00 00 00 00 00 00 00 00 03 00
33
+ 10 00 00 00 00 00
34
+ ).join(' ')
35
+
36
+ result = unpack_record(@worksheet.store_txo(string.length))
37
+ assert_equal(target, result, caption)
38
+ end
39
+
40
+ def test_first_continue_record_after_txo
41
+ string = 'aaa'
42
+ caption = " \t_store_txo_continue_1()"
43
+ target = %w(
44
+ 3C 00 04 00 00 61 61 61
45
+ ).join(' ')
46
+
47
+ result = unpack_record(@worksheet.store_txo_continue_1(string))
48
+ assert_equal(target, result, caption)
49
+ end
50
+
51
+ def test_second_continue_record_after_txo
52
+ string = 'aaa'
53
+ caption = " \t_store_txo_continue_2()"
54
+ target = %w(
55
+ 3C 00 10 00 00 00 00 00 00 00 00 00 03 00 00 00
56
+ 00 00 00 00
57
+ ).join(' ')
58
+ formats = [
59
+ [0, 0],
60
+ [string.length, 0]
61
+ ]
62
+
63
+ result = unpack_record(@worksheet.store_txo_continue_2(formats))
64
+ assert_equal(target, result, caption)
65
+ end
66
+
67
+ ###############################################################################
68
+ #
69
+ # Unpack the binary data into a format suitable for printing in tests.
70
+ #
71
+ def unpack_record(data)
72
+ data.unpack('C*').map! {|c| sprintf("%02X", c) }.join(' ')
73
+ end
74
+
75
+ end
@@ -1,84 +1,84 @@
1
- # -*- coding: utf-8 -*-
2
- ###############################################################################
3
- #
4
- # A test for Spreadsheet::WriteExcel.
5
- #
6
- # Tests for the _position_object() Worksheet method used to calculate the
7
- # vertices that define the position of a graphical object within a worksheet.
8
- #
9
- # See the the _position_object() comments for a full explanation.
10
- #
11
- # reverse('ゥ'), September 2005, John McNamara, jmcnamara@cpan.org
12
- #
13
- # original written in Perl by John McNamara
14
- # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
15
- #
16
- #########################################################################
17
- require 'helper'
18
- require 'stringio'
19
-
20
- class TC_position_object < Test::Unit::TestCase
21
-
22
- def setup
23
- @test_file = StringIO.new
24
- @workbook = WriteExcel.new(@test_file)
25
- @worksheet = @workbook.add_worksheet
26
- end
27
-
28
- def teardown
29
- @workbook.close
30
- end
31
-
32
- ###############################################################################
33
- #
34
- # Tests extracted from images imported into Excel.
35
- #
36
- #
37
- # input = ($col_start, $row_start, $x1, $y1, $width, $height)
38
- # (0, 1, 2, 3, 4, 5 )
39
- #
40
- # expected = ($col_start, $x1, $row_start, $y1, $col_end, $x2, $row_end, $y2)
41
- # (0, 1, 2, 3, 4, 5, 6, 7 )
42
- #
43
- def test_extracted_from_images_imported_into_excel
44
- tests = [
45
- # Input # Expected results
46
- [ [0, 0, 0, 0, 1, 1], [ 0, 0, 0, 0, 0, 16, 0, 15] ],
47
- [ [0, 0, 0, 0, 2, 2], [ 0, 0, 0, 0, 0, 32, 0, 30] ],
48
- [ [0, 0, 0, 0, 3, 3], [ 0, 0, 0, 0, 0, 48, 0, 45] ],
49
- [ [0, 0, 0, 0, 4, 4], [ 0, 0, 0, 0, 0, 64, 0, 60] ],
50
- [ [0, 0, 0, 0, 5, 5], [ 0, 0, 0, 0, 0, 80, 0, 75] ],
51
- [ [0, 0, 0, 0, 6, 6], [ 0, 0, 0, 0, 0, 96, 0, 90] ],
52
- [ [0, 0, 0, 0, 7, 7], [ 0, 0, 0, 0, 0, 112, 0, 105] ],
53
- [ [0, 0, 0, 0, 8, 8], [ 0, 0, 0, 0, 0, 128, 0, 120] ],
54
- [ [0, 0, 0, 0, 9, 9], [ 0, 0, 0, 0, 0, 144, 0, 136] ],
55
- [ [0, 0, 0, 0, 10, 10], [ 0, 0, 0, 0, 0, 160, 0, 151] ],
56
- [ [0, 0, 0, 0, 15, 15], [ 0, 0, 0, 0, 0, 240, 0, 226] ],
57
- [ [0, 0, 0, 0, 16, 16], [ 0, 0, 0, 0, 0, 256, 0, 241] ],
58
- [ [0, 0, 0, 0, 17, 17], [ 0, 0, 0, 0, 0, 272, 1, 0] ],
59
- [ [0, 0, 0, 0, 18, 18], [ 0, 0, 0, 0, 0, 288, 1, 15] ],
60
- [ [0, 0, 0, 0, 19, 19], [ 0, 0, 0, 0, 0, 304, 1, 30] ],
61
- [ [0, 0, 0, 0, 62, 8], [ 0, 0, 0, 0, 0, 992, 0, 120] ],
62
- [ [0, 0, 0, 0, 63, 8], [ 0, 0, 0, 0, 0, 1008, 0, 120] ],
63
- [ [0, 0, 0, 0, 64, 8], [ 0, 0, 0, 0, 1, 0, 0, 120] ],
64
- [ [0, 0, 0, 0, 65, 8], [ 0, 0, 0, 0, 1, 16, 0, 120] ],
65
- [ [0, 0, 0, 0, 66, 8], [ 0, 0, 0, 0, 1, 32, 0, 120] ],
66
- [ [0, 0, 0, 0, 200, 200], [ 0, 0, 0, 0, 3, 128, 11, 196] ],
67
- [ [1, 4, 0, 0, 64, 16], [ 1, 0, 4, 0, 2, 0, 4, 241] ],
68
- [ [1, 4, 1, 0, 64, 16], [ 1, 16, 4, 0, 2, 16, 4, 241] ],
69
- [ [1, 4, 2, 0, 64, 16], [ 1, 32, 4, 0, 2, 32, 4, 241] ],
70
- [ [1, 4, 2, 1, 64, 16], [ 1, 32, 4, 15, 2, 32, 5, 0] ],
71
- [ [1, 4, 2, 2, 64, 16], [ 1, 32, 4, 30, 2, 32, 5, 15] ],
72
-
73
- # Test for comment box standard sizes.
74
- [ [2, 1, 15, 7, 128, 74], [ 2, 240, 1, 105, 4, 240, 5, 196] ]
75
- ]
76
-
77
- tests.each do |testcase|
78
- input = testcase[0]
79
- expected = testcase[1]
80
- results = @worksheet.position_object(*input)
81
- assert_equal(expected, results)
82
- end
83
- end
84
- end
1
+ # -*- coding: utf-8 -*-
2
+ ###############################################################################
3
+ #
4
+ # A test for Spreadsheet::WriteExcel.
5
+ #
6
+ # Tests for the _position_object() Worksheet method used to calculate the
7
+ # vertices that define the position of a graphical object within a worksheet.
8
+ #
9
+ # See the the _position_object() comments for a full explanation.
10
+ #
11
+ # reverse('ゥ'), September 2005, John McNamara, jmcnamara@cpan.org
12
+ #
13
+ # original written in Perl by John McNamara
14
+ # converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
15
+ #
16
+ #########################################################################
17
+ require 'helper'
18
+ require 'stringio'
19
+
20
+ class TC_position_object < Test::Unit::TestCase
21
+
22
+ def setup
23
+ @test_file = StringIO.new
24
+ @workbook = WriteExcel.new(@test_file)
25
+ @worksheet = @workbook.add_worksheet
26
+ end
27
+
28
+ def teardown
29
+ @workbook.close
30
+ end
31
+
32
+ ###############################################################################
33
+ #
34
+ # Tests extracted from images imported into Excel.
35
+ #
36
+ #
37
+ # input = ($col_start, $row_start, $x1, $y1, $width, $height)
38
+ # (0, 1, 2, 3, 4, 5 )
39
+ #
40
+ # expected = ($col_start, $x1, $row_start, $y1, $col_end, $x2, $row_end, $y2)
41
+ # (0, 1, 2, 3, 4, 5, 6, 7 )
42
+ #
43
+ def test_extracted_from_images_imported_into_excel
44
+ tests = [
45
+ # Input # Expected results
46
+ [ [0, 0, 0, 0, 1, 1], [ 0, 0, 0, 0, 0, 16, 0, 15] ],
47
+ [ [0, 0, 0, 0, 2, 2], [ 0, 0, 0, 0, 0, 32, 0, 30] ],
48
+ [ [0, 0, 0, 0, 3, 3], [ 0, 0, 0, 0, 0, 48, 0, 45] ],
49
+ [ [0, 0, 0, 0, 4, 4], [ 0, 0, 0, 0, 0, 64, 0, 60] ],
50
+ [ [0, 0, 0, 0, 5, 5], [ 0, 0, 0, 0, 0, 80, 0, 75] ],
51
+ [ [0, 0, 0, 0, 6, 6], [ 0, 0, 0, 0, 0, 96, 0, 90] ],
52
+ [ [0, 0, 0, 0, 7, 7], [ 0, 0, 0, 0, 0, 112, 0, 105] ],
53
+ [ [0, 0, 0, 0, 8, 8], [ 0, 0, 0, 0, 0, 128, 0, 120] ],
54
+ [ [0, 0, 0, 0, 9, 9], [ 0, 0, 0, 0, 0, 144, 0, 136] ],
55
+ [ [0, 0, 0, 0, 10, 10], [ 0, 0, 0, 0, 0, 160, 0, 151] ],
56
+ [ [0, 0, 0, 0, 15, 15], [ 0, 0, 0, 0, 0, 240, 0, 226] ],
57
+ [ [0, 0, 0, 0, 16, 16], [ 0, 0, 0, 0, 0, 256, 0, 241] ],
58
+ [ [0, 0, 0, 0, 17, 17], [ 0, 0, 0, 0, 0, 272, 1, 0] ],
59
+ [ [0, 0, 0, 0, 18, 18], [ 0, 0, 0, 0, 0, 288, 1, 15] ],
60
+ [ [0, 0, 0, 0, 19, 19], [ 0, 0, 0, 0, 0, 304, 1, 30] ],
61
+ [ [0, 0, 0, 0, 62, 8], [ 0, 0, 0, 0, 0, 992, 0, 120] ],
62
+ [ [0, 0, 0, 0, 63, 8], [ 0, 0, 0, 0, 0, 1008, 0, 120] ],
63
+ [ [0, 0, 0, 0, 64, 8], [ 0, 0, 0, 0, 1, 0, 0, 120] ],
64
+ [ [0, 0, 0, 0, 65, 8], [ 0, 0, 0, 0, 1, 16, 0, 120] ],
65
+ [ [0, 0, 0, 0, 66, 8], [ 0, 0, 0, 0, 1, 32, 0, 120] ],
66
+ [ [0, 0, 0, 0, 200, 200], [ 0, 0, 0, 0, 3, 128, 11, 196] ],
67
+ [ [1, 4, 0, 0, 64, 16], [ 1, 0, 4, 0, 2, 0, 4, 241] ],
68
+ [ [1, 4, 1, 0, 64, 16], [ 1, 16, 4, 0, 2, 16, 4, 241] ],
69
+ [ [1, 4, 2, 0, 64, 16], [ 1, 32, 4, 0, 2, 32, 4, 241] ],
70
+ [ [1, 4, 2, 1, 64, 16], [ 1, 32, 4, 15, 2, 32, 5, 0] ],
71
+ [ [1, 4, 2, 2, 64, 16], [ 1, 32, 4, 30, 2, 32, 5, 15] ],
72
+
73
+ # Test for comment box standard sizes.
74
+ [ [2, 1, 15, 7, 128, 74], [ 2, 240, 1, 105, 4, 240, 5, 196] ]
75
+ ]
76
+
77
+ tests.each do |testcase|
78
+ input = testcase[0]
79
+ expected = testcase[1]
80
+ results = @worksheet.position_object(*input)
81
+ assert_equal(expected, results)
82
+ end
83
+ end
84
+ end