writeexcel 0.5.0 → 0.6.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.
- data/.gitattributes +1 -1
- data/.gitignore +24 -24
- data/README.rdoc +34 -55
- data/VERSION +1 -1
- data/charts/chartex.rb +316 -316
- data/charts/demo1.rb +46 -46
- data/charts/demo2.rb +65 -65
- data/charts/demo3.rb +117 -117
- data/charts/demo4.rb +119 -119
- data/charts/demo5.rb +48 -48
- data/examples/a_simple.rb +43 -43
- data/examples/autofilter.rb +265 -265
- data/examples/bigfile.rb +30 -30
- data/examples/chart_area.rb +121 -121
- data/examples/chart_bar.rb +120 -120
- data/examples/chart_column.rb +120 -120
- data/examples/chart_line.rb +120 -120
- data/examples/chart_pie.rb +108 -108
- data/examples/chart_scatter.rb +121 -121
- data/examples/chart_stock.rb +148 -148
- data/examples/chess.rb +142 -142
- data/examples/colors.rb +129 -129
- data/examples/comments1.rb +27 -27
- data/examples/comments2.rb +352 -352
- data/examples/copyformat.rb +52 -52
- data/examples/data_validate.rb +279 -279
- data/examples/date_time.rb +87 -87
- data/examples/defined_name.rb +32 -32
- data/examples/demo.rb +124 -124
- data/examples/diag_border.rb +36 -36
- data/examples/formats.rb +490 -490
- data/examples/formula_result.rb +30 -30
- data/examples/header.rb +137 -137
- data/examples/hide_sheet.rb +29 -29
- data/examples/hyperlink.rb +43 -43
- data/examples/images.rb +63 -63
- data/examples/indent.rb +31 -31
- data/examples/merge1.rb +40 -40
- data/examples/merge2.rb +45 -45
- data/examples/merge3.rb +66 -66
- data/examples/merge4.rb +83 -83
- data/examples/merge5.rb +80 -80
- data/examples/merge6.rb +67 -67
- data/examples/outline.rb +255 -255
- data/examples/outline_collapsed.rb +209 -209
- data/examples/panes.rb +113 -113
- data/examples/properties.rb +34 -34
- data/examples/properties_jp.rb +33 -33
- data/examples/protection.rb +47 -47
- data/examples/regions.rb +53 -53
- data/examples/repeat.rb +43 -43
- data/examples/right_to_left.rb +27 -27
- data/examples/row_wrap.rb +53 -53
- data/examples/stats.rb +74 -74
- data/examples/stocks.rb +81 -81
- data/examples/tab_colors.rb +31 -31
- data/examples/utf8.rb +15 -15
- data/examples/write_arrays.rb +83 -83
- data/lib/writeexcel/biffwriter.rb +232 -232
- data/lib/writeexcel/caller_info.rb +12 -12
- data/lib/writeexcel/chart.rb +2190 -2177
- data/lib/writeexcel/charts/area.rb +154 -154
- data/lib/writeexcel/charts/bar.rb +177 -177
- data/lib/writeexcel/charts/column.rb +156 -156
- data/lib/writeexcel/charts/external.rb +66 -66
- data/lib/writeexcel/charts/line.rb +154 -154
- data/lib/writeexcel/charts/pie.rb +169 -169
- data/lib/writeexcel/charts/scatter.rb +192 -192
- data/lib/writeexcel/charts/stock.rb +213 -213
- data/lib/writeexcel/colors.rb +64 -64
- data/lib/writeexcel/compatibility.rb +0 -255
- data/lib/writeexcel/debug_info.rb +37 -33
- data/lib/writeexcel/excelformulaparser.rb +587 -587
- data/lib/writeexcel/format.rb +13 -4
- data/lib/writeexcel/formula.rb +26 -9
- data/lib/writeexcel/helper.rb +68 -64
- data/lib/writeexcel/olewriter.rb +311 -311
- data/lib/writeexcel/properties.rb +242 -240
- data/lib/writeexcel/storage_lite.rb +984 -978
- data/lib/writeexcel/workbook.rb +3210 -3192
- data/lib/writeexcel/worksheet.rb +143 -51
- data/lib/writeexcel/write_file.rb +44 -40
- data/lib/writeexcel.rb +1159 -1159
- data/test/helper.rb +31 -28
- data/test/perl_output/README +31 -31
- data/test/test_00_IEEE_double.rb +13 -13
- data/test/test_01_add_worksheet.rb +10 -10
- data/test/test_02_merge_formats.rb +53 -53
- data/test/test_04_dimensions.rb +392 -392
- data/test/test_05_rows.rb +179 -179
- data/test/test_06_extsst.rb +77 -77
- data/test/test_11_date_time.rb +479 -479
- data/test/test_12_date_only.rb +501 -501
- data/test/test_13_date_seconds.rb +481 -481
- data/test/test_21_escher.rb +637 -637
- data/test/test_22_mso_drawing_group.rb +745 -745
- data/test/test_23_note.rb +73 -73
- data/test/test_24_txo.rb +75 -75
- data/test/test_25_position_object.rb +84 -84
- data/test/test_26_autofilter.rb +314 -314
- data/test/test_27_autofilter.rb +131 -131
- data/test/test_28_autofilter.rb +161 -161
- data/test/test_29_process_jpg.rb +683 -683
- data/test/test_30_validation_dval.rb +77 -77
- data/test/test_31_validation_dv_strings.rb +126 -126
- data/test/test_32_validation_dv_formula.rb +206 -206
- data/test/test_40_property_types.rb +188 -188
- data/test/test_41_properties.rb +235 -235
- data/test/test_42_set_properties.rb +437 -437
- data/test/test_50_name_stored.rb +299 -299
- data/test/test_51_name_print_area.rb +357 -357
- data/test/test_52_name_print_titles.rb +454 -454
- data/test/test_53_autofilter.rb +203 -203
- data/test/test_60_chart_generic.rb +578 -578
- data/test/test_61_chart_subclasses.rb +95 -95
- data/test/test_62_chart_formats.rb +272 -272
- data/test/test_63_chart_area_formats.rb +649 -649
- data/test/test_biff.rb +75 -75
- data/test/test_compatibility.rb +12 -627
- data/test/test_example_match.rb +3144 -3144
- data/test/test_formula.rb +61 -61
- data/test/test_ole.rb +106 -106
- data/test/test_storage_lite.rb +125 -125
- data/test/test_workbook.rb +139 -139
- data/test/test_worksheet.rb +110 -110
- data/utils/add_magic_comment.rb +80 -80
- data/writeexcel.gemspec +4 -6
- data/writeexcel.rdoc +58 -15
- metadata +9 -6
- data/test/test_new_encoding.rb +0 -205
@@ -1,77 +1,77 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
##########################################################################
|
3
|
-
# test_30_validation_dval.rb
|
4
|
-
#
|
5
|
-
# Tests for the Excel DVAL structure used in data validation.
|
6
|
-
#
|
7
|
-
# reverse('©'), September 2005, John McNamara, jmcnamara@cpan.org
|
8
|
-
#
|
9
|
-
# original written in Perl by John McNamara
|
10
|
-
# converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
|
11
|
-
#
|
12
|
-
#########################################################################
|
13
|
-
require 'helper'
|
14
|
-
require 'stringio'
|
15
|
-
|
16
|
-
class TC_validation_dval < Test::Unit::TestCase
|
17
|
-
|
18
|
-
def setup
|
19
|
-
@workbook = WriteExcel.new(StringIO.new)
|
20
|
-
@worksheet = @workbook.add_worksheet
|
21
|
-
end
|
22
|
-
|
23
|
-
def teardown
|
24
|
-
@workbook.close
|
25
|
-
end
|
26
|
-
|
27
|
-
def test_1
|
28
|
-
obj_id = 1
|
29
|
-
dv_count = 1
|
30
|
-
|
31
|
-
caption = " \tData validation: _store_dval(#{obj_id}, #{dv_count})"
|
32
|
-
target = %w(
|
33
|
-
B2 01 12 00 04 00 00 00 00 00 00 00 00 00 01 00
|
34
|
-
00 00 01 00 00 00
|
35
|
-
).join(' ')
|
36
|
-
|
37
|
-
result = unpack_record(@worksheet.store_dval(obj_id, dv_count))
|
38
|
-
assert_equal(target, result, caption)
|
39
|
-
end
|
40
|
-
|
41
|
-
def test_2
|
42
|
-
obj_id = -1
|
43
|
-
dv_count = 1
|
44
|
-
|
45
|
-
caption = " \tData validation: _store_dval(#{obj_id}, #{dv_count})"
|
46
|
-
target = %w(
|
47
|
-
B2 01 12 00 04 00 00 00 00 00 00 00 00 00 FF FF
|
48
|
-
FF FF 01 00 00 00
|
49
|
-
).join(' ')
|
50
|
-
|
51
|
-
result = unpack_record(@worksheet.store_dval(obj_id, dv_count))
|
52
|
-
assert_equal(target, result, caption)
|
53
|
-
end
|
54
|
-
|
55
|
-
def test_3
|
56
|
-
obj_id = 1
|
57
|
-
dv_count = 2
|
58
|
-
|
59
|
-
caption = " \tData validation: _store_dval(#{obj_id}, #{dv_count})"
|
60
|
-
target = %w(
|
61
|
-
B2 01 12 00 04 00 00 00 00 00 00 00 00 00 01 00
|
62
|
-
00 00 02 00 00 00
|
63
|
-
).join(' ')
|
64
|
-
|
65
|
-
result = unpack_record(@worksheet.store_dval(obj_id, dv_count))
|
66
|
-
assert_equal(target, result, caption)
|
67
|
-
end
|
68
|
-
|
69
|
-
###############################################################################
|
70
|
-
#
|
71
|
-
# Unpack the binary data into a format suitable for printing in tests.
|
72
|
-
#
|
73
|
-
def unpack_record(data)
|
74
|
-
data.unpack('C*').map! {|c| sprintf("%02X", c) }.join(' ')
|
75
|
-
end
|
76
|
-
|
77
|
-
end
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
##########################################################################
|
3
|
+
# test_30_validation_dval.rb
|
4
|
+
#
|
5
|
+
# Tests for the Excel DVAL structure used in data validation.
|
6
|
+
#
|
7
|
+
# reverse('©'), September 2005, John McNamara, jmcnamara@cpan.org
|
8
|
+
#
|
9
|
+
# original written in Perl by John McNamara
|
10
|
+
# converted to Ruby by Hideo Nakamura, cxn03651@msj.biglobe.ne.jp
|
11
|
+
#
|
12
|
+
#########################################################################
|
13
|
+
require 'helper'
|
14
|
+
require 'stringio'
|
15
|
+
|
16
|
+
class TC_validation_dval < Test::Unit::TestCase
|
17
|
+
|
18
|
+
def setup
|
19
|
+
@workbook = WriteExcel.new(StringIO.new)
|
20
|
+
@worksheet = @workbook.add_worksheet
|
21
|
+
end
|
22
|
+
|
23
|
+
def teardown
|
24
|
+
@workbook.close
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_1
|
28
|
+
obj_id = 1
|
29
|
+
dv_count = 1
|
30
|
+
|
31
|
+
caption = " \tData validation: _store_dval(#{obj_id}, #{dv_count})"
|
32
|
+
target = %w(
|
33
|
+
B2 01 12 00 04 00 00 00 00 00 00 00 00 00 01 00
|
34
|
+
00 00 01 00 00 00
|
35
|
+
).join(' ')
|
36
|
+
|
37
|
+
result = unpack_record(@worksheet.store_dval(obj_id, dv_count))
|
38
|
+
assert_equal(target, result, caption)
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_2
|
42
|
+
obj_id = -1
|
43
|
+
dv_count = 1
|
44
|
+
|
45
|
+
caption = " \tData validation: _store_dval(#{obj_id}, #{dv_count})"
|
46
|
+
target = %w(
|
47
|
+
B2 01 12 00 04 00 00 00 00 00 00 00 00 00 FF FF
|
48
|
+
FF FF 01 00 00 00
|
49
|
+
).join(' ')
|
50
|
+
|
51
|
+
result = unpack_record(@worksheet.store_dval(obj_id, dv_count))
|
52
|
+
assert_equal(target, result, caption)
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_3
|
56
|
+
obj_id = 1
|
57
|
+
dv_count = 2
|
58
|
+
|
59
|
+
caption = " \tData validation: _store_dval(#{obj_id}, #{dv_count})"
|
60
|
+
target = %w(
|
61
|
+
B2 01 12 00 04 00 00 00 00 00 00 00 00 00 01 00
|
62
|
+
00 00 02 00 00 00
|
63
|
+
).join(' ')
|
64
|
+
|
65
|
+
result = unpack_record(@worksheet.store_dval(obj_id, dv_count))
|
66
|
+
assert_equal(target, result, caption)
|
67
|
+
end
|
68
|
+
|
69
|
+
###############################################################################
|
70
|
+
#
|
71
|
+
# Unpack the binary data into a format suitable for printing in tests.
|
72
|
+
#
|
73
|
+
def unpack_record(data)
|
74
|
+
data.unpack('C*').map! {|c| sprintf("%02X", c) }.join(' ')
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
@@ -1,126 +1,126 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
##########################################################################
|
3
|
-
# test_31_validation_dv_strings.rb
|
4
|
-
#
|
5
|
-
# Tests for the packed caption/message strings used in the Excel DV structure
|
6
|
-
# as part of data validation.
|
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_validation_dv_strings < 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_empty_string
|
29
|
-
string = ''
|
30
|
-
max_length = 32
|
31
|
-
|
32
|
-
caption = " \tData validation: _pack_dv_string('', #{max_length})"
|
33
|
-
target = %w(
|
34
|
-
01 00 00 00
|
35
|
-
).join(' ')
|
36
|
-
result = unpack_record(@worksheet.pack_dv_string(string, max_length))
|
37
|
-
assert_equal(target, result, caption)
|
38
|
-
end
|
39
|
-
|
40
|
-
def test_nil
|
41
|
-
string = nil
|
42
|
-
max_length = 32
|
43
|
-
|
44
|
-
caption = " \tData validation: _pack_dv_string('', #{max_length})"
|
45
|
-
target = %w(
|
46
|
-
01 00 00 00
|
47
|
-
).join(' ')
|
48
|
-
result = unpack_record(@worksheet.pack_dv_string(string, max_length))
|
49
|
-
assert_equal(target, result, caption)
|
50
|
-
end
|
51
|
-
|
52
|
-
def test_single_space
|
53
|
-
string = ' '
|
54
|
-
max_length = 32
|
55
|
-
|
56
|
-
caption = " \tData validation: _pack_dv_string('', #{max_length})"
|
57
|
-
target = %w(
|
58
|
-
01 00 00 20
|
59
|
-
).join(' ')
|
60
|
-
result = unpack_record(@worksheet.pack_dv_string(string, max_length))
|
61
|
-
assert_equal(target, result, caption)
|
62
|
-
end
|
63
|
-
|
64
|
-
def test_single_character
|
65
|
-
string = 'A'
|
66
|
-
max_length = 32
|
67
|
-
|
68
|
-
caption = " \tData validation: _pack_dv_string('', #{max_length})"
|
69
|
-
target = %w(
|
70
|
-
01 00 00 41
|
71
|
-
).join(' ')
|
72
|
-
result = unpack_record(@worksheet.pack_dv_string(string, max_length))
|
73
|
-
assert_equal(target, result, caption)
|
74
|
-
end
|
75
|
-
|
76
|
-
def test_string_longer_than_32_characters_for_dialog_captions
|
77
|
-
string = 'This string is longer than 32 characters'
|
78
|
-
max_length = 32
|
79
|
-
|
80
|
-
caption = " \tData validation: _pack_dv_string('', #{max_length})"
|
81
|
-
target = %w(
|
82
|
-
20 00 00 54 68 69 73 20
|
83
|
-
73 74 72 69 6E 67 20 69 73 20 6C 6F 6E 67 65 72
|
84
|
-
20 74 68 61 6E 20 33 32 20 63 68
|
85
|
-
).join(' ')
|
86
|
-
result = unpack_record(@worksheet.pack_dv_string(string, max_length))
|
87
|
-
assert_equal(target, result, caption)
|
88
|
-
end
|
89
|
-
|
90
|
-
def test_string_longer_than_32_characters_for_dialog_messages
|
91
|
-
string = 'ABCD' * 64
|
92
|
-
max_length = 255
|
93
|
-
|
94
|
-
caption = " \tData validation: _pack_dv_string('', #{max_length})"
|
95
|
-
target = %w(
|
96
|
-
FF 00 00 41 42 43 44 41 42 43 44 41 42 43 44 41
|
97
|
-
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
98
|
-
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
99
|
-
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
100
|
-
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
101
|
-
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
102
|
-
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
103
|
-
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
104
|
-
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
105
|
-
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
106
|
-
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
107
|
-
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
108
|
-
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
109
|
-
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
110
|
-
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
111
|
-
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
112
|
-
42 43
|
113
|
-
).join(' ')
|
114
|
-
result = unpack_record(@worksheet.pack_dv_string(string, max_length))
|
115
|
-
assert_equal(target, result, caption)
|
116
|
-
end
|
117
|
-
|
118
|
-
###############################################################################
|
119
|
-
#
|
120
|
-
# Unpack the binary data into a format suitable for printing in tests.
|
121
|
-
#
|
122
|
-
def unpack_record(data)
|
123
|
-
data.unpack('C*').map! {|c| sprintf("%02X", c) }.join(' ')
|
124
|
-
end
|
125
|
-
|
126
|
-
end
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
##########################################################################
|
3
|
+
# test_31_validation_dv_strings.rb
|
4
|
+
#
|
5
|
+
# Tests for the packed caption/message strings used in the Excel DV structure
|
6
|
+
# as part of data validation.
|
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_validation_dv_strings < 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_empty_string
|
29
|
+
string = ''
|
30
|
+
max_length = 32
|
31
|
+
|
32
|
+
caption = " \tData validation: _pack_dv_string('', #{max_length})"
|
33
|
+
target = %w(
|
34
|
+
01 00 00 00
|
35
|
+
).join(' ')
|
36
|
+
result = unpack_record(@worksheet.pack_dv_string(string, max_length))
|
37
|
+
assert_equal(target, result, caption)
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_nil
|
41
|
+
string = nil
|
42
|
+
max_length = 32
|
43
|
+
|
44
|
+
caption = " \tData validation: _pack_dv_string('', #{max_length})"
|
45
|
+
target = %w(
|
46
|
+
01 00 00 00
|
47
|
+
).join(' ')
|
48
|
+
result = unpack_record(@worksheet.pack_dv_string(string, max_length))
|
49
|
+
assert_equal(target, result, caption)
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_single_space
|
53
|
+
string = ' '
|
54
|
+
max_length = 32
|
55
|
+
|
56
|
+
caption = " \tData validation: _pack_dv_string('', #{max_length})"
|
57
|
+
target = %w(
|
58
|
+
01 00 00 20
|
59
|
+
).join(' ')
|
60
|
+
result = unpack_record(@worksheet.pack_dv_string(string, max_length))
|
61
|
+
assert_equal(target, result, caption)
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_single_character
|
65
|
+
string = 'A'
|
66
|
+
max_length = 32
|
67
|
+
|
68
|
+
caption = " \tData validation: _pack_dv_string('', #{max_length})"
|
69
|
+
target = %w(
|
70
|
+
01 00 00 41
|
71
|
+
).join(' ')
|
72
|
+
result = unpack_record(@worksheet.pack_dv_string(string, max_length))
|
73
|
+
assert_equal(target, result, caption)
|
74
|
+
end
|
75
|
+
|
76
|
+
def test_string_longer_than_32_characters_for_dialog_captions
|
77
|
+
string = 'This string is longer than 32 characters'
|
78
|
+
max_length = 32
|
79
|
+
|
80
|
+
caption = " \tData validation: _pack_dv_string('', #{max_length})"
|
81
|
+
target = %w(
|
82
|
+
20 00 00 54 68 69 73 20
|
83
|
+
73 74 72 69 6E 67 20 69 73 20 6C 6F 6E 67 65 72
|
84
|
+
20 74 68 61 6E 20 33 32 20 63 68
|
85
|
+
).join(' ')
|
86
|
+
result = unpack_record(@worksheet.pack_dv_string(string, max_length))
|
87
|
+
assert_equal(target, result, caption)
|
88
|
+
end
|
89
|
+
|
90
|
+
def test_string_longer_than_32_characters_for_dialog_messages
|
91
|
+
string = 'ABCD' * 64
|
92
|
+
max_length = 255
|
93
|
+
|
94
|
+
caption = " \tData validation: _pack_dv_string('', #{max_length})"
|
95
|
+
target = %w(
|
96
|
+
FF 00 00 41 42 43 44 41 42 43 44 41 42 43 44 41
|
97
|
+
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
98
|
+
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
99
|
+
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
100
|
+
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
101
|
+
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
102
|
+
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
103
|
+
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
104
|
+
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
105
|
+
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
106
|
+
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
107
|
+
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
108
|
+
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
109
|
+
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
110
|
+
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
111
|
+
42 43 44 41 42 43 44 41 42 43 44 41 42 43 44 41
|
112
|
+
42 43
|
113
|
+
).join(' ')
|
114
|
+
result = unpack_record(@worksheet.pack_dv_string(string, max_length))
|
115
|
+
assert_equal(target, result, caption)
|
116
|
+
end
|
117
|
+
|
118
|
+
###############################################################################
|
119
|
+
#
|
120
|
+
# Unpack the binary data into a format suitable for printing in tests.
|
121
|
+
#
|
122
|
+
def unpack_record(data)
|
123
|
+
data.unpack('C*').map! {|c| sprintf("%02X", c) }.join(' ')
|
124
|
+
end
|
125
|
+
|
126
|
+
end
|