roo 0.4.1 → 0.5.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.
@@ -1,8 +1,8 @@
1
1
  module Roo #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
- MINOR = 4
5
- TINY = 1
4
+ MINOR = 5
5
+ TINY = 0
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
Binary file
Binary file
Binary file
Binary file
@@ -1,4 +1,7 @@
1
1
  require File.dirname(__FILE__) + '/test_helper.rb'
2
+ #require 'soap/rpc/driver'
3
+ require 'fileutils'
4
+ include FileUtils
2
5
 
3
6
  class TestRoo < Test::Unit::TestCase
4
7
 
@@ -6,8 +9,29 @@ class TestRoo < Test::Unit::TestCase
6
9
  EXCEL = true # do Excel Tests?
7
10
  GOOGLE = false # do Google-Spreadsheet Tests?
8
11
 
9
- OPENOFFICEWRITE = false # experimental: write access with OO-Dokuments
12
+ OPENOFFICEWRITE = false # experimental: write access with OO-Documents
10
13
 
14
+ # helper method
15
+ def local_only
16
+ if ENV["roo_local"] == "thomas-p"
17
+ yield
18
+ end
19
+ end
20
+
21
+ # helper method
22
+ def after(d)
23
+ if DateTime.now > d
24
+ yield
25
+ end
26
+ end
27
+
28
+ # helper method
29
+ def before(d)
30
+ if DateTime.now <= d
31
+ yield
32
+ end
33
+ end
34
+
11
35
  def setup
12
36
  if GOOGLE
13
37
  @goo = Google.new(ENV['GOOGLE_MAIL'],
@@ -28,18 +52,16 @@ class TestRoo < Test::Unit::TestCase
28
52
  end
29
53
 
30
54
  def test_sheets
31
- oo = Openoffice.new(File.join("test","numbers1.ods"))
32
- assert_equal ["Tabelle1","Name of Sheet 2","Sheet3","Sheet4","Sheet5"], oo.sheets
33
- #--
55
+ if OPENOFFICE
56
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
57
+ assert_equal ["Tabelle1","Name of Sheet 2","Sheet3","Sheet4","Sheet5"], oo.sheets
58
+ end
34
59
  if EXCEL
35
- if DateTime.now > Date.new(2007,6,30)
36
60
  oo = Excel.new(File.join("test","numbers1.xls"))
37
- assert_equal ["Tabelle1","Name of Sheet 2","Sheet3"], oo.sheets
38
- end
61
+ assert_equal ["Tabelle1","Name of Sheet 2","Sheet3","Sheet4","Sheet5"], oo.sheets
39
62
  end
40
- #-- Google
41
63
  if GOOGLE
42
- if DateTime.now > Date.new(2007,6,10)
64
+ after Date.new(2007,6,10) do
43
65
  assert_equal "Testspreadsheet Roo", @goo.title
44
66
  end
45
67
  assert_equal ["Sheet eins","Sheet zwei","Sheet drei"], @goo.sheets
@@ -47,6 +69,7 @@ end
47
69
  end
48
70
 
49
71
  def test_cell
72
+ if OPENOFFICE
50
73
  oo = Openoffice.new(File.join("test","numbers1.ods"))
51
74
  oo.default_sheet = oo.sheets.first
52
75
  assert_equal 1, oo.cell(1,1)
@@ -59,9 +82,11 @@ end
59
82
  assert_equal 8, oo.cell(2,4)
60
83
  assert_equal 9, oo.cell(2,5)
61
84
  assert_equal "test", oo.cell(2,6)
62
- assert_equal "string", oo.celltype(2,6)
85
+ # assert_equal "string", oo.celltype(2,6)
86
+ assert_equal :string, oo.celltype(2,6)
63
87
  assert_equal 11, oo.cell(2,7)
64
- assert_equal "float", oo.celltype(2,7)
88
+ # assert_equal "float", oo.celltype(2,7)
89
+ assert_equal :float, oo.celltype(2,7)
65
90
 
66
91
  assert_equal 10, oo.cell(4,1)
67
92
  assert_equal 11, oo.cell(4,2)
@@ -75,13 +100,15 @@ end
75
100
  assert_equal 13, oo.cell(4,'D')
76
101
  assert_equal 14, oo.cell(4,'E')
77
102
 
78
- assert_equal "date", oo.celltype(5,1)
103
+ # assert_equal "date", oo.celltype(5,1)
104
+ assert_equal :date, oo.celltype(5,1)
79
105
  assert_equal Date.new(1961,11,21), oo.cell(5,1)
80
106
  assert_equal "1961-11-21", oo.cell(5,1).to_s
107
+ end
81
108
 
82
109
  if EXCEL
83
110
  oo = Excel.new(File.join("test","numbers1.xls"))
84
- oo.default_sheet = 1 # oo.sheets.first
111
+ oo.default_sheet = oo.sheets.first
85
112
  assert_equal 1, oo.cell(1,1)
86
113
  assert_equal 2, oo.cell(1,2)
87
114
  assert_equal 3, oo.cell(1,3)
@@ -92,9 +119,11 @@ end
92
119
  assert_equal 8, oo.cell(2,4)
93
120
  assert_equal 9, oo.cell(2,5)
94
121
  assert_equal "test", oo.cell(2,6)
95
- assert_equal "string", oo.celltype(2,6)
122
+ # assert_equal "string", oo.celltype(2,6)
123
+ assert_equal :string, oo.celltype(2,6)
96
124
  assert_equal 11, oo.cell(2,7)
97
- assert_equal "float", oo.celltype(2,7)
125
+ # assert_equal "float", oo.celltype(2,7)
126
+ assert_equal :float, oo.celltype(2,7)
98
127
 
99
128
  assert_equal 10, oo.cell(4,1)
100
129
  assert_equal 11, oo.cell(4,2)
@@ -108,7 +137,8 @@ end
108
137
  assert_equal 13, oo.cell(4,'D')
109
138
  assert_equal 14, oo.cell(4,'E')
110
139
 
111
- assert_equal "date", oo.celltype(5,1)
140
+ # assert_equal "date", oo.celltype(5,1)
141
+ assert_equal :date, oo.celltype(5,1)
112
142
  assert_equal Date.new(1961,11,21), oo.cell(5,1)
113
143
  assert_equal "1961-11-21", oo.cell(5,1).to_s
114
144
  end
@@ -125,10 +155,12 @@ end
125
155
  assert_equal 8, @goo.cell(2,4).to_i
126
156
  assert_equal 9, @goo.cell(2,5).to_i
127
157
  assert_equal "test", @goo.cell(2,6)
128
- assert_equal "string", @goo.celltype(2,6)
158
+ # assert_equal "string", @goo.celltype(2,6)
159
+ assert_equal :string, @goo.celltype(2,6)
129
160
  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)
161
+ after Date.new(2007,6,15) do
162
+ # assert_equal "float", @goo.celltype(2,7)
163
+ assert_equal :float, @goo.celltype(2,7)
132
164
  end
133
165
 
134
166
  assert_equal 10, @goo.cell(4,1).to_i
@@ -143,45 +175,62 @@ end
143
175
  assert_equal 13, @goo.cell(4,'D').to_i
144
176
  assert_equal 14, @goo.cell(4,'E').to_i
145
177
 
146
- if DateTime.now > Date.new(2007,6,15)
147
- assert_equal "date", @goo.celltype(5,1)
178
+ after Date.new(2007,6,15) do
179
+ # assert_equal "date", @goo.celltype(5,1)
180
+ assert_equal :date, @goo.celltype(5,1)
148
181
  end
149
- if DateTime.now > Date.new(2007,6,15)
182
+ after Date.new(2007,6,15) do
150
183
  assert_equal Date.new(1961,11,21), @goo.cell(5,1)
151
184
  assert_equal "1961-11-21", @goo.cell(5,1).to_s
152
- else
185
+ end
186
+ before Date.new(2007,6,15) do
153
187
  assert_equal "21/11/1961", @goo.cell(5,1)
154
188
  end
155
189
  end # GOOGLE
156
190
  end
157
191
 
158
192
  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)
193
+ if OPENOFFICE
194
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
195
+ oo.default_sheet = oo.sheets.first
196
+ assert_equal "tata", oo.cell(6,1)
197
+ assert_equal "tata", oo.cell(6,'A')
198
+ assert_equal "tata", oo.cell('A',6)
199
+ assert_equal "tata", oo.cell(6,'a')
200
+ assert_equal "tata", oo.cell('a',6)
201
+
202
+ assert_raise(ArgumentError) {
203
+ assert_equal "tata", oo.cell('a','f')
204
+ }
205
+ assert_raise(ArgumentError) {
206
+ assert_equal "tata", oo.cell('f','a')
207
+ }
208
+ assert_equal "thisisc8", oo.cell(8,3)
209
+ assert_equal "thisisc8", oo.cell(8,'C')
210
+ assert_equal "thisisc8", oo.cell('C',8)
211
+ assert_equal "thisisc8", oo.cell(8,'c')
212
+ assert_equal "thisisc8", oo.cell('c',8)
213
+
214
+ assert_equal "thisisd9", oo.cell('d',9)
215
+ assert_equal "thisisa11", oo.cell('a',11)
216
+ end
175
217
 
176
218
  if EXCEL
177
219
  oo = Excel.new(File.join("test","numbers1.xls"))
178
- oo.default_sheet = 1 # oo.sheets.first
220
+ oo.default_sheet = oo.sheets.first
179
221
  assert_equal "tata", oo.cell(6,1)
180
222
  assert_equal "tata", oo.cell(6,'A')
181
223
  assert_equal "tata", oo.cell('A',6)
182
224
  assert_equal "tata", oo.cell(6,'a')
183
225
  assert_equal "tata", oo.cell('a',6)
184
226
 
227
+ assert_raise(ArgumentError) {
228
+ assert_equal "tata", oo.cell('a','f')
229
+ }
230
+ assert_raise(ArgumentError) {
231
+ assert_equal "tata", oo.cell('f','a')
232
+ }
233
+
185
234
  assert_equal "thisisc8", oo.cell(8,3)
186
235
  assert_equal "thisisc8", oo.cell(8,'C')
187
236
  assert_equal "thisisc8", oo.cell('C',8)
@@ -222,14 +271,14 @@ end
222
271
  # excel does not have a officeversion
223
272
  # is there a similar version number which ist considerable
224
273
  #-- Excel
225
- #if DateTime.now > Date.new(2007,6,15)
274
+ #after Date.new(2007,6,15) do
226
275
  # oo = Excel.new(File.join("test","numbers1.xls"))
227
276
  # assert_equal "1.0", oo.officeversion
228
277
  #end
229
278
  end
230
279
  #-- Google
231
280
  if GOOGLE
232
- if DateTime.now > Date.new(2007,6,15)
281
+ after Date.new(2007,6,15) do
233
282
  assert_equal "1.0", @goo.officeversion
234
283
  end
235
284
  end
@@ -254,7 +303,7 @@ end
254
303
  if EXCEL
255
304
  #-- Excel
256
305
  oo = Excel.new(File.join("test","numbers1.xls"))
257
- oo.default_sheet = 1 # oo.sheets.first
306
+ oo.default_sheet = oo.sheets.first
258
307
  assert_equal 41, oo.cell('a',12)
259
308
  assert_equal 42, oo.cell('b',12)
260
309
  assert_equal 43, oo.cell('c',12)
@@ -272,7 +321,7 @@ end
272
321
  "vierundvierzig",
273
322
  "fuenfundvierzig"], oo.row(16)
274
323
  end
275
- if DateTime.now > Date.new(2007,6,17)
324
+ after Date.new(2007,6,17) do
276
325
  #-- GOOGLE
277
326
  if GOOGLE
278
327
  oo = Google.new(File.join("test","numbers1.xls"))
@@ -299,18 +348,17 @@ end
299
348
  end
300
349
 
301
350
  def test_last_row
302
- #-- OpenOffice
303
- oo = Openoffice.new(File.join("test","numbers1.ods"))
304
- oo.default_sheet = oo.sheets.first
305
- assert_equal 18, oo.last_row
351
+ if OPENOFFICE
352
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
353
+ oo.default_sheet = oo.sheets.first
354
+ assert_equal 18, oo.last_row
355
+ end
306
356
  if EXCEL
307
- #-- Excel
308
357
  oo = Excel.new(File.join("test","numbers1.xls"))
309
- oo.default_sheet = 1 # oo.sheets.first
358
+ oo.default_sheet = oo.sheets.first
310
359
  assert_equal 18, oo.last_row
311
360
  end
312
361
  if GOOGLE
313
- #-- Google
314
362
  @goo.default_sheet = @goo.sheets.first
315
363
  assert_equal 18, @goo.last_row
316
364
  assert_equal "xxx", @goo.to_s, @goo.to_s
@@ -318,14 +366,15 @@ end
318
366
  end
319
367
 
320
368
  def test_last_column
321
- #-- OpenOffice
322
- oo = Openoffice.new(File.join("test","numbers1.ods"))
323
- oo.default_sheet = oo.sheets.first
324
- assert_equal 7, oo.last_column
369
+ if OPENOFFICE
370
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
371
+ oo.default_sheet = oo.sheets.first
372
+ assert_equal 7, oo.last_column
373
+ end
325
374
  if EXCEL
326
375
  #-- Excel
327
376
  oo = Excel.new(File.join("test","numbers1.xls"))
328
- oo.default_sheet = 1 # oo.sheets.first
377
+ oo.default_sheet = oo.sheets.first
329
378
  assert_equal 7, oo.last_column
330
379
  end
331
380
  if GOOGLE
@@ -408,17 +457,16 @@ end
408
457
  end
409
458
 
410
459
  def test_sheetname
411
- #-- OpenOffice
412
- oo = Openoffice.new(File.join("test","numbers1.ods"))
413
- oo.default_sheet = "Name of Sheet 2"
414
- assert_equal 'I am sheet 2', oo.cell('C',5)
415
- if DateTime.now > Date.new(2007,6,16)
416
- #-- Excel
417
- if DateTime.now > Date.new(2007,6,30)
460
+ if OPENOFFICE
461
+ #-- OpenOffice
462
+ oo = Openoffice.new(File.join("test","numbers1.ods"))
463
+ oo.default_sheet = "Name of Sheet 2"
464
+ assert_equal 'I am sheet 2', oo.cell('C',5)
465
+ end
466
+ if EXCEL
418
467
  oo = Excel.new(File.join("test","numbers1.xls"))
419
468
  oo.default_sheet = "Name of Sheet 2"
420
469
  assert_equal 'I am sheet 2', oo.cell('C',5)
421
- end
422
470
  end
423
471
  end
424
472
 
@@ -471,9 +519,11 @@ end
471
519
  def test_argument_error
472
520
  if EXCEL
473
521
  oo = Excel.new(File.join("test","numbers1.xls"))
474
- assert_raise(ArgumentError) {
475
- oo.default_sheet = "first sheet"
476
- }
522
+ before Date.new(2007,7,20) do
523
+ assert_raise(ArgumentError) {
524
+ oo.default_sheet = "first sheet"
525
+ }
526
+ end
477
527
  assert_nothing_raised(ArgumentError) {
478
528
  oo.default_sheet = 1
479
529
  }
@@ -508,7 +558,8 @@ end
508
558
  oo.first_row.upto(oo.last_row) {|y|
509
559
  oo.first_column.upto(oo.last_column) {|x|
510
560
  unless oo.empty?(y,x)
511
- oo.set(y, x, oo.cell(y,x) + 7) if oo.celltype(y,x) == "float"
561
+ # oo.set(y, x, oo.cell(y,x) + 7) if oo.celltype(y,x) == "float"
562
+ oo.set(y, x, oo.cell(y,x) + 7) if oo.celltype(y,x) == :float
512
563
  end
513
564
  }
514
565
  }
@@ -623,6 +674,7 @@ end
623
674
  end
624
675
 
625
676
  def test_italo_table
677
+ local_only do
626
678
  oo = Openoffice.new(File.join("test","simple_spreadsheet_from_italo.ods"))
627
679
  oo.default_sheet = oo.sheets.first
628
680
 
@@ -655,34 +707,35 @@ end
655
707
  # 1.0
656
708
 
657
709
  # Cells values in row 1:
658
- assert_equal "1:string", oo.cell(1, 1)+":"+oo.celltype(1, 1)
659
- assert_equal "1:string",oo.cell(1, 2)+":"+oo.celltype(1, 2)
660
- assert_equal "1:string",oo.cell(1, 3)+":"+oo.celltype(1, 3)
710
+ assert_equal "1:string", oo.cell(1, 1)+":"+oo.celltype(1, 1).to_s
711
+ assert_equal "1:string",oo.cell(1, 2)+":"+oo.celltype(1, 2).to_s
712
+ assert_equal "1:string",oo.cell(1, 3)+":"+oo.celltype(1, 3).to_s
661
713
 
662
714
  # Cells values in row 2:
663
- assert_equal "1:string",oo.cell(2, 1)+":"+oo.celltype(2, 1)
664
- assert_equal "2:string",oo.cell(2, 2)+":"+oo.celltype(2, 2)
665
- assert_equal "1:string",oo.cell(2, 3)+":"+oo.celltype(2, 3)
715
+ assert_equal "1:string",oo.cell(2, 1)+":"+oo.celltype(2, 1).to_s
716
+ assert_equal "2:string",oo.cell(2, 2)+":"+oo.celltype(2, 2).to_s
717
+ assert_equal "1:string",oo.cell(2, 3)+":"+oo.celltype(2, 3).to_s
666
718
 
667
719
  # Cells values in row 3:
668
- assert_equal "1.0:float",oo.cell(3, 1).to_s+":"+oo.celltype(3, 1)
669
- assert_equal "3.0:float",oo.cell(3, 2).to_s+":"+oo.celltype(3, 2)
670
- assert_equal "1.0:float",oo.cell(3, 3).to_s+":"+oo.celltype(3, 3)
720
+ assert_equal "1.0:float",oo.cell(3, 1).to_s+":"+oo.celltype(3, 1).to_s
721
+ assert_equal "3.0:float",oo.cell(3, 2).to_s+":"+oo.celltype(3, 2).to_s
722
+ assert_equal "1.0:float",oo.cell(3, 3).to_s+":"+oo.celltype(3, 3).to_s
671
723
 
672
724
  # Cells values in row 4:
673
- assert_equal "A:string",oo.cell(4, 1)+":"+oo.celltype(4, 1)
674
- assert_equal "A:string",oo.cell(4, 2)+":"+oo.celltype(4, 2)
675
- assert_equal "A:string",oo.cell(4, 3)+":"+oo.celltype(4, 3)
725
+ assert_equal "A:string",oo.cell(4, 1)+":"+oo.celltype(4, 1).to_s
726
+ assert_equal "A:string",oo.cell(4, 2)+":"+oo.celltype(4, 2).to_s
727
+ assert_equal "A:string",oo.cell(4, 3)+":"+oo.celltype(4, 3).to_s
676
728
 
677
729
  # Cells values in row 5:
678
- assert_equal "0.01:percentage",oo.cell(5, 1)+":"+oo.celltype(5, 1)
679
- assert_equal "0.01:percentage",oo.cell(5, 2)+":"+oo.celltype(5, 2)
680
- assert_equal "0.01:percentage",oo.cell(5, 3)+":"+oo.celltype(5, 3)
681
-
730
+ assert_equal "0.01:percentage",oo.cell(5, 1)+":"+oo.celltype(5, 1).to_s
731
+ assert_equal "0.01:percentage",oo.cell(5, 2)+":"+oo.celltype(5, 2).to_s
732
+ assert_equal "0.01:percentage",oo.cell(5, 3)+":"+oo.celltype(5, 3).to_s
733
+ end
682
734
 
683
735
  end
684
736
 
685
737
  def test_external1
738
+ local_only do
686
739
  if File.exist?(File.join("test","external1.xls"))
687
740
  oo = Excel.new(File.join("test","external1.xls"))
688
741
  oo.default_sheet = 2
@@ -690,6 +743,7 @@ end
690
743
  assert_equal(41.31205555, oo.cell('AA',5))
691
744
  assert_equal(2218.3344, oo.cell('AB',5))
692
745
  end
746
+ end
693
747
  end
694
748
 
695
749
  def myfunc(n)
@@ -716,7 +770,7 @@ end
716
770
  [8, 2, "=SUM([.$A$1:.B7])"],
717
771
  ], oo.formulas
718
772
 
719
- if DateTime.now > Date.new(2007,6,25)
773
+ after Date.new(2007,6,25) do
720
774
  # setting a cell
721
775
  oo.set('A',15, 41)
722
776
  assert_equal 41, oo.cell('A',15)
@@ -725,31 +779,10 @@ end
725
779
  oo.set('A',17, 42.5)
726
780
  assert_equal 42.5, oo.cell('A',17)
727
781
  end
728
- if DateTime.now > Date.new(2007,6,30)
729
- assert_equal 21, oo.solve('a',7)
730
- end
731
-
732
- oo = Openoffice.new(File.join("test","external1.ods"))
733
- # each spreadsheet, each row, each column
734
- oo.sheets.each {|sheet|
735
- oo.default_sheet = sheet
736
- if oo.first_row
737
- oo.first_row.upto(oo.last_row) do |row|
738
- oo.first_column.upto(oo.last_column) do |col|
739
- value = oo.cell(row,col)
740
- # is it a formula?
741
- if oo.formula?(row,col)
742
- # formula
743
- puts oo.formula(row,col)
744
- # value
745
- puts value if value
746
- else
747
- puts value if value
748
- end
749
- end
750
- end
751
- end
752
- }
782
+ #after Date.new(2007,7,30) do
783
+ # assert_equal 21, oo.solve('a',7)
784
+ #end
785
+
753
786
  end
754
787
  end
755
788
 
@@ -781,7 +814,9 @@ end
781
814
  end
782
815
  if EXCEL
783
816
  oo = Excel.new(File.join("test","borders.xls"))
784
- oo.default_sheet = 2 # oo.sheets[1]
817
+ p oo.sheets
818
+ p oo.sheets[1]
819
+ oo.default_sheet = oo.sheets[1]
785
820
  assert_equal 6, oo.first_row
786
821
  assert_equal 11, oo.last_row
787
822
  assert_equal 4, oo.first_column
@@ -831,6 +866,8 @@ end
831
866
  yaml_entry(16,3,"string","dreiundvierzig")+
832
867
  yaml_entry(16,4,"string","vierundvierzig")+
833
868
  yaml_entry(16,5,"string","fuenfundvierzig"), oo.to_yaml({}, 12,3)
869
+ #example: puts oo.to_yaml({}, 12,3)
870
+ #example: puts oo.to_yaml({"probe" => "bodenproben_2007-06-30"}, 12,3)
834
871
  end
835
872
  if EXCEL
836
873
  oo = Excel.new(File.join("test","numbers1.xls"))
@@ -855,16 +892,124 @@ end
855
892
  end
856
893
  end
857
894
 
858
- def test_old_openoffice
859
- if OPENOFFICE
860
- oo = Openoffice.new(File.join("/media","LACIE","ferien","Ferien.ods"))
861
- oo.default_sheet = oo.sheets.first
862
- assert_equal 2006, oo.cell('A',1)
863
- assert_equal "Berlin", oo.cell('B',1)
864
- assert_equal "Herbstferien", oo.cell('C',1)
865
- assert_equal Date.new(2006,10,2), oo.cell('D',1)
866
- assert_equal Date.new(2006,10,14), oo.cell('E',1)
895
+ if false
896
+ def test_soap_server
897
+ #threads = []
898
+ #threads << Thread.new("serverthread") do
899
+ fork do
900
+ p "serverthread started"
901
+ puts "in child, pid = #$$"
902
+ puts `/usr/bin/ruby rooserver.rb`
903
+ p "serverthread finished"
904
+ end
905
+ #threads << Thread.new("clientthread") do
906
+ p "clientthread started"
907
+ sleep 10
908
+ proxy = SOAP::RPC::Driver.new("http://localhost:12321","spreadsheetserver")
909
+ #"http://localhost:2222")
910
+ #"http://pragprog.com/InterestCalc")
911
+ proxy.add_method('cell','row','col')
912
+ proxy.add_method('officeversion')
913
+ proxy.add_method('last_row')
914
+ proxy.add_method('last_column')
915
+ proxy.add_method('first_row')
916
+ proxy.add_method('first_column')
917
+ proxy.add_method('sheets')
918
+ proxy.add_method('set_default_sheet','s')
919
+ proxy.add_method('ferien_fuer_region', 'region')
920
+
921
+ sheets = proxy.sheets
922
+ p sheets
923
+ proxy.set_default_sheet(sheets.first)
924
+
925
+ assert_equal 1, proxy.first_row
926
+ assert_equal 1, proxy.first_column
927
+ assert_equal 187, proxy.last_row
928
+ assert_equal 7, proxy.last_column
929
+ assert_equal 42, proxy.cell('C',8)
930
+ assert_equal 43, proxy.cell('F',12)
931
+ assert_equal "1.0", proxy.officeversion
932
+ p "clientthread finished"
933
+ #end
934
+ #threads.each {|t| t.join }
935
+ puts "fertig"
936
+ Process.kill("INT",pid)
937
+ pid=Process.wait
938
+ puts "child terminated, pid= #{pid}, status= #{$?.exitstatus}"
939
+ end
940
+ end # false
941
+
942
+ def split_coord(s)
943
+ letter = ""
944
+ number = 0
945
+ i = 0
946
+ while i<s.length and "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".include?(s[i,1])
947
+ letter += s[i,1]
948
+ i+=1
949
+ end
950
+ while i<s.length and "01234567890".include?(s[i,1])
951
+ number = number*10 + s[i,1].to_i
952
+ i+=1
867
953
  end
954
+ if letter=="" or number==0
955
+ raise ArgumentError
956
+ end
957
+ return letter,number
868
958
  end
869
959
 
960
+ #def sum(s,expression)
961
+ # arg = expression.split(':')
962
+ # b,z = split_coord(arg[0])
963
+ # first_row = z
964
+ # first_col = Openoffice.letter_to_number(b)
965
+ # b,z = split_coord(arg[1])
966
+ # last_row = z
967
+ # last_col = Openoffice.letter_to_number(b)
968
+ # result = 0
969
+ # first_row.upto(last_row) {|row|
970
+ # first_col.upto(last_col) {|col|
971
+ # result = result + s.cell(row,col)
972
+ # }
973
+ # }
974
+ # result
975
+ #end
976
+
977
+ #def test_dsl
978
+ # s = Openoffice.new(File.join("test","numbers1.ods"))
979
+ # s.default_sheet = s.sheets.first
980
+ #
981
+ # s.set 'a',1, 5
982
+ # s.set 'b',1, 3
983
+ # s.set 'c',1, 7
984
+ # s.set('a',2, s.cell('a',1)+s.cell('b',1))
985
+ # assert_equal 8, s.cell('a',2)
986
+ #
987
+ # assert_equal 15, sum(s,'A1:C1')
988
+ # end
989
+
990
+ #def test_create_spreadsheet1
991
+ # name=File.join('test','createdspreadsheet.ods')
992
+ # rm(name) if File.exists?(File.join('test','createdspreadsheet.ods'))
993
+ # # anlegen, falls noch nicht existierend
994
+ # s = Openoffice.new(name,true)
995
+ # assert File.exists?(name)
996
+ #end
997
+
998
+ #def test_create_spreadsheet2
999
+ # # anlegen, falls noch nicht existierend
1000
+ # s = Openoffice.new(File.join("test","createdspreadsheet.ods"),true)
1001
+ # s.set 'a',1,42
1002
+ # s.set 'b',1,43
1003
+ # s.set 'c',1,44
1004
+ # s.save
1005
+ #
1006
+ # #after Date.new(2007,7,3) do
1007
+ # # t = Openoffice.new(File.join("test","createdspreadsheet.ods"))
1008
+ # # assert_equal 42, t.cell(1,'a')
1009
+ # # assert_equal 43, t.cell('b',1)
1010
+ # # assert_equal 44, t.cell('c',3)
1011
+ # #end
1012
+ #end
1013
+
1014
+
870
1015
  end # class