workbook 0.4.2 → 0.4.3
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -1
- data/.yardoc/checksums +22 -21
- data/.yardoc/object_types +0 -0
- data/.yardoc/objects/root.dat +0 -0
- data/Gemfile.lock +2 -2
- data/doc/RubyXL.html +1 -1
- data/doc/RubyXL/Cell.html +1 -1
- data/doc/RubyXL/Workbook.html +31 -31
- data/doc/Workbook.html +4 -4
- data/doc/Workbook/Book.html +5 -5
- data/doc/Workbook/Cell.html +202 -62
- data/doc/Workbook/Format.html +32 -32
- data/doc/Workbook/Modules.html +1 -1
- data/doc/Workbook/Modules/RawObjectsStorage.html +5 -5
- data/doc/Workbook/Modules/TableDiffSort.html +14 -14
- data/doc/Workbook/Modules/TypeParser.html +7 -7
- data/doc/Workbook/NilValue.html +434 -0
- data/doc/Workbook/Readers.html +3 -3
- data/doc/Workbook/Readers/CsvReader.html +6 -6
- data/doc/Workbook/Readers/OdsReader.html +562 -60
- data/doc/Workbook/Readers/TxtReader.html +2 -2
- data/doc/Workbook/Readers/XlsReader.html +14 -14
- data/doc/Workbook/Readers/XlsShared.html +67 -67
- data/doc/Workbook/Readers/XlsxReader.html +7 -7
- data/doc/Workbook/Row.html +243 -5
- data/doc/Workbook/Sheet.html +2 -2
- data/doc/Workbook/Table.html +669 -58
- data/doc/Workbook/Template.html +5 -5
- data/doc/Workbook/Writers.html +1 -1
- data/doc/Workbook/Writers/CsvTableWriter.html +1 -1
- data/doc/Workbook/Writers/HtmlWriter.html +27 -13
- data/doc/Workbook/Writers/XlsWriter.html +2 -2
- data/doc/_index.html +23 -8
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +16 -12
- data/doc/index.html +16 -12
- data/doc/method_list.html +232 -72
- data/doc/top-level-namespace.html +1 -1
- data/lib/workbook/book.rb +25 -25
- data/lib/workbook/cell.rb +33 -33
- data/lib/workbook/format.rb +10 -10
- data/lib/workbook/modules/raw_objects_storage.rb +19 -19
- data/lib/workbook/modules/table_diff_sort.rb +22 -22
- data/lib/workbook/modules/type_parser.rb +18 -18
- data/lib/workbook/nil_value.rb +6 -6
- data/lib/workbook/readers/csv_reader.rb +8 -8
- data/lib/workbook/readers/ods_reader.rb +92 -46
- data/lib/workbook/readers/txt_reader.rb +2 -2
- data/lib/workbook/readers/xls_reader.rb +19 -19
- data/lib/workbook/readers/xls_shared.rb +70 -70
- data/lib/workbook/readers/xlsx_reader.rb +42 -42
- data/lib/workbook/row.rb +59 -29
- data/lib/workbook/sheet.rb +8 -8
- data/lib/workbook/table.rb +52 -19
- data/lib/workbook/template.rb +10 -10
- data/lib/workbook/version.rb +1 -1
- data/lib/workbook/writers/csv_table_writer.rb +1 -1
- data/lib/workbook/writers/html_writer.rb +6 -6
- data/lib/workbook/writers/xls_writer.rb +12 -12
- data/rbeautify.rb +232 -0
- data/test/artifacts/book_with_colspans.ods +0 -0
- data/test/artifacts/book_with_tabs_and_colours.ods +0 -0
- data/test/test_book.rb +10 -10
- data/test/test_cell.rb +14 -14
- data/test/test_format.rb +11 -11
- data/test/test_functional.rb +3 -3
- data/test/test_modules_table_diff_sort.rb +24 -24
- data/test/test_modules_type_parser.rb +27 -27
- data/test/test_readers_csv_reader.rb +11 -11
- data/test/test_readers_ods_reader.rb +22 -15
- data/test/test_readers_txt_reader.rb +13 -13
- data/test/test_readers_xls_reader.rb +11 -11
- data/test/test_readers_xlsx_reader.rb +5 -5
- data/test/test_row.rb +96 -26
- data/test/test_sheet.rb +9 -9
- data/test/test_table.rb +42 -26
- data/test/test_template.rb +3 -3
- data/test/test_writers_html_writer.rb +6 -4
- data/test/test_writers_xls_writer.rb +7 -7
- metadata +5 -1
@@ -3,16 +3,16 @@ require File.join(File.dirname(__FILE__), 'helper')
|
|
3
3
|
module Readers
|
4
4
|
class TestXlsWriter < Test::Unit::TestCase
|
5
5
|
def test_open
|
6
|
-
|
6
|
+
|
7
7
|
w = Workbook::Book.new
|
8
|
-
w.open '
|
8
|
+
w.open File.join(File.dirname(__FILE__), 'artifacts/book_with_tabs_and_colours.ods')
|
9
9
|
assert_equal([:a, :b, :c, :d, :e],w.sheet.table.header.to_symbols)
|
10
10
|
assert_equal(90588,w.sheet.table[2][:b].value)
|
11
11
|
end
|
12
12
|
|
13
13
|
def test_styling
|
14
14
|
w = Workbook::Book.new
|
15
|
-
w.open '
|
15
|
+
w.open File.join(File.dirname(__FILE__), 'artifacts/book_with_tabs_and_colours.ods')
|
16
16
|
assert_equal("#ffff99",w.sheet.table[3][:c].format[:background_color])
|
17
17
|
assert_equal(true,w.sheet.table[0][:e].format.all_names.include?("Heading1"))
|
18
18
|
# TODO: column styles
|
@@ -20,25 +20,19 @@ module Readers
|
|
20
20
|
# assert_equal(3.85546875,w.sheet.table.first[:a].format[:width])
|
21
21
|
# assert_equal(25.14453125,w.sheet.table.first[:c].format[:width])
|
22
22
|
end
|
23
|
-
|
23
|
+
|
24
24
|
def test_complex_types
|
25
25
|
w = Workbook::Book.new
|
26
|
-
w.open '
|
26
|
+
w.open File.join(File.dirname(__FILE__), 'artifacts/complex_types.ods')
|
27
27
|
assert_equal(Date.new(2011,11,15), w.sheet.table[2][3].value)
|
28
28
|
assert_equal("http://murb.nl", w.sheet.table[3][2].value)
|
29
29
|
assert_equal("Sadfasdfsd > 2", w.sheet.table[4][2].value)
|
30
30
|
assert_equal(1.2, w.sheet.table[3][1].value)
|
31
31
|
end
|
32
|
-
|
32
|
+
|
33
33
|
def test_excel_standardized_open
|
34
34
|
w = Workbook::Book.new
|
35
|
-
w.open(
|
36
|
-
# reads
|
37
|
-
# a,b,c,d
|
38
|
-
# 2012-02-22,2014-12-27,2012-11-23,2012-11-12T04:20:00+00:00
|
39
|
-
# c,222.0,,0027-12-14T05:21:00+00:00
|
40
|
-
# 2012-01-22T11:00:00+00:00,42000.0,"goh, idd",ls
|
41
|
-
#
|
35
|
+
w.open File.join(File.dirname(__FILE__), 'artifacts/excel_different_types.ods')
|
42
36
|
assert_equal([:a,:b,:c, :d],w.sheet.table.header.to_symbols[0..3])
|
43
37
|
assert_equal(Date.new(2012,2,22),w.sheet.table[1][:a].value)
|
44
38
|
assert_equal("c",w.sheet.table[2][:a].value)
|
@@ -46,9 +40,10 @@ module Readers
|
|
46
40
|
assert_equal(42000,w.sheet.table[3][:b].value)
|
47
41
|
assert_equal(nil,w.sheet.table[2][:c].value)
|
48
42
|
end
|
43
|
+
|
49
44
|
def test_sheet_with_combined_cells
|
50
45
|
w = Workbook::Book.new
|
51
|
-
w.open(
|
46
|
+
w.open File.join(File.dirname(__FILE__), 'artifacts/sheet_with_combined_cells.ods')
|
52
47
|
t = w.sheet.table
|
53
48
|
assert_equal("14 90589",t[1][:a].value)
|
54
49
|
assert_equal(Workbook::NilValue,t[1][:b].value.class)
|
@@ -58,6 +53,18 @@ module Readers
|
|
58
53
|
assert_equal(2,t["D3"].rowspan)
|
59
54
|
assert_equal(2,t["D5"].rowspan)
|
60
55
|
assert_equal(2,t["D5"].colspan)
|
61
|
-
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_duca_sheet
|
59
|
+
w = Workbook::Book.new
|
60
|
+
w.open File.join(File.dirname(__FILE__), 'artifacts/book_with_colspans.ods')
|
61
|
+
t = w.sheet.table
|
62
|
+
assert_equal(2,t["B1"].colspan)
|
63
|
+
assert_equal(2,t["D1"].colspan)
|
64
|
+
assert_equal(nil,t["D3"].value)
|
65
|
+
assert_equal("g",t["A19"].value)
|
66
|
+
assert_equal(0.03,t["D17"].value)
|
67
|
+
end
|
68
|
+
|
62
69
|
end
|
63
70
|
end
|
@@ -5,19 +5,19 @@ module Readers
|
|
5
5
|
# Should one day throw an error..
|
6
6
|
# def test_failure_excel_as_txt_open
|
7
7
|
# w = Workbook::Book.new
|
8
|
-
# w.open("
|
8
|
+
# w.open(File.join(File.dirname(__FILE__), "artifacts/xls_with_txt_extension.txt")
|
9
9
|
# puts w.sheet.table
|
10
10
|
# end
|
11
11
|
|
12
12
|
def test_excel_standardized_open
|
13
13
|
w = Workbook::Book.new
|
14
|
-
w.open("
|
14
|
+
w.open(File.join(File.dirname(__FILE__), "artifacts/excel_different_types.txt"))
|
15
15
|
# reads
|
16
16
|
# a,b,c,d
|
17
17
|
# 2012-02-22,2014-12-27,2012-11-23,2012-11-12T04:20:00+00:00
|
18
18
|
# c,222.0,,0027-12-14T05:21:00+00:00
|
19
19
|
# 2012-01-22T11:00:00+00:00,42000.0,"goh, idd",ls
|
20
|
-
|
20
|
+
|
21
21
|
assert_equal([:a,:b,:c, :d],w.sheet.table.header.to_symbols)
|
22
22
|
assert_equal(Date.new(2012,2,22),w.sheet.table[1][:a].value)
|
23
23
|
assert_equal("c",w.sheet.table[2][:a].value)
|
@@ -25,16 +25,16 @@ module Readers
|
|
25
25
|
assert_equal(42000,w.sheet.table[3][:b].value)
|
26
26
|
assert_equal(nil,w.sheet.table[2][:c].value)
|
27
27
|
end
|
28
|
-
|
28
|
+
|
29
29
|
def test_excel_class_read_string
|
30
|
-
s = File.read("
|
30
|
+
s = File.read(File.join(File.dirname(__FILE__), "artifacts/excel_different_types.txt"))
|
31
31
|
w = Workbook::Book.read(s, :txt)
|
32
32
|
# reads
|
33
33
|
# a,b,c,d
|
34
34
|
# 2012-02-22,2014-12-27,2012-11-23,2012-11-12T04:20:00+00:00
|
35
35
|
# c,222.0,,0027-12-14T05:21:00+00:00
|
36
36
|
# 2012-01-22T11:00:00+00:00,42000.0,"goh, idd",ls
|
37
|
-
|
37
|
+
|
38
38
|
assert_equal([:a,:b,:c, :d],w.sheet.table.header.to_symbols)
|
39
39
|
assert_equal(Date.new(2012,2,22),w.sheet.table[1][:a].value)
|
40
40
|
assert_equal("c",w.sheet.table[2][:a].value)
|
@@ -42,9 +42,9 @@ module Readers
|
|
42
42
|
assert_equal(42000,w.sheet.table[3][:b].value)
|
43
43
|
assert_equal(nil,w.sheet.table[2][:c].value)
|
44
44
|
end
|
45
|
-
|
45
|
+
|
46
46
|
def test_excel_instance_read_string
|
47
|
-
s = File.read("
|
47
|
+
s = File.read(File.join(File.dirname(__FILE__), "artifacts/excel_different_types.txt"))
|
48
48
|
w = Workbook::Book.new
|
49
49
|
w.read(s, :txt)
|
50
50
|
# reads
|
@@ -52,7 +52,7 @@ module Readers
|
|
52
52
|
# 2012-02-22,2014-12-27,2012-11-23,2012-11-12T04:20:00+00:00
|
53
53
|
# c,222.0,,0027-12-14T05:21:00+00:00
|
54
54
|
# 2012-01-22T11:00:00+00:00,42000.0,"goh, idd",ls
|
55
|
-
|
55
|
+
|
56
56
|
assert_equal([:a,:b,:c, :d],w.sheet.table.header.to_symbols)
|
57
57
|
assert_equal(Date.new(2012,2,22),w.sheet.table[1][:a].value)
|
58
58
|
assert_equal("c",w.sheet.table[2][:a].value)
|
@@ -60,9 +60,9 @@ module Readers
|
|
60
60
|
assert_equal(42000,w.sheet.table[3][:b].value)
|
61
61
|
assert_equal(nil,w.sheet.table[2][:c].value)
|
62
62
|
end
|
63
|
-
|
63
|
+
|
64
64
|
def test_excel_instance_read_stringio
|
65
|
-
sio = StringIO.new(File.read("
|
65
|
+
sio = StringIO.new(File.read(File.join(File.dirname(__FILE__), "artifacts/excel_different_types.txt")))
|
66
66
|
w = Workbook::Book.new
|
67
67
|
w.read(sio, :txt)
|
68
68
|
# reads
|
@@ -70,7 +70,7 @@ module Readers
|
|
70
70
|
# 2012-02-22,2014-12-27,2012-11-23,2012-11-12T04:20:00+00:00
|
71
71
|
# c,222.0,,0027-12-14T05:21:00+00:00
|
72
72
|
# 2012-01-22T11:00:00+00:00,42000.0,"goh, idd",ls
|
73
|
-
|
73
|
+
|
74
74
|
assert_equal([:a,:b,:c, :d],w.sheet.table.header.to_symbols)
|
75
75
|
assert_equal(Date.new(2012,2,22),w.sheet.table[1][:a].value)
|
76
76
|
assert_equal("c",w.sheet.table[2][:a].value)
|
@@ -78,6 +78,6 @@ module Readers
|
|
78
78
|
assert_equal(42000,w.sheet.table[3][:b].value)
|
79
79
|
assert_equal(nil,w.sheet.table[2][:c].value)
|
80
80
|
end
|
81
|
-
|
81
|
+
|
82
82
|
end
|
83
83
|
end
|
@@ -4,35 +4,35 @@ module Readers
|
|
4
4
|
class TestXlsWriter < Test::Unit::TestCase
|
5
5
|
def test_open
|
6
6
|
w = Workbook::Book.new
|
7
|
-
w.open '
|
7
|
+
w.open File.join(File.dirname(__FILE__), 'artifacts/book_with_tabs_and_colours.xls')
|
8
8
|
assert_equal([:a, :b, :c, :d, :e],w.sheet.table.header.to_symbols)
|
9
9
|
assert_equal(90588,w.sheet.table[2][:b].value)
|
10
10
|
assert_equal("#CCFFCC",w.sheet.table[3][:c].format[:background_color])
|
11
11
|
assert_equal(8.13671875,w.sheet.table.first[:b].format[:width])
|
12
12
|
assert_equal(3.85546875,w.sheet.table.first[:a].format[:width])
|
13
13
|
assert_equal(25.14453125,w.sheet.table.first[:c].format[:width])
|
14
|
-
|
15
|
-
|
14
|
+
|
15
|
+
|
16
16
|
end
|
17
|
-
|
17
|
+
|
18
18
|
def test_complex_types
|
19
19
|
w = Workbook::Book.new
|
20
|
-
w.open '
|
20
|
+
w.open File.join(File.dirname(__FILE__), 'artifacts/complex_types.xls')
|
21
21
|
assert_equal(Date.new(2011,11,15), w.sheet.table[2][3].value)
|
22
22
|
assert_equal("http://murb.nl", w.sheet.table[3][2].value)
|
23
23
|
assert_equal("sadfasdfsd", w.sheet.table[4][2].value)
|
24
24
|
assert_equal(1.2, w.sheet.table[3][1].value)
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
def test_excel_standardized_open
|
28
28
|
w = Workbook::Book.new
|
29
|
-
w.open("
|
29
|
+
w.open(File.join(File.dirname(__FILE__), "artifacts/excel_different_types.xls"))
|
30
30
|
# reads
|
31
31
|
# a,b,c,d
|
32
32
|
# 2012-02-22,2014-12-27,2012-11-23,2012-11-12T04:20:00+00:00
|
33
33
|
# c,222.0,,0027-12-14T05:21:00+00:00
|
34
34
|
# 2012-01-22T11:00:00+00:00,42000.0,"goh, idd",ls
|
35
|
-
|
35
|
+
|
36
36
|
assert_equal([:a,:b,:c, :d],w.sheet.table.header.to_symbols)
|
37
37
|
assert_equal(Date.new(2012,2,22),w.sheet.table[1][:a].value)
|
38
38
|
assert_equal("c",w.sheet.table[2][:a].value)
|
@@ -40,10 +40,10 @@ module Readers
|
|
40
40
|
assert_equal(42000,w.sheet.table[3][:b].value)
|
41
41
|
assert_equal(nil,w.sheet.table[2][:c].value)
|
42
42
|
end
|
43
|
-
|
43
|
+
|
44
44
|
def test_txt_in_xls_open
|
45
45
|
w = Workbook::Book.new
|
46
|
-
w.open("
|
46
|
+
w.open(File.join(File.dirname(__FILE__), "artifacts/txt_in_xls.xls"))
|
47
47
|
assert_equal([:naam,:nummer,:ilt,:corporate_key,:naam_medewerker, nil, nil, :telefoon, :openingsdatum],w.sheet.table.header.to_symbols)
|
48
48
|
assert_equal(["dddd",2222,"i9000","asd","Anita",nil,"Betera","012-3456789",Date.new(2011,10,5)],w.sheet.table[1].collect{|a| a.value})
|
49
49
|
end
|
@@ -51,7 +51,7 @@ module Readers
|
|
51
51
|
w = Workbook::Book.new
|
52
52
|
failed_properly = false
|
53
53
|
begin
|
54
|
-
w.open("
|
54
|
+
w.open(File.join(File.dirname(__FILE__), "artifacts/zip_in_xls.xls"))
|
55
55
|
w.sheet.table.to_csv
|
56
56
|
rescue Ole::Storage::FormatError
|
57
57
|
failed_properly = true
|
@@ -4,21 +4,21 @@ module Readers
|
|
4
4
|
class TestXlsxWriter < Test::Unit::TestCase
|
5
5
|
def test_open
|
6
6
|
w = Workbook::Book.new
|
7
|
-
w.open '
|
7
|
+
w.open File.join(File.dirname(__FILE__), 'artifacts/book_with_tabs_and_colours.xlsx')
|
8
8
|
assert_equal([:a, :b, :c, :d, :e],w.sheet.table.header.to_symbols)
|
9
9
|
assert_equal(90588,w.sheet.table[2][:b].value)
|
10
10
|
assert_equal(DateTime.new(2011,11,15),w.sheet.table[3][:d].value)
|
11
|
-
|
11
|
+
# assert_equal("#CCFFCC",w.sheet.table[3][:c].format[:background_color]) #colour compatibility turned off for now...
|
12
12
|
assert_equal(8,w.sheet.table.first[:b].format[:width].round)
|
13
13
|
assert_equal(4,w.sheet.table.first[:a].format[:width].round)
|
14
14
|
assert_equal(25,w.sheet.table.first[:c].format[:width].round)
|
15
15
|
end
|
16
16
|
def test_open_native_xlsx
|
17
17
|
w = Workbook::Book.new
|
18
|
-
w.open '
|
19
|
-
|
18
|
+
w.open File.join(File.dirname(__FILE__), 'artifacts/native_xlsx.xlsx')
|
19
|
+
|
20
20
|
assert_equal([:datum_gemeld, :adm_gereed, :callnr],w.sheet.table.header.to_symbols)
|
21
|
-
|
21
|
+
|
22
22
|
assert_equal("Callnr.",w.sheet.table[0][:callnr].value)
|
23
23
|
assert_equal("2475617.00",w.sheet.table[3][:callnr].value)
|
24
24
|
assert_equal("2012-12-03T12:30:00+00:00",w.sheet.table[7][:datum_gemeld].value.to_s)
|
data/test/test_row.rb
CHANGED
@@ -3,7 +3,7 @@ require File.join(File.dirname(__FILE__), 'helper')
|
|
3
3
|
|
4
4
|
class TestRow < Test::Unit::TestCase
|
5
5
|
|
6
|
-
|
6
|
+
|
7
7
|
def test_init
|
8
8
|
t = Workbook::Table.new
|
9
9
|
r = Workbook::Row.new([1,2,3],t)
|
@@ -11,25 +11,25 @@ class TestRow < Test::Unit::TestCase
|
|
11
11
|
c2 = Workbook::Cell.new(2)
|
12
12
|
c3 = Workbook::Cell.new(3)
|
13
13
|
assert_equal([c1,c2,c3].collect{|c| c.value},r.collect{|c| c.value})
|
14
|
-
|
14
|
+
|
15
15
|
#t = Workbook::Table.new
|
16
16
|
c1 = Workbook::Cell.new(1)
|
17
17
|
c2 = Workbook::Cell.new(2)
|
18
18
|
c3 = Workbook::Cell.new(3)
|
19
|
-
|
19
|
+
|
20
20
|
r = Workbook::Row.new([c1,c2,c3])
|
21
21
|
|
22
22
|
assert_equal([c1,c2,c3],r)
|
23
|
-
|
23
|
+
|
24
24
|
end
|
25
|
-
|
25
|
+
|
26
26
|
def test_table=
|
27
27
|
r = Workbook::Row.new
|
28
28
|
assert_raise(ArgumentError, 'table should be a Workbook::Table (you passed a String)') { r.table = "asdf" }
|
29
29
|
r.table = nil
|
30
30
|
assert_equal(r.table, nil)
|
31
31
|
r = Workbook::Row.new
|
32
|
-
|
32
|
+
|
33
33
|
t = Workbook::Table.new
|
34
34
|
r.table = t
|
35
35
|
assert_equal(r.table, t)
|
@@ -50,10 +50,10 @@ class TestRow < Test::Unit::TestCase
|
|
50
50
|
t.header = r2
|
51
51
|
assert_equal(true, r2.header?)
|
52
52
|
assert_equal(false, t.first.header?)
|
53
|
-
|
54
|
-
assert_equal(r1, t.first)
|
55
|
-
end
|
56
|
-
|
53
|
+
|
54
|
+
assert_equal(r1, t.first)
|
55
|
+
end
|
56
|
+
|
57
57
|
def test_first?
|
58
58
|
t = Workbook::Table.new
|
59
59
|
r1 = Workbook::Row.new
|
@@ -63,10 +63,10 @@ class TestRow < Test::Unit::TestCase
|
|
63
63
|
r2.table = t
|
64
64
|
assert_equal(false, r2.first?)
|
65
65
|
assert_equal(true, t.first.first?)
|
66
|
-
|
67
|
-
assert_equal(r1, t.first)
|
66
|
+
|
67
|
+
assert_equal(r1, t.first)
|
68
68
|
end
|
69
|
-
|
69
|
+
|
70
70
|
def test_no_values?
|
71
71
|
t = Workbook::Table.new
|
72
72
|
r1 = Workbook::Row.new
|
@@ -78,7 +78,7 @@ class TestRow < Test::Unit::TestCase
|
|
78
78
|
r2.table = t
|
79
79
|
assert_equal(true, r2.no_values?)
|
80
80
|
end
|
81
|
-
|
81
|
+
|
82
82
|
def test_to_symbols
|
83
83
|
r1 = Workbook::Row.new ["test", "asdf-asd", "asdf - asdf", "asdf2"]
|
84
84
|
assert_equal([:test, :asdfasd, :asdf_asdf, :asdf2], r1.to_symbols)
|
@@ -86,11 +86,11 @@ class TestRow < Test::Unit::TestCase
|
|
86
86
|
assert_equal([:init, :eee], r1.to_symbols)
|
87
87
|
|
88
88
|
end
|
89
|
-
|
89
|
+
|
90
90
|
def test_to_hash
|
91
91
|
r1 = Workbook::Row.new ["test", "asdf-asd", "asdf - asdf", "asdf2"]
|
92
92
|
assert_raise(NoMethodError, 'undefined method `header\' for nil:NilClass') { r1.to_hash }
|
93
|
-
|
93
|
+
|
94
94
|
t = Workbook::Table.new
|
95
95
|
r1 = Workbook::Row.new ["test", "asdf-asd"]
|
96
96
|
r1.table = t
|
@@ -104,7 +104,7 @@ class TestRow < Test::Unit::TestCase
|
|
104
104
|
assert_equal(date, r2[:asdfasd].value)
|
105
105
|
assert_equal(date, r2[1].value)
|
106
106
|
end
|
107
|
-
|
107
|
+
|
108
108
|
def test_compare
|
109
109
|
r1 = Workbook::Row.new ["test", "asdf-asd"]
|
110
110
|
r2 = Workbook::Row.new [nil, "asdf-asd"]
|
@@ -124,9 +124,9 @@ class TestRow < Test::Unit::TestCase
|
|
124
124
|
r1 = Workbook::Row.new [-10, 3]
|
125
125
|
r2 = Workbook::Row.new [nil, 5]
|
126
126
|
assert_equal(-1,r1<=>r2)
|
127
|
-
|
127
|
+
|
128
128
|
end
|
129
|
-
|
129
|
+
|
130
130
|
def test_find_cells_by_background_color
|
131
131
|
r = Workbook::Row.new ["test", "asdf-asd"]
|
132
132
|
assert_equal([],r.find_cells_by_background_color)
|
@@ -136,7 +136,7 @@ class TestRow < Test::Unit::TestCase
|
|
136
136
|
assert_equal([:test],r.find_cells_by_background_color)
|
137
137
|
assert_equal([],r.find_cells_by_background_color('#ff0000'))
|
138
138
|
end
|
139
|
-
|
139
|
+
|
140
140
|
def test_to_s
|
141
141
|
r1 = Workbook::Row.new ["test", "asdf-asd"]
|
142
142
|
assert_equal("test,asdf-asd\n",r1.to_csv)
|
@@ -145,8 +145,8 @@ class TestRow < Test::Unit::TestCase
|
|
145
145
|
def test_clone
|
146
146
|
b = Workbook::Book.new
|
147
147
|
table = b.sheet.table
|
148
|
-
table << Workbook::Row.new(["a","b"])
|
149
|
-
row = Workbook::Row.new(["1","2"])
|
148
|
+
table << Workbook::Row.new(["a","b"])
|
149
|
+
row = Workbook::Row.new(["1","2"])
|
150
150
|
table << row
|
151
151
|
table << row
|
152
152
|
row[1] = Workbook::Cell.new(3)
|
@@ -154,20 +154,20 @@ class TestRow < Test::Unit::TestCase
|
|
154
154
|
table.last[1].value = 5
|
155
155
|
assert_equal("a,b\n1,3\n1,3\n1,5\n", table.to_csv)
|
156
156
|
end
|
157
|
-
|
157
|
+
|
158
158
|
def test_clone_has_no_table
|
159
159
|
# actually not desired, but for now enforced.
|
160
160
|
b = Workbook::Book.new
|
161
161
|
table = b.sheet.table
|
162
|
-
table << Workbook::Row.new(["a","b"])
|
163
|
-
table << Workbook::Row.new([1,2])
|
162
|
+
table << Workbook::Row.new(["a","b"])
|
163
|
+
table << Workbook::Row.new([1,2])
|
164
164
|
row = table[1].clone
|
165
165
|
assert_equal(nil,row[:a])
|
166
166
|
assert_equal(nil,row[:b])
|
167
167
|
assert_equal(1,row[0].value)
|
168
168
|
assert_equal(2,row[1].value)
|
169
169
|
end
|
170
|
-
|
170
|
+
|
171
171
|
def test_row_hash_index_assignment
|
172
172
|
b = Workbook::Book.new
|
173
173
|
table = b.sheet.table
|
@@ -178,4 +178,74 @@ class TestRow < Test::Unit::TestCase
|
|
178
178
|
row[:b]= 15
|
179
179
|
assert_equal(15, table.last.last.value)
|
180
180
|
end
|
181
|
+
|
182
|
+
def test_trim!
|
183
|
+
a = Workbook::Row.new
|
184
|
+
a[0] = 1
|
185
|
+
a[1] = 2
|
186
|
+
a[2] = nil
|
187
|
+
b = Workbook::Row.new
|
188
|
+
b[0] = 1
|
189
|
+
b[1] = 2
|
190
|
+
a.trim!
|
191
|
+
assert_equal(b, a)
|
192
|
+
a = Workbook::Row.new
|
193
|
+
a[0] = nil
|
194
|
+
a[1] = 2
|
195
|
+
a[2] = nil
|
196
|
+
b = Workbook::Row.new
|
197
|
+
b[0] = nil
|
198
|
+
b[1] = 2
|
199
|
+
a.trim!
|
200
|
+
assert_equal(b, a)
|
201
|
+
a = Workbook::Row.new
|
202
|
+
a[0] = 1
|
203
|
+
a[1] = 2
|
204
|
+
a[2] = nil
|
205
|
+
b = Workbook::Row.new
|
206
|
+
b[0] = 1
|
207
|
+
b[1] = 2
|
208
|
+
b[2] = nil
|
209
|
+
a.trim!(3)
|
210
|
+
assert_equal(b, a)
|
211
|
+
a = Workbook::Row.new
|
212
|
+
a[0] = 1
|
213
|
+
a[1] = 2
|
214
|
+
a[2] = nil
|
215
|
+
b = Workbook::Row.new
|
216
|
+
b[0] = 1
|
217
|
+
b[1] = 2
|
218
|
+
b[2] = nil
|
219
|
+
b[3] = nil
|
220
|
+
b[4] = nil
|
221
|
+
b[5] = nil
|
222
|
+
a.trim!(6)
|
223
|
+
assert_equal(b, a)
|
224
|
+
a = Workbook::Row.new
|
225
|
+
a[0] = 1
|
226
|
+
a[1] = 2
|
227
|
+
a[2] = 3
|
228
|
+
b = Workbook::Row.new
|
229
|
+
b[0] = 1
|
230
|
+
a.trim!(1)
|
231
|
+
assert_equal(b, a)
|
232
|
+
end
|
233
|
+
|
234
|
+
def test_trim
|
235
|
+
a = Workbook::Row.new
|
236
|
+
a[0] = nil
|
237
|
+
a[1] = 2
|
238
|
+
a[2] = nil
|
239
|
+
b = Workbook::Row.new
|
240
|
+
b[0] = nil
|
241
|
+
b[1] = 2
|
242
|
+
b[2] = nil
|
243
|
+
c = Workbook::Row.new
|
244
|
+
c[0] = nil
|
245
|
+
c[1] = 2
|
246
|
+
d = a.trim
|
247
|
+
assert_equal(b, a)
|
248
|
+
assert_equal(c, d)
|
249
|
+
|
250
|
+
end
|
181
251
|
end
|