roo 1.9.2 → 1.9.3
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/History.txt +7 -0
- data/Rakefile +1 -1
- data/csv1414 +2525 -0
- data/lib/roo.rb +1 -1
- data/lib/roo/generic_spreadsheet.rb +5 -3
- data/test/matrix.ods +0 -0
- data/test/matrix.xls +0 -0
- data/test/test_roo.rb +59 -23
- metadata +4 -3
data/lib/roo.rb
CHANGED
@@ -163,13 +163,15 @@ class GenericSpreadsheet
|
|
163
163
|
true
|
164
164
|
end
|
165
165
|
|
166
|
-
def to_matrix(sheet=nil)
|
166
|
+
def to_matrix(from_row=nil, from_column=nil, to_row=nil, to_column=nil,sheet=nil)
|
167
167
|
sheet = @default_sheet unless sheet
|
168
168
|
arr = []
|
169
169
|
pos = 0
|
170
|
-
|
170
|
+
|
171
|
+
(from_row||first_row(sheet)).upto(to_row||last_row(sheet)) do |row|
|
171
172
|
line = []
|
172
|
-
first_column.upto(last_column) do |col|
|
173
|
+
(from_column||first_column(sheet)).upto(to_column||last_column(sheet)) do |col|
|
174
|
+
|
173
175
|
line << cell(row,col)
|
174
176
|
end
|
175
177
|
arr[pos] = line
|
data/test/matrix.ods
CHANGED
Binary file
|
data/test/matrix.xls
CHANGED
Binary file
|
data/test/test_roo.rb
CHANGED
@@ -72,8 +72,9 @@ class Test::Unit::TestCase
|
|
72
72
|
'time-test' => 'ptu6bbahNZpYBMhk01UfXSg',
|
73
73
|
#'datetime' => "r2kQpXWr6xOSUpw9MyXavYg",
|
74
74
|
'datetime' => "ptu6bbahNZpYQEtZwzL_dZQ",
|
75
|
-
'whitespace' => "rZyQaoFebVGeHKzjG6e9gRQ"
|
76
|
-
|
75
|
+
'whitespace' => "rZyQaoFebVGeHKzjG6e9gRQ",
|
76
|
+
'matrix' => '0AkCuGANLc3jFdHY3cWtYUkM4bVdadjZ5VGpfTzFEUEE',
|
77
|
+
}[spreadsheetname]
|
77
78
|
# 'numbers1' => "o10837434939102457526.4784396906364855777",
|
78
79
|
# 'borders' => "o10837434939102457526.664868920231926255",
|
79
80
|
# 'simple_spreadsheet' => "ptu6bbahNZpYe-L1vEBmgGA",
|
@@ -138,10 +139,10 @@ class TestRoo < Test::Unit::TestCase
|
|
138
139
|
|
139
140
|
OPENOFFICE = true # do Openoffice-Spreadsheet Tests?
|
140
141
|
EXCEL = true # do Excel Tests?
|
141
|
-
GOOGLE =
|
142
|
+
GOOGLE = true # do Google-Spreadsheet Tests?
|
142
143
|
EXCELX = true # do Excel-X Tests? (.xlsx-files)
|
143
144
|
|
144
|
-
ONLINE =
|
145
|
+
ONLINE = true
|
145
146
|
LONG_RUN = true
|
146
147
|
GLOBAL_TIMEOUT = 48.minutes #*60 # 2*12*60 # seconds
|
147
148
|
|
@@ -1264,6 +1265,7 @@ class TestRoo < Test::Unit::TestCase
|
|
1264
1265
|
end
|
1265
1266
|
|
1266
1267
|
def test_write_google
|
1268
|
+
after Date.new(2010,3,10) do
|
1267
1269
|
# write.me: http://spreadsheets.google.com/ccc?key=ptu6bbahNZpY0N0RrxQbWdw&hl=en_GB
|
1268
1270
|
with_each_spreadsheet(:name=>'write.me', :format=>:google) do |oo|
|
1269
1271
|
oo.default_sheet = oo.sheets.first
|
@@ -1272,6 +1274,7 @@ class TestRoo < Test::Unit::TestCase
|
|
1272
1274
|
oo.set_value(1,1, 1.0)
|
1273
1275
|
assert_equal 1.0, oo.cell(1,1)
|
1274
1276
|
end
|
1277
|
+
end
|
1275
1278
|
end
|
1276
1279
|
|
1277
1280
|
def test_bug_set_value_with_more_than_one_sheet_google
|
@@ -1411,7 +1414,7 @@ Sheet 3:
|
|
1411
1414
|
end
|
1412
1415
|
|
1413
1416
|
def test_no_remaining_tmp_files_google
|
1414
|
-
after Date.new(
|
1417
|
+
after Date.new(2010,4,1) do
|
1415
1418
|
# Exception ist irgendwie anders, nochmal ansehen TODO:
|
1416
1419
|
if GOOGLE
|
1417
1420
|
assert_nothing_raised() {
|
@@ -1805,7 +1808,7 @@ Sheet 3:
|
|
1805
1808
|
# Need to extend to other formats
|
1806
1809
|
def test_row_whitespace
|
1807
1810
|
# auf dieses Dokument habe ich keinen Zugriff TODO:
|
1808
|
-
after Date.new(
|
1811
|
+
after Date.new(2010,4,1) do
|
1809
1812
|
with_each_spreadsheet(:name=>'whitespace') do |oo|
|
1810
1813
|
oo.default_sheet = "Sheet1"
|
1811
1814
|
assert_equal [nil, nil, nil, nil, nil, nil], oo.row(1)
|
@@ -1823,7 +1826,7 @@ Sheet 3:
|
|
1823
1826
|
end
|
1824
1827
|
|
1825
1828
|
def test_col_whitespace
|
1826
|
-
after Date.new(
|
1829
|
+
after Date.new(2010,2,20) do
|
1827
1830
|
#TODO:
|
1828
1831
|
# kein Zugriff auf Dokument whitespace
|
1829
1832
|
with_each_spreadsheet(:name=>'whitespace') do |oo|
|
@@ -1873,7 +1876,7 @@ Sheet 3:
|
|
1873
1876
|
end
|
1874
1877
|
|
1875
1878
|
def test_cell_methods
|
1876
|
-
after Date.new(2010,
|
1879
|
+
after Date.new(2010,3,30) do
|
1877
1880
|
with_each_spreadsheet(:name=>'numbers1') do |oo|
|
1878
1881
|
assert_equal 10, oo.a4 # cell(4,'A')
|
1879
1882
|
assert_equal 11, oo.b4 # cell(4,'B')
|
@@ -1918,7 +1921,7 @@ Sheet 3:
|
|
1918
1921
|
end
|
1919
1922
|
|
1920
1923
|
def test_labeled_cells
|
1921
|
-
after Date.new(2010,
|
1924
|
+
after Date.new(2010,3,25) do
|
1922
1925
|
# TODO: more spreadsheet types
|
1923
1926
|
with_each_spreadsheet(:name=>'named_cells', :format=>:openoffice) do |oo|
|
1924
1927
|
oo.default_sheet = oo.sheets.first
|
@@ -1961,12 +1964,12 @@ Sheet 3:
|
|
1961
1964
|
|
1962
1965
|
def test_bug_excel_last_row_255
|
1963
1966
|
after Date.new(2010,2,20) do
|
1964
|
-
|
1965
|
-
|
1966
|
-
|
1967
|
-
|
1968
|
-
|
1969
|
-
|
1967
|
+
oo = Excel.new(File.join('test','ScienceStaff.xls'))
|
1968
|
+
oo.default_sheet = oo.sheets.first
|
1969
|
+
assert_equal "COMSCI", oo.cell(255,1)
|
1970
|
+
assert_equal "lala", oo.cell(256,1)
|
1971
|
+
assert_equal 1537, oo.last_row
|
1972
|
+
end
|
1970
1973
|
end
|
1971
1974
|
|
1972
1975
|
def test_bug_excel_last_row_255_modified
|
@@ -1974,13 +1977,46 @@ Sheet 3:
|
|
1974
1977
|
oo.default_sheet = oo.sheets.first
|
1975
1978
|
assert_equal 1537, oo.last_row
|
1976
1979
|
end
|
1977
|
-
|
1978
|
-
|
1979
|
-
|
1980
|
-
|
1981
|
-
|
1982
|
-
|
1983
|
-
|
1980
|
+
|
1981
|
+
require 'matrix'
|
1982
|
+
def test_matrix
|
1983
|
+
with_each_spreadsheet(:name => 'matrix', :format => [:openoffice, :excel, :google]) do |oo|
|
1984
|
+
oo.default_sheet = oo.sheets.first
|
1985
|
+
assert_equal Matrix[
|
1986
|
+
[1.0, 2.0, 3.0],
|
1987
|
+
[4.0, 5.0, 6.0],
|
1988
|
+
[7.0, 8.0, 9.0] ], oo.to_matrix
|
1989
|
+
end
|
1990
|
+
end
|
1991
|
+
|
1992
|
+
def test_matrix_selected_range
|
1993
|
+
with_each_spreadsheet(:name => 'matrix', :format=>[:excel,:openoffice,:google]) do |oo|
|
1994
|
+
oo.default_sheet = 'Sheet2'
|
1995
|
+
assert_equal Matrix[
|
1996
|
+
[1.0, 2.0, 3.0],
|
1997
|
+
[4.0, 5.0, 6.0],
|
1998
|
+
[7.0, 8.0, 9.0] ], oo.to_matrix(3,4,5,6)
|
1999
|
+
end
|
2000
|
+
end
|
2001
|
+
|
2002
|
+
def test_matrix_all_nil
|
2003
|
+
with_each_spreadsheet(:name => 'matrix', :format=>[:excel,:openoffice,:google]) do |oo|
|
2004
|
+
oo.default_sheet = 'Sheet2'
|
2005
|
+
assert_equal Matrix[
|
2006
|
+
[nil, nil, nil],
|
2007
|
+
[nil, nil, nil],
|
2008
|
+
[nil, nil, nil] ], oo.to_matrix(10,10,12,12)
|
2009
|
+
end
|
2010
|
+
end
|
2011
|
+
|
2012
|
+
def test_matrix_values_and_nil
|
2013
|
+
with_each_spreadsheet(:name => 'matrix', :format=>[:excel,:openoffice,:google]) do |oo|
|
2014
|
+
oo.default_sheet = 'Sheet3'
|
2015
|
+
assert_equal Matrix[
|
2016
|
+
[1.0, nil, 3.0],
|
2017
|
+
[4.0, 5.0, 6.0],
|
2018
|
+
[7.0, 8.0, nil] ], oo.to_matrix(1,1,3,3)
|
1984
2019
|
end
|
1985
2020
|
end
|
1986
|
-
|
2021
|
+
|
2022
|
+
end # class
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.9.
|
4
|
+
version: 1.9.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Preymesser
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-
|
12
|
+
date: 2010-02-12 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 3.2.
|
23
|
+
version: 3.2.1
|
24
24
|
version:
|
25
25
|
description: |-
|
26
26
|
Roo can access the contents of various spreadsheet files. It can handle
|
@@ -46,6 +46,7 @@ files:
|
|
46
46
|
- Rakefile
|
47
47
|
- bin/roo
|
48
48
|
- csv11159
|
49
|
+
- csv1414
|
49
50
|
- csv9419
|
50
51
|
- csv9957
|
51
52
|
- lib/roo.rb
|