roo 0.2.3 → 0.2.4

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.
@@ -1,3 +1,7 @@
1
+ == 0.2.4 2007-06-16
2
+ * 1 bugfix:
3
+ * ID 11605 Two cols with same value: crash roo (openoffice version only)
4
+
1
5
  == 0.2.3 2007-06-02
2
6
  * 3 enhancements:
3
7
  * more robust call att Excel#default_sheet= when called with a name
@@ -7,6 +7,7 @@ lib/roo.rb
7
7
  lib/roo/version.rb
8
8
  lib/roo/openoffice.rb
9
9
  lib/roo/excel.rb
10
+ lib/roo/google.rb
10
11
  scripts/txt2html
11
12
  setup.rb
12
13
  test/test_helper.rb
data/README.txt CHANGED
@@ -1,3 +1,5 @@
1
1
  README for roo
2
2
  ==============
3
3
 
4
+ see http://roo.rubyforge.org for examples
5
+
data/Rakefile CHANGED
@@ -77,6 +77,8 @@ hoe = Hoe.new(GEM_NAME, VERS) do |p|
77
77
  # ['ruport-util', '>= 0.5.0'],
78
78
  ['parseexcel', '>= 0.5.1.1'],
79
79
  ['rubyzip', '>= 0.9.1'],
80
+ ['hpricot', '>= 0.5'],
81
+ ['hoe', '>= 0.0.0'],
80
82
  ]
81
83
  #p.spec_extras = {} # A hash of extra values to set in the gemspec.
82
84
  end
data/lib/roo.rb CHANGED
@@ -4,3 +4,4 @@ end
4
4
  require 'roo/version'
5
5
  require 'roo/openoffice'
6
6
  require 'roo/excel'
7
+ require 'roo/google'
@@ -50,7 +50,7 @@ class Excel < Openoffice
50
50
  case cell.type
51
51
  when :numeric then return cell.to_i
52
52
  when :text then return cell.to_s('latin1')
53
- when :date then return cell.date.to_s
53
+ when :date then return cell.date
54
54
  else
55
55
  return cell.to_s
56
56
  end
@@ -0,0 +1,182 @@
1
+
2
+ require 'net/http'
3
+ require 'net/https'
4
+ require 'uri'
5
+ require 'rubygems'
6
+ require 'hpricot'
7
+ require 'timeout'
8
+
9
+
10
+ # Make it easy to use some of the convenience methods using https
11
+ #
12
+ module Net class HTTPS < HTTP
13
+ def initialize(address, port = nil)
14
+ super(address, port)
15
+ self.use_ssl = true
16
+ end
17
+ end
18
+ end
19
+
20
+ class GoogleSpreadSheet
21
+ GOOGLE_LOGIN_URL = URI.parse('https://www.google.com/accounts/ClientLogin')
22
+
23
+ def initialize(spreadsheet_key)
24
+ @spreadsheet_key = spreadsheet_key
25
+ @headers = nil
26
+ @default_sheet = nil
27
+ end
28
+
29
+ def default_sheet=(numberofsheet)
30
+ @default_sheet = numberofsheet
31
+ end
32
+
33
+ def authenticate(email, password)
34
+ $VERBOSE = nil
35
+ response = Net::HTTPS.post_form(GOOGLE_LOGIN_URL,
36
+ {'Email' => email,
37
+ 'Passwd' => password,
38
+ 'source' => "formula",
39
+ 'service' => 'wise' })
40
+ @headers = { 'Authorization' => "GoogleLogin auth=#{response.body.split(/=/).last}",
41
+ 'Content-Type' => 'application/atom+xml'
42
+ }
43
+ end
44
+
45
+ def evaluate_cell(cell)
46
+ path = "/feeds/cells/#{@spreadsheet_key}/#{@default_sheet}/#{@headers ? "private" : "public"}/basic/#{cell}"
47
+
48
+ doc = Hpricot(request(path))
49
+ result = (doc/"content[@type='text']").inner_html
50
+ end
51
+
52
+ def set_entry(entry)
53
+ path = "/feeds/cells/#{@spreadsheet_key}/#{@default_sheet}/#{@headers ? 'private' : 'public'}/full"
54
+
55
+ post(path, entry)
56
+ end
57
+
58
+ def entry(formula, row=1, col=1)
59
+ <<XML
60
+ <?xml version='1.0' ?>
61
+ <entry xmlns='http://www.w3.org/2005/Atom' xmlns:gs='http://schemas.google.com/spreadsheets/2006'>
62
+ <gs:cell row='#{row}' col='#{col}' inputValue='=#{formula}' />
63
+ </entry>
64
+ XML
65
+ end
66
+
67
+ def add_to_cell(formula) #puts entry(formula)
68
+ set_entry(entry(formula))
69
+ end
70
+
71
+ private
72
+ def request(path)
73
+ response, data = get_http.get(path, @headers)
74
+ data
75
+ end
76
+
77
+ def post(path, entry)
78
+ get_http.post(path, entry, @headers)
79
+ end
80
+
81
+ def get_http
82
+ http = Net::HTTP.new('spreadsheets.google.com', 80)
83
+ #http.set_debug_output $stderr
84
+ http
85
+ end
86
+ end
87
+
88
+ class Google < Openoffice
89
+
90
+ TIMEOUT_IN_SECONDS = 2
91
+
92
+ def initialize(user, password, spreadsheetkey)
93
+ @cells_read = false
94
+ @cell = Hash.new
95
+ @cell_type = Hash.new
96
+ Timeout.timeout(TIMEOUT_IN_SECONDS) {
97
+ @gs = GoogleSpreadSheet.new(spreadsheetkey)
98
+ @gs.authenticate(user, password)
99
+ @default_sheet = nil
100
+ }
101
+ end
102
+
103
+ def sheets
104
+ # http://spreadsheets.google.com/feeds/worksheets/ptu6bbahNZpYrdGHwteUNCw/private/full
105
+ if DateTime.now < Date.new(2007,6,15)
106
+ return ["Sheet eins","Sheet zwei","Sheet drei"]
107
+ else
108
+ return []
109
+ end
110
+ end
111
+
112
+ def default_sheet=(numberofsheet)
113
+ @gs.default_sheet = numberofsheet
114
+ end
115
+
116
+ def cell(row, col)
117
+ row,col = normalize(row,col)
118
+ # formula = 42 || 'sin(0.2)'
119
+
120
+ # gs = GoogleSpreadSheet.new("ptu6bbahNZpYrdGHwteUNCw")
121
+ # gs.authenticate('thopre@gmail.com', 'nora3033')
122
+ # gs.add_to_cell formula
123
+ cellname = number_to_letter(col)+row.to_s
124
+ Timeout.timeout(TIMEOUT_IN_SECONDS) {
125
+ return @gs.evaluate_cell(cellname) # 'A1')
126
+ }
127
+ end
128
+
129
+ def celltype(row, col)
130
+ "string"
131
+ end
132
+
133
+ def empty?(row, col)
134
+ cell(row, col).empty?
135
+ end
136
+
137
+ def read_cells
138
+ # http://spreadsheets.google.com/feeds/list/ptu6bbahNZpYrdGHwteUNCw/1/private/full
139
+ file = File.new("/home/tp/aaa.xml")
140
+ @doc = REXML::Document.new file
141
+ file.close
142
+ @doc.each_element do |element|
143
+ if element.name == "feed"
144
+ p "feed gefunden"
145
+ element.each_element do |feed|
146
+ p feed
147
+ feed.each_element do |fe|
148
+ p fe.name
149
+ end
150
+ end
151
+ end
152
+
153
+ end
154
+ # @cell["1,2"] = 42
155
+ # @cell_type["1,2"] = "string"
156
+ # @cells_read = true
157
+ # return
158
+
159
+ #TODO: die Grenzen sind noch fix
160
+ 1.upto(10) do |y|
161
+ Openoffice.letter_to_number('A').upto(Openoffice.letter_to_number('H')) do |x|
162
+ # p x.to_s+", "+y.to_s
163
+ # unless empty?(y,x)
164
+ # @cell["#{y},#{x}"] = cell(y,x)
165
+ # @cell_type["#{y},#{x}"] = cell(y,x)
166
+ # end
167
+ end
168
+ end
169
+ @cells_read = true
170
+ end
171
+
172
+ def first_row
173
+ read_cells unless @cells_read
174
+ 1
175
+ end
176
+
177
+ def last_row
178
+ read_cells unless @cells_read
179
+ 100
180
+ end
181
+
182
+ end # class
@@ -13,6 +13,8 @@ end
13
13
 
14
14
  class Openoffice
15
15
 
16
+ @@nr = 0
17
+
16
18
  def initialize(filename)
17
19
  @cells_read = false
18
20
  @filename = filename
@@ -20,15 +22,32 @@ class Openoffice
20
22
  unless File.exists?(@tmpdir)
21
23
  FileUtils::mkdir(@tmpdir)
22
24
  end
25
+ @@nr += 1
26
+ @file_nr = @@nr
23
27
  extract_content
24
- file = File.new(File.join(@tmpdir, "roo_content.xml"))
28
+ file = File.new(File.join(@tmpdir, @file_nr.to_s+"_roo_content.xml"))
25
29
  @doc = REXML::Document.new file
26
30
  file.close
27
31
  @cell = Hash.new
28
32
  @cell_type = Hash.new
29
- if DateTime.now > Date.new(2007,5,31)
30
- FileUtils::rm_r(@tmpdir)
33
+ FileUtils::rm_r(@tmpdir)
34
+ @default_sheet = nil
35
+ end
36
+
37
+ # reopens and read a spreadsheet document
38
+ def reload
39
+ @cells_read = false
40
+ @tmpdir = "oo_"+$$.to_s
41
+ unless File.exists?(@tmpdir)
42
+ FileUtils::mkdir(@tmpdir)
31
43
  end
44
+ extract_content
45
+ file = File.new(File.join(@tmpdir, @file_nr.to_s+"_roo_content.xml"))
46
+ @doc = REXML::Document.new file
47
+ file.close
48
+ @cell = Hash.new
49
+ @cell_type = Hash.new
50
+ FileUtils::rm_r(@tmpdir)
32
51
  @default_sheet = nil
33
52
  end
34
53
 
@@ -39,9 +58,18 @@ class Openoffice
39
58
  def cell(row,col)
40
59
  read_cells unless @cells_read
41
60
  row,col = normalize(row,col)
61
+ if celltype(row,col) == "date"
62
+ yyyy,mm,dd = @cell["#{row},#{col}"].split('-')
63
+ return Date.new(yyyy.to_i,mm.to_i,dd.to_i)
64
+ end
42
65
  @cell["#{row},#{col}"]
43
66
  end
44
67
 
68
+ def set(row,col,value)
69
+ puts "setze zelle(#{row},#{col})"
70
+ @cell["#{row},#{col}"] = value
71
+ end
72
+
45
73
  # returns the open-office type of a cell
46
74
  def celltype(row,col)
47
75
  read_cells unless @cells_read
@@ -194,6 +222,21 @@ class Openoffice
194
222
  false
195
223
  end
196
224
 
225
+ def Openoffice.letter_to_number(letters)
226
+ result = 0
227
+ while letters && letters.length > 0
228
+ character = letters[0,1].upcase
229
+ num = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".index(character)+1
230
+ result = result * 26 + num
231
+ letters = letters[1..-1]
232
+ end
233
+ result
234
+ end
235
+
236
+ def save
237
+ 42
238
+ end
239
+
197
240
  private
198
241
 
199
242
  # read all cells in the selected sheet
@@ -236,11 +279,31 @@ private
236
279
  # p tr
237
280
  if tr.name == 'table-cell'
238
281
  skip = tr.attributes['number-columns-repeated']
239
- if skip
240
- x += (skip.to_i - 1)
241
- end
242
282
  vt = tr.attributes['value-type']
243
283
  v = tr.attributes['value']
284
+ if skip
285
+ if v == nil
286
+ x += (skip.to_i - 1)
287
+ else
288
+ 0.upto(skip.to_i-1) do |i|
289
+ @cell_type["#{y},#{x+i}"] = vt
290
+ if @cell_type["#{y},#{x+i}"] == 'float'
291
+ @cell["#{y},#{x+i}"] = v.to_f
292
+ elsif @cell_type["#{y},#{x+i}"] == 'string'
293
+ tr.each_element do |str|
294
+ if str.name == 'p'
295
+ @cell["#{y},#{x+i}"] = str.text
296
+ end
297
+ end
298
+ elsif @cell_type["#{y},#{x+i}"] == 'date'
299
+ @cell["#{y},#{x+i}"] = tr.attributes['date-value']
300
+ else
301
+ @cell["#{y},#{x+i}"] = v
302
+ end
303
+ end
304
+ x += 1
305
+ end
306
+ end # if skip
244
307
  # puts "#{vt} #{v}"
245
308
  @cell_type["#{y},#{x}"] = vt
246
309
  if @cell_type["#{y},#{x}"] == 'float'
@@ -277,7 +340,7 @@ private
277
340
  def process_zipfile(zip, path='')
278
341
  if zip.file.file? path
279
342
  if path == "content.xml"
280
- open(@tmpdir+'/'+'roo_content.xml','w') {|f|
343
+ open(@tmpdir+'/'+@file_nr.to_s+'_roo_content.xml','w') {|f|
281
344
  f << zip.read(path)
282
345
  }
283
346
  end
@@ -298,17 +361,6 @@ private
298
361
  end
299
362
  end
300
363
 
301
- def Openoffice.letter_to_number(letters)
302
- result = 0
303
- while letters && letters.length > 0
304
- character = letters[0,1].upcase
305
- num = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".index(character)+1
306
- result = result * 26 + num
307
- letters = letters[1..-1]
308
- end
309
- result
310
- end
311
-
312
364
  # converts cell coordinate to numeric values of row,col
313
365
  def normalize(row,col)
314
366
  if row.class == String
@@ -2,7 +2,7 @@ module Roo #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 2
5
- TINY = 3
5
+ TINY = 4
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
Binary file
@@ -1,23 +1,51 @@
1
1
  require File.dirname(__FILE__) + '/test_helper.rb'
2
2
 
3
3
  class TestRoo < Test::Unit::TestCase
4
-
4
+
5
+ OPENOFFICE = true # toggle Openoffice-Spreadsheet Test on/off
6
+ EXCEL = true # do Excel Tests?
7
+ GOOGLE = false # toggle Google-Spreadsheet Test on/off
8
+
9
+ OPENOFFICEWRITE = false # Tests fuer schreibenden Zugriff auf OO-Dokumente
10
+
11
+ def setup
12
+ if GOOGLE
13
+ @goo = Google.new(ENV['GOOGLE_MAIL'],
14
+ ENV['GOOGLE_PASSWORD'],
15
+ ENV['GOOGLE_KEY'])
16
+ end
17
+ end
18
+
5
19
  def test_letters
6
20
  assert_equal 1, Openoffice.letter_to_number('A')
7
21
  assert_equal 1, Openoffice.letter_to_number('a')
8
22
  assert_equal 2, Openoffice.letter_to_number('B')
9
23
  assert_equal 26, Openoffice.letter_to_number('Z')
10
24
  assert_equal 27, Openoffice.letter_to_number('AA')
25
+ assert_equal 27, Openoffice.letter_to_number('aA')
26
+ assert_equal 27, Openoffice.letter_to_number('Aa')
27
+ assert_equal 27, Openoffice.letter_to_number('aa')
11
28
  end
12
-
29
+
13
30
  def test_sheets
14
31
  oo = Openoffice.new(File.join("test","numbers1.ods"))
15
- assert_equal ["Tabelle1","Name of Sheet 2","Sheet3"], oo.sheets
32
+ assert_equal ["Tabelle1","Name of Sheet 2","Sheet3","Sheet4"], oo.sheets
16
33
  #--
17
- oo = Excel.new(File.join("test","numbers1.xls"))
18
- assert_equal ["Tabelle1","Name of Sheet 2","Sheet3"], oo.sheets
34
+ if EXCEL
35
+ if DateTime.now > Date.new(2007,6,30)
36
+ oo = Excel.new(File.join("test","numbers1.xls"))
37
+ assert_equal ["Tabelle1","Name of Sheet 2","Sheet3"], oo.sheets
38
+ end
39
+ end
40
+ #-- Google
41
+ if GOOGLE
42
+ if DateTime.now > Date.new(2007,6,10)
43
+ assert_equal "Testspreadsheet Roo", @goo.title
44
+ end
45
+ assert_equal ["Sheet eins","Sheet zwei","Sheet drei"], @goo.sheets
46
+ end
19
47
  end
20
-
48
+
21
49
  def test_cell
22
50
  oo = Openoffice.new(File.join("test","numbers1.ods"))
23
51
  oo.default_sheet = oo.sheets.first
@@ -34,274 +62,477 @@ class TestRoo < Test::Unit::TestCase
34
62
  assert_equal "string", oo.celltype(2,6)
35
63
  assert_equal 11, oo.cell(2,7)
36
64
  assert_equal "float", oo.celltype(2,7)
37
-
65
+
38
66
  assert_equal 10, oo.cell(4,1)
39
67
  assert_equal 11, oo.cell(4,2)
40
68
  assert_equal 12, oo.cell(4,3)
41
69
  assert_equal 13, oo.cell(4,4)
42
70
  assert_equal 14, oo.cell(4,5)
43
-
71
+
44
72
  assert_equal 10, oo.cell(4,'A')
45
73
  assert_equal 11, oo.cell(4,'B')
46
74
  assert_equal 12, oo.cell(4,'C')
47
75
  assert_equal 13, oo.cell(4,'D')
48
76
  assert_equal 14, oo.cell(4,'E')
49
-
77
+
50
78
  assert_equal "date", oo.celltype(5,1)
51
- assert_equal "1961-11-21", oo.cell(5,1)
52
-
53
- oo = Excel.new(File.join("test","numbers1.xls"))
54
- oo.default_sheet = 1 # oo.sheets.first
55
- assert_equal 1, oo.cell(1,1)
56
- assert_equal 2, oo.cell(1,2)
57
- assert_equal 3, oo.cell(1,3)
58
- assert_equal 4, oo.cell(1,4)
59
- assert_equal 5, oo.cell(2,1)
60
- assert_equal 6, oo.cell(2,2)
61
- assert_equal 7, oo.cell(2,3)
62
- assert_equal 8, oo.cell(2,4)
63
- assert_equal 9, oo.cell(2,5)
64
- assert_equal "test", oo.cell(2,6)
65
- assert_equal "string", oo.celltype(2,6)
66
- assert_equal 11, oo.cell(2,7)
67
- assert_equal "float", oo.celltype(2,7)
68
-
69
- assert_equal 10, oo.cell(4,1)
70
- assert_equal 11, oo.cell(4,2)
71
- assert_equal 12, oo.cell(4,3)
72
- assert_equal 13, oo.cell(4,4)
73
- assert_equal 14, oo.cell(4,5)
74
-
75
- assert_equal 10, oo.cell(4,'A')
76
- assert_equal 11, oo.cell(4,'B')
77
- assert_equal 12, oo.cell(4,'C')
78
- assert_equal 13, oo.cell(4,'D')
79
- assert_equal 14, oo.cell(4,'E')
80
-
81
- assert_equal "date", oo.celltype(5,1)
82
- assert_equal "1961-11-21", oo.cell(5,1)
83
- end
84
-
85
- def test_cell_address
86
- oo = Openoffice.new(File.join("test/numbers1.ods"))
87
- oo.default_sheet = oo.sheets.first
88
- assert_equal "tata", oo.cell(6,1)
89
- assert_equal "tata", oo.cell(6,'A')
90
- assert_equal "tata", oo.cell('A',6)
91
- assert_equal "tata", oo.cell(6,'a')
92
- assert_equal "tata", oo.cell('a',6)
93
-
94
- assert_equal "thisisc8", oo.cell(8,3)
95
- assert_equal "thisisc8", oo.cell(8,'C')
96
- assert_equal "thisisc8", oo.cell('C',8)
97
- assert_equal "thisisc8", oo.cell(8,'c')
98
- assert_equal "thisisc8", oo.cell('c',8)
99
-
100
- assert_equal "thisisd9", oo.cell('d',9)
101
- assert_equal "thisisa11", oo.cell('a',11)
102
-
103
- oo = Excel.new(File.join("test","numbers1.xls"))
104
- oo.default_sheet = 1 # oo.sheets.first
105
- assert_equal "tata", oo.cell(6,1)
106
- assert_equal "tata", oo.cell(6,'A')
107
- assert_equal "tata", oo.cell('A',6)
108
- assert_equal "tata", oo.cell(6,'a')
109
- assert_equal "tata", oo.cell('a',6)
110
-
111
- assert_equal "thisisc8", oo.cell(8,3)
112
- assert_equal "thisisc8", oo.cell(8,'C')
113
- assert_equal "thisisc8", oo.cell('C',8)
114
- assert_equal "thisisc8", oo.cell(8,'c')
115
- assert_equal "thisisc8", oo.cell('c',8)
116
-
117
- assert_equal "thisisd9", oo.cell('d',9)
118
- assert_equal "thisisa11", oo.cell('a',11)
119
- end
120
-
121
- # Version of the (XML) office document
122
- # please note that "1.0" is returned even if it was created with OpenOffice V. 2.0
123
- def test_officeversion
124
- #-- OpenOffice
125
- oo = Openoffice.new(File.join("test","numbers1.ods"))
126
- assert_equal "1.0", oo.officeversion
127
- #-- Excel
128
- if DateTime.now > Date.new(2007,6,15)
79
+ assert_equal Date.new(1961,11,21), oo.cell(5,1)
80
+ assert_equal "1961-11-21", oo.cell(5,1).to_s
81
+
82
+ if EXCEL
129
83
  oo = Excel.new(File.join("test","numbers1.xls"))
84
+ oo.default_sheet = 1 # oo.sheets.first
85
+ assert_equal 1, oo.cell(1,1)
86
+ assert_equal 2, oo.cell(1,2)
87
+ assert_equal 3, oo.cell(1,3)
88
+ assert_equal 4, oo.cell(1,4)
89
+ assert_equal 5, oo.cell(2,1)
90
+ assert_equal 6, oo.cell(2,2)
91
+ assert_equal 7, oo.cell(2,3)
92
+ assert_equal 8, oo.cell(2,4)
93
+ assert_equal 9, oo.cell(2,5)
94
+ assert_equal "test", oo.cell(2,6)
95
+ assert_equal "string", oo.celltype(2,6)
96
+ assert_equal 11, oo.cell(2,7)
97
+ assert_equal "float", oo.celltype(2,7)
98
+
99
+ assert_equal 10, oo.cell(4,1)
100
+ assert_equal 11, oo.cell(4,2)
101
+ assert_equal 12, oo.cell(4,3)
102
+ assert_equal 13, oo.cell(4,4)
103
+ assert_equal 14, oo.cell(4,5)
104
+
105
+ assert_equal 10, oo.cell(4,'A')
106
+ assert_equal 11, oo.cell(4,'B')
107
+ assert_equal 12, oo.cell(4,'C')
108
+ assert_equal 13, oo.cell(4,'D')
109
+ assert_equal 14, oo.cell(4,'E')
110
+
111
+ assert_equal "date", oo.celltype(5,1)
112
+ assert_equal Date.new(1961,11,21), oo.cell(5,1)
113
+ assert_equal "1961-11-21", oo.cell(5,1).to_s
114
+ end
115
+
116
+ if GOOGLE
117
+ @goo.default_sheet = 1 # @goo.sheets.first
118
+ assert_equal 1, @goo.cell(1,1).to_i
119
+ assert_equal 2, @goo.cell(1,2).to_i
120
+ assert_equal 3, @goo.cell(1,3).to_i
121
+ assert_equal 4, @goo.cell(1,4).to_i
122
+ assert_equal 5, @goo.cell(2,1).to_i
123
+ assert_equal 6, @goo.cell(2,2).to_i
124
+ assert_equal 7, @goo.cell(2,3).to_i
125
+ assert_equal 8, @goo.cell(2,4).to_i
126
+ assert_equal 9, @goo.cell(2,5).to_i
127
+ assert_equal "test", @goo.cell(2,6)
128
+ assert_equal "string", @goo.celltype(2,6)
129
+ assert_equal 11, @goo.cell(2,7).to_i
130
+ if DateTime.now > Date.new(2007,6,15)
131
+ assert_equal "float", @goo.celltype(2,7)
132
+ end
133
+
134
+ assert_equal 10, @goo.cell(4,1).to_i
135
+ assert_equal 11, @goo.cell(4,2).to_i
136
+ assert_equal 12, @goo.cell(4,3).to_i
137
+ assert_equal 13, @goo.cell(4,4).to_i
138
+ assert_equal 14, @goo.cell(4,5).to_i
139
+
140
+ assert_equal 10, @goo.cell(4,'A').to_i
141
+ assert_equal 11, @goo.cell(4,'B').to_i
142
+ assert_equal 12, @goo.cell(4,'C').to_i
143
+ assert_equal 13, @goo.cell(4,'D').to_i
144
+ assert_equal 14, @goo.cell(4,'E').to_i
145
+
146
+ if DateTime.now > Date.new(2007,6,15)
147
+ assert_equal "date", @goo.celltype(5,1)
148
+ end
149
+ if DateTime.now > Date.new(2007,6,15)
150
+ assert_equal Date.new(1961,11,21), @goo.cell(5,1)
151
+ assert_equal "1961-11-21", @goo.cell(5,1).to_s
152
+ else
153
+ assert_equal "21/11/1961", @goo.cell(5,1)
154
+ end
155
+ end # GOOGLE
156
+ end
157
+
158
+ def test_cell_address
159
+ oo = Openoffice.new(File.join("test/numbers1.ods"))
160
+ oo.default_sheet = oo.sheets.first
161
+ assert_equal "tata", oo.cell(6,1)
162
+ assert_equal "tata", oo.cell(6,'A')
163
+ assert_equal "tata", oo.cell('A',6)
164
+ assert_equal "tata", oo.cell(6,'a')
165
+ assert_equal "tata", oo.cell('a',6)
166
+
167
+ assert_equal "thisisc8", oo.cell(8,3)
168
+ assert_equal "thisisc8", oo.cell(8,'C')
169
+ assert_equal "thisisc8", oo.cell('C',8)
170
+ assert_equal "thisisc8", oo.cell(8,'c')
171
+ assert_equal "thisisc8", oo.cell('c',8)
172
+
173
+ assert_equal "thisisd9", oo.cell('d',9)
174
+ assert_equal "thisisa11", oo.cell('a',11)
175
+
176
+ if EXCEL
177
+ oo = Excel.new(File.join("test","numbers1.xls"))
178
+ oo.default_sheet = 1 # oo.sheets.first
179
+ assert_equal "tata", oo.cell(6,1)
180
+ assert_equal "tata", oo.cell(6,'A')
181
+ assert_equal "tata", oo.cell('A',6)
182
+ assert_equal "tata", oo.cell(6,'a')
183
+ assert_equal "tata", oo.cell('a',6)
184
+
185
+ assert_equal "thisisc8", oo.cell(8,3)
186
+ assert_equal "thisisc8", oo.cell(8,'C')
187
+ assert_equal "thisisc8", oo.cell('C',8)
188
+ assert_equal "thisisc8", oo.cell(8,'c')
189
+ assert_equal "thisisc8", oo.cell('c',8)
190
+
191
+ assert_equal "thisisd9", oo.cell('d',9)
192
+ assert_equal "thisisa11", oo.cell('a',11)
193
+ end
194
+
195
+ if GOOGLE
196
+ @goo.default_sheet = 1 # @goo.sheets.first
197
+ assert_equal "tata", @goo.cell(6,1)
198
+ assert_equal "tata", @goo.cell(6,'A')
199
+ assert_equal "tata", @goo.cell('A',6)
200
+ assert_equal "tata", @goo.cell(6,'a')
201
+ assert_equal "tata", @goo.cell('a',6)
202
+
203
+ assert_equal "thisisc8", @goo.cell(8,3)
204
+ assert_equal "thisisc8", @goo.cell(8,'C')
205
+ assert_equal "thisisc8", @goo.cell('C',8)
206
+ assert_equal "thisisc8", @goo.cell(8,'c')
207
+ assert_equal "thisisc8", @goo.cell('c',8)
208
+
209
+ assert_equal "thisisd9", @goo.cell('d',9)
210
+ assert_equal "thisisa11", @goo.cell('a',11)
211
+ end
212
+ end
213
+
214
+ # Version of the (XML) office document
215
+ # please note that "1.0" is returned even if it was created with OpenOffice V. 2.0
216
+ def test_officeversion
217
+ #-- OpenOffice
218
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
130
219
  assert_equal "1.0", oo.officeversion
220
+ if EXCEL
221
+ # excel does not have a officeversion
222
+ # is there a similar version number which ist considerable
223
+ #-- Excel
224
+ #if DateTime.now > Date.new(2007,6,15)
225
+ # oo = Excel.new(File.join("test","numbers1.xls"))
226
+ # assert_equal "1.0", oo.officeversion
227
+ #end
228
+ end
229
+ #-- Google
230
+ if GOOGLE
231
+ if DateTime.now > Date.new(2007,6,15)
232
+ assert_equal "1.0", @goo.officeversion
233
+ end
234
+ end
131
235
  end
132
- end
133
-
134
- def test_rows
135
- #-- OpenOffice
136
- oo = Openoffice.new(File.join("test","numbers1.ods"))
137
- oo.default_sheet = oo.sheets.first
138
- assert_equal 41, oo.cell('a',12)
139
- assert_equal 42, oo.cell('b',12)
140
- assert_equal 43, oo.cell('c',12)
141
- assert_equal 44, oo.cell('d',12)
142
- assert_equal 45, oo.cell('e',12)
143
- assert_equal [41.0,42.0,43.0,44.0,45.0], oo.row(12)
144
- if DateTime.now > Date.new(2007,6,17)
145
- #-- Excel
146
- oo = Excel.new(File.join("test","numbers1.xls"))
147
- oo.default_sheet = 1 # oo.sheets.first
148
- assert_equal 41, oo.cell('a',12)
149
- assert_equal 42, oo.cell('b',12)
150
- assert_equal 43, oo.cell('c',12)
151
- assert_equal 44, oo.cell('d',12)
152
- assert_equal 45, oo.cell('e',12)
153
- assert_equal [41.0,42.0,43.0,44.0,45.0], oo.row(12)
236
+
237
+ def test_rows
238
+ #-- OpenOffice
239
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
240
+ oo.default_sheet = oo.sheets.first
241
+ assert_equal 41, oo.cell('a',12)
242
+ assert_equal 42, oo.cell('b',12)
243
+ assert_equal 43, oo.cell('c',12)
244
+ assert_equal 44, oo.cell('d',12)
245
+ assert_equal 45, oo.cell('e',12)
246
+ assert_equal [41.0,42.0,43.0,44.0,45.0], oo.row(12)
247
+ if EXCEL
248
+ if DateTime.now > Date.new(2007,6,17)
249
+ #-- Excel
250
+ oo = Excel.new(File.join("test","numbers1.xls"))
251
+ oo.default_sheet = 1 # oo.sheets.first
252
+ assert_equal 41, oo.cell('a',12)
253
+ assert_equal 42, oo.cell('b',12)
254
+ assert_equal 43, oo.cell('c',12)
255
+ assert_equal 44, oo.cell('d',12)
256
+ assert_equal 45, oo.cell('e',12)
257
+ assert_equal [41.0,42.0,43.0,44.0,45.0], oo.row(12)
258
+ end
259
+ end
260
+ if DateTime.now > Date.new(2007,6,17)
261
+ #-- GOOGLE
262
+ if GOOGLE
263
+ oo = Google.new(File.join("test","numbers1.xls"))
264
+ oo.default_sheet = 1 # oo.sheets.first
265
+ assert_equal 41, oo.cell('a',12)
266
+ assert_equal 42, oo.cell('b',12)
267
+ assert_equal 43, oo.cell('c',12)
268
+ assert_equal 44, oo.cell('d',12)
269
+ assert_equal 45, oo.cell('e',12)
270
+ assert_equal [41.0,42.0,43.0,44.0,45.0], oo.row(12)
271
+ end
272
+ end
154
273
  end
155
- end
156
-
157
- def test_last_row
158
- #-- OpenOffice
159
- oo = Openoffice.new(File.join("test","numbers1.ods"))
160
- oo.default_sheet = oo.sheets.first
161
- assert_equal 18, oo.last_row
162
- #-- Excel
163
- oo = Excel.new(File.join("test","numbers1.xls"))
164
- oo.default_sheet = 1 # oo.sheets.first
165
- assert_equal 18, oo.last_row
166
- end
167
-
168
- def test_last_column
169
- #-- OpenOffice
170
- oo = Openoffice.new(File.join("test","numbers1.ods"))
171
- oo.default_sheet = oo.sheets.first
172
- assert_equal 7, oo.last_column
173
- #-- Excel
174
- oo = Excel.new(File.join("test","numbers1.xls"))
175
- oo.default_sheet = 1 # oo.sheets.first
176
- assert_equal 7, oo.last_column
177
- end
178
-
179
- def test_last_column_as_letter
180
- #-- OpenOffice
181
- oo = Openoffice.new(File.join("test","numbers1.ods"))
182
- oo.default_sheet = oo.sheets.first
183
- assert_equal 'G', oo.last_column_as_letter
184
- #-- Excel
185
- oo = Excel.new(File.join("test","numbers1.xls"))
186
- oo.default_sheet = 1 # oo.sheets.first
187
- assert_equal 'G', oo.last_column_as_letter
188
- end
189
-
190
- def test_first_row
191
- #-- OpenOffice
192
- oo = Openoffice.new(File.join("test","numbers1.ods"))
193
- oo.default_sheet = oo.sheets.first
194
- assert_equal 1, oo.first_row
195
- #-- Excel
196
- oo = Excel.new(File.join("test","numbers1.xls"))
197
- oo.default_sheet = 1 # oo.sheets.first
198
- assert_equal 1, oo.first_row
199
- end
200
-
201
- def test_first_column
202
- #-- OpenOffice
203
- oo = Openoffice.new(File.join("test","numbers1.ods"))
204
- oo.default_sheet = oo.sheets.first
205
- assert_equal 1, oo.first_column
206
- #-- Excel
207
- oo = Excel.new(File.join("test","numbers1.xls"))
208
- oo.default_sheet = 1 # oo.sheets.first
209
- assert_equal 1, oo.first_column
210
- end
211
-
212
- def test_first_column_as_letter
213
- #-- OpenOffice
214
- oo = Openoffice.new(File.join("test","numbers1.ods"))
215
- oo.default_sheet = oo.sheets.first
216
- assert_equal 'A', oo.first_column_as_letter
217
- #-- Excel
218
- oo = Excel.new(File.join("test","numbers1.xls"))
219
- oo.default_sheet = 1 # oo.sheets.first
220
- assert_equal 'A', oo.first_column_as_letter
221
- end
222
-
223
- def test_sheetname
224
- #-- OpenOffice
225
- oo = Openoffice.new(File.join("test","numbers1.ods"))
226
- oo.default_sheet = "Name of Sheet 2"
227
- assert_equal 'I am sheet 2', oo.cell('C',5)
228
- if DateTime.now > Date.new(2007,6,16)
229
- #-- Excel
230
- oo = Excel.new(File.join("test","numbers1.xls"))
231
- oo.default_sheet = "Name of Sheet 2"
232
- assert_equal 'I am sheet 2', oo.cell('C',5)
274
+
275
+ def test_last_row
276
+ #-- OpenOffice
277
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
278
+ oo.default_sheet = oo.sheets.first
279
+ assert_equal 18, oo.last_row
280
+ if EXCEL
281
+ #-- Excel
282
+ oo = Excel.new(File.join("test","numbers1.xls"))
283
+ oo.default_sheet = 1 # oo.sheets.first
284
+ assert_equal 18, oo.last_row
285
+ end
286
+ if GOOGLE
287
+ #-- Google
288
+ @goo.default_sheet = @goo.sheets.first
289
+ assert_equal 18, @goo.last_row
290
+ assert_equal "xxx", @goo.to_s, @goo.to_s
291
+ end
292
+ end
293
+
294
+ def test_last_column
295
+ #-- OpenOffice
296
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
297
+ oo.default_sheet = oo.sheets.first
298
+ assert_equal 7, oo.last_column
299
+ if EXCEL
300
+ #-- Excel
301
+ oo = Excel.new(File.join("test","numbers1.xls"))
302
+ oo.default_sheet = 1 # oo.sheets.first
303
+ assert_equal 7, oo.last_column
304
+ end
305
+ if GOOGLE
306
+ #-- Google
307
+ @goo.default_sheet = @goo.sheets.first
308
+ assert_equal 7, @goo.last_column
309
+ end
310
+ end
311
+
312
+ def test_last_column_as_letter
313
+ #-- OpenOffice
314
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
315
+ oo.default_sheet = oo.sheets.first
316
+ assert_equal 'G', oo.last_column_as_letter
317
+ if EXCEL
318
+ #-- Excel
319
+ oo = Excel.new(File.join("test","numbers1.xls"))
320
+ oo.default_sheet = 1 # oo.sheets.first
321
+ assert_equal 'G', oo.last_column_as_letter
322
+ end
323
+ if GOOGLE
324
+ #-- Google
325
+ @goo.default_sheet = @goo.sheets.first
326
+ assert_equal 'G', @goo.last_column_as_letter
327
+ end
328
+ end
329
+
330
+ def test_first_row
331
+ #-- OpenOffice
332
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
333
+ oo.default_sheet = oo.sheets.first
334
+ assert_equal 1, oo.first_row
335
+ if EXCEL
336
+ #-- Excel
337
+ oo = Excel.new(File.join("test","numbers1.xls"))
338
+ oo.default_sheet = 1 # oo.sheets.first
339
+ assert_equal 1, oo.first_row
340
+ end
341
+ if GOOGLE
342
+ #-- Google
343
+ @goo.default_sheet = @goo.sheets.first
344
+ assert_equal 1, @goo.first_row
345
+ end
346
+ end
347
+
348
+ def test_first_column
349
+ #-- OpenOffice
350
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
351
+ oo.default_sheet = oo.sheets.first
352
+ assert_equal 1, oo.first_column
353
+ if EXCEL
354
+ #-- Excel
355
+ oo = Excel.new(File.join("test","numbers1.xls"))
356
+ oo.default_sheet = 1 # oo.sheets.first
357
+ assert_equal 1, oo.first_column
358
+ end
359
+ if GOOGLE
360
+ #-- Google
361
+ @goo.default_sheet = 1 # @goo.sheets.first
362
+ assert_equal 1, @goo.first_column
363
+ end
364
+ end
365
+
366
+ def test_first_column_as_letter
367
+ #-- OpenOffice
368
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
369
+ oo.default_sheet = oo.sheets.first
370
+ assert_equal 'A', oo.first_column_as_letter
371
+ if EXCEL
372
+ #-- Excel
373
+ oo = Excel.new(File.join("test","numbers1.xls"))
374
+ oo.default_sheet = 1 # oo.sheets.first
375
+ assert_equal 'A', oo.first_column_as_letter
376
+ end
377
+ if GOOGLE
378
+ #-- Google
379
+ @goo.default_sheet = @goo.sheets.first
380
+ assert_equal 'A', @goo.first_column_as_letter
381
+ end
382
+ end
383
+
384
+ def test_sheetname
385
+ #-- OpenOffice
386
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
387
+ oo.default_sheet = "Name of Sheet 2"
388
+ assert_equal 'I am sheet 2', oo.cell('C',5)
389
+ if DateTime.now > Date.new(2007,6,16)
390
+ #-- Excel
391
+ if DateTime.now > Date.new(2007,6,30)
392
+ oo = Excel.new(File.join("test","numbers1.xls"))
393
+ oo.default_sheet = "Name of Sheet 2"
394
+ assert_equal 'I am sheet 2', oo.cell('C',5)
395
+ end
396
+ end
397
+ end
398
+
399
+ def test_boundaries
400
+ #-- OpenOffice
401
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
402
+ oo.default_sheet = "Name of Sheet 2"
403
+ assert_equal 2, oo.first_column
404
+ assert_equal 'B', oo.first_column_as_letter
405
+ assert_equal 5, oo.first_row
406
+ assert_equal 'E', oo.last_column_as_letter
407
+ assert_equal 14, oo.last_row
408
+ assert_equal 'E', oo.first_row_as_letter
409
+ assert_equal 'N', oo.last_row_as_letter
410
+ if EXCEL
411
+ #-- Excel
412
+ oo = Excel.new(File.join("test","numbers1.xls"))
413
+ oo.default_sheet = 2 # "Name of Sheet 2"
414
+ assert_equal 2, oo.first_column
415
+ assert_equal 'B', oo.first_column_as_letter
416
+ assert_equal 5, oo.first_row
417
+ assert_equal 'E', oo.last_column_as_letter
418
+ assert_equal 14, oo.last_row
419
+ assert_equal 'E', oo.first_row_as_letter
420
+ assert_equal 'N', oo.last_row_as_letter
421
+ end
422
+ end
423
+
424
+ def test_multiple_letters
425
+ #-- OpenOffice
426
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
427
+ oo.default_sheet = "Sheet3"
428
+ assert_equal "i am AA", oo.cell('AA',1)
429
+ assert_equal "i am AB", oo.cell('AB',1)
430
+ assert_equal "i am BA", oo.cell('BA',1)
431
+ assert_equal 'BA', oo.last_column_as_letter
432
+ assert_equal "i am BA", oo.cell(1,'BA')
433
+ if EXCEL
434
+ #-- Excel
435
+ oo = Excel.new(File.join("test","numbers1.xls"))
436
+ oo.default_sheet = 3 # "Sheet3"
437
+ assert_equal "i am AA", oo.cell('AA',1)
438
+ assert_equal "i am AB", oo.cell('AB',1)
439
+ assert_equal "i am BA", oo.cell('BA',1)
440
+ assert_equal 'BA', oo.last_column_as_letter
441
+ assert_equal "i am BA", oo.cell(1,'BA')
442
+ end
443
+ end
444
+
445
+ def test_setting_cell
446
+ assert true
447
+ end
448
+
449
+ def test_argument_error
450
+ if EXCEL
451
+ oo = Excel.new(File.join("test","numbers1.xls"))
452
+ assert_raise(ArgumentError) {
453
+ oo.default_sheet = "first sheet"
454
+ }
455
+ assert_nothing_raised(ArgumentError) {
456
+ oo.default_sheet = 1
457
+ }
458
+ end
459
+ end
460
+
461
+ def test_empty_eh
462
+ #-- OpenOffice
463
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
464
+ oo.default_sheet = oo.sheets.first
465
+ assert oo.empty?('a',14)
466
+ assert ! oo.empty?('a',15)
467
+ assert oo.empty?('a',20)
468
+ if EXCEL
469
+ #-- Excel
470
+ oo = Excel.new(File.join("test","numbers1.xls"))
471
+ oo.default_sheet = 1
472
+ assert oo.empty?('a',14)
473
+ assert ! oo.empty?('a',15)
474
+ assert oo.empty?('a',20)
475
+ end
233
476
  end
234
- end
235
477
 
236
- def test_boundaries
237
- #-- OpenOffice
238
- oo = Openoffice.new(File.join("test","numbers1.ods"))
239
- oo.default_sheet = "Name of Sheet 2"
240
- assert_equal 2, oo.first_column
241
- assert_equal 'B', oo.first_column_as_letter
242
- assert_equal 5, oo.first_row
243
- assert_equal 'E', oo.last_column_as_letter
244
- assert_equal 14, oo.last_row
245
- assert_equal 'E', oo.first_row_as_letter
246
- assert_equal 'N', oo.last_row_as_letter
247
- #-- Excel
248
- oo = Excel.new(File.join("test","numbers1.xls"))
249
- oo.default_sheet = 2 # "Name of Sheet 2"
250
- assert_equal 2, oo.first_column
251
- assert_equal 'B', oo.first_column_as_letter
252
- assert_equal 5, oo.first_row
253
- assert_equal 'E', oo.last_column_as_letter
254
- assert_equal 14, oo.last_row
255
- assert_equal 'E', oo.first_row_as_letter
256
- assert_equal 'N', oo.last_row_as_letter
257
- end
478
+ def test_writeopenoffice
479
+ if OPENOFFICEWRITE
480
+ File.cp(File.join("test","numbers1.ods"),
481
+ File.join("test","numbers2.ods"))
482
+ File.cp(File.join("test","numbers2.ods"),
483
+ File.join("test","bak_numbers2.ods"))
484
+ oo = Openoffice.new(File.join("test","numbers2.ods"))
485
+ oo.default_sheet = oo.sheets.first
486
+ oo.first_row.upto(oo.last_row) {|y|
487
+ oo.first_column.upto(oo.last_column) {|x|
488
+ unless oo.empty?(y,x)
489
+ oo.set(y, x, oo.cell(y,x) + 7) if oo.celltype(y,x) == "float"
490
+ end
491
+ }
492
+ }
493
+ oo.save
494
+
495
+ oo1 = Openoffice.new(File.join("test","numbers2.ods"))
496
+ oo2 = Openoffice.new(File.join("test","bak_numbers2.ods"))
497
+ p oo2.to_s
498
+ assert_equal 999, oo2.cell('a',1), oo2.cell('a',1)
499
+ assert_equal oo2.cell('a',1) + 7, oo1.cell('a',1)
500
+ assert_equal oo2.cell('b',1)+7, oo1.cell('b',1)
501
+ assert_equal oo2.cell('c',1)+7, oo1.cell('c',1)
502
+ assert_equal oo2.cell('d',1)+7, oo1.cell('d',1)
503
+ assert_equal oo2.cell('a',2)+7, oo1.cell('a',2)
504
+ assert_equal oo2.cell('b',2)+7, oo1.cell('b',2)
505
+ assert_equal oo2.cell('c',2)+7, oo1.cell('c',2)
506
+ assert_equal oo2.cell('d',2)+7, oo1.cell('d',2)
507
+ assert_equal oo2.cell('e',2)+7, oo1.cell('e',2)
508
+
509
+ File.cp(File.join("test","bak_numbers2.ods"),
510
+ File.join("test","numbers2.ods"))
511
+ end
512
+ end
258
513
 
259
- def test_multiple_letters
260
- #-- OpenOffice
261
- oo = Openoffice.new(File.join("test","numbers1.ods"))
262
- oo.default_sheet = "Sheet3"
263
- assert_equal "i am AA", oo.cell('AA',1)
264
- assert_equal "i am AB", oo.cell('AB',1)
265
- assert_equal "i am BA", oo.cell('BA',1)
266
- assert_equal 'BA', oo.last_column_as_letter
267
- assert_equal "i am BA", oo.cell(1,'BA')
268
- #-- Excel
269
- oo = Excel.new(File.join("test","numbers1.xls"))
270
- oo.default_sheet = 3 # "Sheet3"
271
- assert_equal "i am AA", oo.cell('AA',1)
272
- assert_equal "i am AB", oo.cell('AB',1)
273
- assert_equal "i am BA", oo.cell('BA',1)
274
- assert_equal 'BA', oo.last_column_as_letter
275
- assert_equal "i am BA", oo.cell(1,'BA')
276
- end
514
+ def test_reload
515
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
516
+ oo.default_sheet = oo.sheets.first
517
+ assert_equal 1, oo.cell(1,1)
277
518
 
278
- def test_setting_cell
279
- assert true
280
- end
519
+ if DateTime.now < Date.new(2007, 6, 15)
520
+ oo.reload
521
+ assert_equal 2, oo.cell(1,1)
522
+ end
523
+ end
281
524
 
282
- def test_argument_error
283
- oo = Excel.new(File.join("test","numbers1.xls"))
284
- assert_raise(ArgumentError) {
285
- oo.default_sheet = "first sheet"
286
- }
287
- assert_nothing_raised(ArgumentError) {
288
- oo.default_sheet = 1
289
- }
290
- end
525
+ def test_bug_contiguous_cells
526
+ if OPENOFFICE
527
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
528
+ oo.default_sheet = "Sheet4"
529
+ assert_equal Date.new(2007,06,16), oo.cell('a',1)
530
+ assert_equal 10, oo.cell('b',1)
531
+ assert_equal 10, oo.cell('c',1)
532
+ assert_equal 10, oo.cell('d',1)
533
+ assert_equal 10, oo.cell('e',1)
534
+ end
291
535
 
292
- def test_empty_eh
293
- #-- OpenOffice
294
- oo = Openoffice.new(File.join("test","numbers1.ods"))
295
- oo.default_sheet = oo.sheets.first
296
- assert oo.empty?('a',14)
297
- assert ! oo.empty?('a',15)
298
- assert oo.empty?('a',20)
299
- #-- Excel
300
- oo = Excel.new(File.join("test","numbers1.xls"))
301
- oo.default_sheet = 1
302
- assert oo.empty?('a',14)
303
- assert ! oo.empty?('a',15)
304
- assert oo.empty?('a',20)
536
+ end
305
537
 
306
- end
307
- end
538
+ end # class