robust_excel_ole 0.5.1 → 0.6

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.
Files changed (48) hide show
  1. data/Changelog +13 -0
  2. data/README.rdoc +70 -21
  3. data/README_detail.rdoc +60 -27
  4. data/examples/edit_sheets/example_access_sheets_and_cells.rb +2 -2
  5. data/examples/edit_sheets/example_adding_sheets.rb +2 -2
  6. data/examples/edit_sheets/example_concating.rb +2 -3
  7. data/examples/edit_sheets/example_copying.rb +2 -3
  8. data/examples/edit_sheets/example_expanding.rb +2 -3
  9. data/examples/edit_sheets/example_naming.rb +2 -3
  10. data/examples/edit_sheets/example_ranges.rb +2 -2
  11. data/examples/edit_sheets/example_saving.rb +2 -3
  12. data/examples/open_save_close/example_control_to_excel.rb +3 -3
  13. data/examples/open_save_close/example_default_excel.rb +4 -4
  14. data/examples/open_save_close/example_force_excel.rb +2 -2
  15. data/examples/open_save_close/example_if_obstructed_closeifsaved.rb +2 -2
  16. data/examples/open_save_close/example_if_obstructed_forget.rb +2 -2
  17. data/examples/open_save_close/example_if_obstructed_save.rb +2 -2
  18. data/examples/open_save_close/example_if_unsaved_accept.rb +2 -2
  19. data/examples/open_save_close/example_if_unsaved_forget.rb +2 -2
  20. data/examples/open_save_close/example_if_unsaved_forget_more.rb +4 -5
  21. data/examples/open_save_close/example_read_only.rb +2 -2
  22. data/examples/open_save_close/example_rename_cells.rb +3 -3
  23. data/examples/open_save_close/example_reuse.rb +2 -2
  24. data/examples/open_save_close/example_simple.rb +3 -4
  25. data/examples/open_save_close/example_unobtrusively.rb +2 -2
  26. data/lib/robust_excel_ole/book.rb +84 -78
  27. data/lib/robust_excel_ole/bookstore.rb +5 -1
  28. data/lib/robust_excel_ole/excel.rb +165 -188
  29. data/lib/robust_excel_ole/reo_common.rb +4 -0
  30. data/lib/robust_excel_ole/sheet.rb +15 -6
  31. data/lib/robust_excel_ole/version.rb +1 -1
  32. data/spec/book_spec.rb +104 -77
  33. data/spec/book_specs/book_close_spec.rb +9 -8
  34. data/spec/book_specs/book_misc_spec.rb +367 -26
  35. data/spec/book_specs/book_open_spec.rb +375 -94
  36. data/spec/book_specs/book_save_spec.rb +137 -112
  37. data/spec/book_specs/book_sheet_spec.rb +1 -1
  38. data/spec/book_specs/book_subclass_spec.rb +2 -1
  39. data/spec/book_specs/book_unobtr_spec.rb +87 -96
  40. data/spec/bookstore_spec.rb +8 -5
  41. data/spec/cell_spec.rb +1 -1
  42. data/spec/data/another_workbook.xls +0 -0
  43. data/spec/data/book_with_blank.xls +0 -0
  44. data/spec/data/workbook.xls +0 -0
  45. data/spec/excel_spec.rb +484 -72
  46. data/spec/range_spec.rb +1 -1
  47. data/spec/sheet_spec.rb +47 -1
  48. metadata +4 -5
@@ -14,7 +14,7 @@ describe Book do
14
14
  excel = Excel.new(:reuse => true)
15
15
  open_books = excel == nil ? 0 : excel.Workbooks.Count
16
16
  puts "*** open books *** : #{open_books}" if open_books > 0
17
- Excel.close_all
17
+ Excel.kill_all
18
18
  end
19
19
 
20
20
  before do
@@ -9,6 +9,7 @@ module My # :nodoc: #
9
9
 
10
10
  class Book < RobustExcelOle::Book # :nodoc: #
11
11
  end
12
+
12
13
  end
13
14
 
14
15
  describe "subclassed Book" do
@@ -17,7 +18,7 @@ describe "subclassed Book" do
17
18
  excel = RobustExcelOle::Excel.new(:reuse => true)
18
19
  open_books = excel == nil ? 0 : excel.Workbooks.Count
19
20
  puts "*** open books *** : #{open_books}" if open_books > 0
20
- RobustExcelOle::Excel.close_all
21
+ RobustExcelOle::Excel.kill_all
21
22
  end
22
23
 
23
24
  before do
@@ -14,7 +14,7 @@ describe Book do
14
14
  excel = Excel.new(:reuse => true)
15
15
  open_books = excel == nil ? 0 : excel.Workbooks.Count
16
16
  puts "*** open books *** : #{open_books}" if open_books > 0
17
- Excel.close_all
17
+ Excel.kill_all
18
18
  end
19
19
 
20
20
  before do
@@ -27,6 +27,7 @@ describe Book do
27
27
  @linked_file = @dir + '/workbook_linked.xlsm'
28
28
  @simple_file_xlsm = @dir + '/workbook.xls'
29
29
  @simple_file_xlsx = @dir + '/workbook.xlsx'
30
+ @simple_file1 = @simple_file
30
31
  end
31
32
 
32
33
  after do
@@ -71,20 +72,11 @@ describe Book do
71
72
  end
72
73
 
73
74
  after do
74
- #Excel.close_all
75
- begin
76
- @excel1.close
77
- @excel2.close
78
- rescue RuntimeError => msg
79
- #puts "RuntimeError: #{msg.message}" if msg.message =~ /Excel instance not alive or damaged/
80
- nil
81
- end
75
+ Excel.kill_all
82
76
  end
83
77
 
84
78
  it "should open unobtrusively in the first opened Excel" do
85
79
  Book.unobtrusively(@simple_file) do |book|
86
- book.should be_a Book
87
- book.should be_alive
88
80
  book.excel.should == @excel1
89
81
  book.excel.should_not == @excel2
90
82
  end
@@ -113,7 +105,7 @@ describe Book do
113
105
  expect{
114
106
  Book.unobtrusively(@simple_file, @excel2) do |book|
115
107
  end
116
- }.to raise_error(ExcelErrorOpen, "Excel instance not alive or damaged")
108
+ }.to_not raise_error
117
109
  end
118
110
  end
119
111
 
@@ -124,12 +116,11 @@ describe Book do
124
116
  }.to raise_error(ExcelErrorOpen, "given object is neither an Excel, a Workbook, nor a Win32ole")
125
117
  end
126
118
 
127
- it "should be visible and displayalerts" do
128
- Book.unobtrusively(@simple_file, :visible => true, :displayalerts => true) do |book|
119
+ it "should be visible" do
120
+ Book.unobtrusively(@simple_file, :visible => true) do |book|
129
121
  book.should be_a Book
130
122
  book.should be_alive
131
123
  book.excel.visible.should be_true
132
- book.excel.displayalerts.should be_true
133
124
  end
134
125
  end
135
126
 
@@ -148,7 +139,7 @@ describe Book do
148
139
  context "with an open book" do
149
140
 
150
141
  before do
151
- @book = Book.open(@simple_file)
142
+ @book = Book.open(@simple_file1)
152
143
  end
153
144
 
154
145
  after do
@@ -169,7 +160,7 @@ describe Book do
169
160
  it "should let an open Book open if it has been closed and opened again" do
170
161
  @book.close
171
162
  @book.reopen
172
- Book.unobtrusively(@simple_file) do |book|
163
+ Book.unobtrusively(@simple_file1) do |book|
173
164
  book.should be_a Book
174
165
  book.should be_alive
175
166
  book.excel.should == @book.excel
@@ -183,7 +174,7 @@ describe Book do
183
174
  @book.close
184
175
  book2.close
185
176
  @book.reopen
186
- Book.unobtrusively(@simple_file) do |book|
177
+ Book.unobtrusively(@simple_file1) do |book|
187
178
  book.should be_a Book
188
179
  book.should be_alive
189
180
  book.excel.should == @book.excel
@@ -241,8 +232,8 @@ describe Book do
241
232
  @book2.Saved.should be_false
242
233
  @book2.close(:if_unsaved => :forget)
243
234
  @book.close
244
- @book = Book.open(@simple_file)
245
- sheet2 = @book.sheet(1)
235
+ new_book = Book.open(@simple_file1)
236
+ sheet2 = new_book.sheet(1)
246
237
  sheet2[1,1].value.should_not == old_cell_value
247
238
  end
248
239
 
@@ -289,8 +280,8 @@ describe Book do
289
280
  @book.should_not be_alive
290
281
  unobtrusively_ok?
291
282
  @book.should_not be_alive
292
- @book = Book.open(@simple_file)
293
- sheet = @book.sheet(1)
283
+ new_book = Book.open(@simple_file1)
284
+ sheet = new_book.sheet(1)
294
285
  sheet[1,1].Value.should_not == old_cell_value
295
286
  end
296
287
 
@@ -312,7 +303,7 @@ describe Book do
312
303
  end
313
304
  @book.should be_alive
314
305
  @book.close
315
- new_book = Book.open(@simple_file)
306
+ new_book = Book.open(@simple_file1)
316
307
  sheet = new_book.sheet(1)
317
308
  sheet[1,1].value.should_not == old_cell_value
318
309
  end
@@ -349,7 +340,7 @@ describe Book do
349
340
  book.Saved.should be_false
350
341
  end
351
342
  @book.should_not be_alive
352
- new_book = Book.open(@simple_file)
343
+ new_book = Book.open(@simple_file1)
353
344
  sheet = new_book.sheet(1)
354
345
  sheet[1,1].value.should_not == old_cell_value
355
346
  end
@@ -372,7 +363,7 @@ describe Book do
372
363
  end
373
364
  @book.should be_alive
374
365
  @book.close
375
- new_book = Book.open(@simple_file)
366
+ new_book = Book.open(@simple_file1)
376
367
  sheet = new_book.sheet(1)
377
368
  sheet[1,1].value.should_not == old_cell_value
378
369
  end
@@ -394,7 +385,7 @@ describe Book do
394
385
  book.Saved.should be_false
395
386
  end
396
387
  @book.should_not be_alive
397
- new_book = Book.open(@simple_file)
388
+ new_book = Book.open(@simple_file1)
398
389
  sheet = new_book.sheet(1)
399
390
  sheet[1,1].value.should_not == old_cell_value
400
391
  end
@@ -410,7 +401,7 @@ describe Book do
410
401
  cell = sheet[1,1]
411
402
  sheet[1,1] = cell.Value == "foo" ? "bar" : "foo"
412
403
  end
413
- old_book = Book.open(@simple_file)
404
+ old_book = Book.open(@simple_file1)
414
405
  old_sheet = old_book.sheet(1)
415
406
  old_sheet[1,1].Value.should == old_cell_value
416
407
  old_book.close
@@ -424,7 +415,7 @@ describe Book do
424
415
  context "with a visible book" do
425
416
 
426
417
  before do
427
- @book = Book.open(@simple_file, :visible => true)
418
+ @book = Book.open(@simple_file1, :visible => true)
428
419
  end
429
420
 
430
421
  after do
@@ -433,7 +424,7 @@ describe Book do
433
424
  end
434
425
 
435
426
  it "should let an open Book open" do
436
- Book.unobtrusively(@simple_file) do |book|
427
+ Book.unobtrusively(@simple_file1) do |book|
437
428
  book.should be_a Book
438
429
  book.should be_alive
439
430
  book.excel.should == @book.excel
@@ -449,14 +440,14 @@ describe Book do
449
440
  context "with various options for an Excel instance in which to open a closed book" do
450
441
 
451
442
  before do
452
- @book = Book.open(@simple_file)
443
+ @book = Book.open(@simple_file1)
453
444
  @book.close
454
445
  end
455
446
 
456
447
  it "should use a given Excel" do
457
448
  new_excel = Excel.new(:reuse => false)
458
449
  another_excel = Excel.new(:reuse => false)
459
- Book.unobtrusively(@simple_file, another_excel) do |book|
450
+ Book.unobtrusively(@simple_file1, another_excel) do |book|
460
451
  book.excel.should_not == @book.excel
461
452
  book.excel.should_not == new_excel
462
453
  book.excel.should == another_excel
@@ -465,25 +456,25 @@ describe Book do
465
456
 
466
457
  it "should use the hidden Excel" do
467
458
  new_excel = Excel.new(:reuse => false)
468
- Book.unobtrusively(@simple_file, :hidden) do |book|
459
+ Book.unobtrusively(@simple_file1, :hidden) do |book|
469
460
  book.excel.should_not == @book.excel
470
461
  book.excel.should_not == new_excel
471
462
  book.excel.visible.should be_false
472
- book.excel.displayalerts.should be_false
463
+ book.excel.displayalerts.should == :if_visible
473
464
  @hidden_excel = book.excel
474
465
  end
475
- Book.unobtrusively(@simple_file, :hidden) do |book|
466
+ Book.unobtrusively(@simple_file1, :hidden) do |book|
476
467
  book.excel.should_not == @book.excel
477
468
  book.excel.should_not == new_excel
478
469
  book.excel.visible.should be_false
479
- book.excel.displayalerts.should be_false
470
+ book.excel.displayalerts.should == :if_visible
480
471
  book.excel.should == @hidden_excel
481
472
  end
482
473
  end
483
474
 
484
475
  it "should reuse Excel" do
485
476
  new_excel = Excel.new(:reuse => false)
486
- Book.unobtrusively(@simple_file, :reuse) do |book|
477
+ Book.unobtrusively(@simple_file1, :reuse) do |book|
487
478
  book.excel.should == @book.excel
488
479
  book.excel.should_not == new_excel
489
480
  end
@@ -491,7 +482,7 @@ describe Book do
491
482
 
492
483
  it "should reuse Excel by default" do
493
484
  new_excel = Excel.new(:reuse => false)
494
- Book.unobtrusively(@simple_file) do |book|
485
+ Book.unobtrusively(@simple_file1) do |book|
495
486
  book.excel.should == @book.excel
496
487
  book.excel.should_not == new_excel
497
488
  end
@@ -502,7 +493,7 @@ describe Book do
502
493
  context "with a read_only book" do
503
494
 
504
495
  before do
505
- @book = Book.open(@simple_file, :read_only => true)
496
+ @book = Book.open(@simple_file1, :read_only => true)
506
497
  end
507
498
 
508
499
  after do
@@ -519,7 +510,7 @@ describe Book do
519
510
  @book.Saved.should be_true
520
511
  @book.ReadOnly.should be_true
521
512
  @book.close
522
- book2 = Book.open(@simple_file)
513
+ book2 = Book.open(@simple_file1)
523
514
  sheet2 = book2.sheet(1)
524
515
  sheet2[1,1].value.should_not == old_cell_value
525
516
  end
@@ -530,7 +521,7 @@ describe Book do
530
521
  sheet[1,1] = sheet[1,1].value == "foo" ? "bar" : "foo"
531
522
  @book.Saved.should be_false
532
523
  @book.should be_alive
533
- Book.unobtrusively(@simple_file) do |book|
524
+ Book.unobtrusively(@simple_file1) do |book|
534
525
  book.should be_a Book
535
526
  sheet = book.sheet(1)
536
527
  sheet[1,1] = sheet[1,1].value == "foo" ? "bar" : "foo"
@@ -542,7 +533,7 @@ describe Book do
542
533
  @book.Saved.should be_false
543
534
  @book.ReadOnly.should be_true
544
535
  @book.close
545
- book2 = Book.open(@simple_file)
536
+ book2 = Book.open(@simple_file1)
546
537
  sheet2 = book2.sheet(1)
547
538
  # modifies unobtrusively the saved version, not the unsaved version
548
539
  sheet2[1,1].value.should == @cell_value
@@ -554,7 +545,7 @@ describe Book do
554
545
  book2.Readonly.should be_false
555
546
  sheet = @book.sheet(1)
556
547
  cell_value = sheet[1,1].value
557
- Book.unobtrusively(@simple_file, :hidden) do |book|
548
+ Book.unobtrusively(@simple_file1, :hidden) do |book|
558
549
  book.should be_a Book
559
550
  book.excel.should == book2.excel
560
551
  book.excel.should_not == @book.excel
@@ -567,14 +558,14 @@ describe Book do
567
558
  @book.ReadOnly.should be_true
568
559
  @book.close
569
560
  book2.close
570
- book3 = Book.open(@simple_file)
561
+ book3 = Book.open(@simple_file1)
571
562
  new_sheet = book3.sheet(1)
572
563
  new_sheet[1,1].value.should_not == cell_value
573
564
  book3.close
574
565
  end
575
566
 
576
567
  it "should open unobtrusively by default the book in a new Excel such that the book is writable" do
577
- book2 = Book.open(@simple_file, :force_excel => :new, :read_only => true)
568
+ book2 = Book.open(@simple_file1, :force_excel => :new, :read_only => true)
578
569
  @book.ReadOnly.should be_true
579
570
  book2.Readonly.should be_true
580
571
  sheet = @book.sheet(1)
@@ -592,14 +583,14 @@ describe Book do
592
583
  @book.ReadOnly.should be_true
593
584
  @book.close
594
585
  book2.close
595
- book3 = Book.open(@simple_file)
586
+ book3 = Book.open(@simple_file1)
596
587
  new_sheet = book3.sheet(1)
597
588
  new_sheet[1,1].value.should_not == cell_value
598
589
  book3.close
599
590
  end
600
591
 
601
592
  it "should open unobtrusively the book in a new Excel such that the book is writable" do
602
- book2 = Book.open(@simple_file, :force_excel => :new, :read_only => true)
593
+ book2 = Book.open(@simple_file1, :force_excel => :new, :read_only => true)
603
594
  @book.ReadOnly.should be_true
604
595
  book2.Readonly.should be_true
605
596
  sheet = @book.sheet(1)
@@ -617,7 +608,7 @@ describe Book do
617
608
  @book.ReadOnly.should be_true
618
609
  @book.close
619
610
  book2.close
620
- book3 = Book.open(@simple_file)
611
+ book3 = Book.open(@simple_file1)
621
612
  new_sheet = book3.sheet(1)
622
613
  new_sheet[1,1].value.should_not == cell_value
623
614
  book3.close
@@ -626,12 +617,12 @@ describe Book do
626
617
  it "should open unobtrusively the book in a new Excel to open the book writable" do
627
618
  excel1 = Excel.new(:reuse => false)
628
619
  excel2 = Excel.new(:reuse => false)
629
- book2 = Book.open(@simple_file, :force_excel => :new, :read_only => true)
620
+ book2 = Book.open(@simple_file1, :force_excel => :new, :read_only => true)
630
621
  @book.ReadOnly.should be_true
631
622
  book2.Readonly.should be_true
632
623
  sheet = @book.sheet(1)
633
624
  cell_value = sheet[1,1].value
634
- Book.unobtrusively(@simple_file, :hidden, :readonly_excel => false) do |book|
625
+ Book.unobtrusively(@simple_file1, :hidden, :readonly_excel => false) do |book|
635
626
  book.should be_a Book
636
627
  book.ReadOnly.should be_false
637
628
  book.excel.should_not == book2.excel
@@ -647,7 +638,7 @@ describe Book do
647
638
  @book.ReadOnly.should be_true
648
639
  @book.close
649
640
  book2.close
650
- book3 = Book.open(@simple_file)
641
+ book3 = Book.open(@simple_file1)
651
642
  new_sheet = book3.sheet(1)
652
643
  new_sheet[1,1].value.should_not == cell_value
653
644
  book3.close
@@ -656,12 +647,12 @@ describe Book do
656
647
  it "should open unobtrusively the book in the same Excel to open the book writable" do
657
648
  excel1 = Excel.new(:reuse => false)
658
649
  excel2 = Excel.new(:reuse => false)
659
- book2 = Book.open(@simple_file, :force_excel => :new, :read_only => true)
650
+ book2 = Book.open(@simple_file1, :force_excel => :new, :read_only => true)
660
651
  @book.ReadOnly.should be_true
661
652
  book2.Readonly.should be_true
662
653
  sheet = @book.sheet(1)
663
654
  cell_value = sheet[1,1].value
664
- Book.unobtrusively(@simple_file, :hidden, :readonly_excel => true) do |book|
655
+ Book.unobtrusively(@simple_file1, :hidden, :readonly_excel => true) do |book|
665
656
  book.should be_a Book
666
657
  book.excel.should == book2.excel
667
658
  book.ReadOnly.should be_false
@@ -674,19 +665,19 @@ describe Book do
674
665
  book2.ReadOnly.should be_false
675
666
  @book.close
676
667
  book2.close
677
- book3 = Book.open(@simple_file)
668
+ book3 = Book.open(@simple_file1)
678
669
  new_sheet = book3.sheet(1)
679
670
  new_sheet[1,1].value.should_not == cell_value
680
671
  book3.close
681
672
  end
682
673
 
683
674
  it "should open unobtrusively the book in the Excel where it was opened most recently" do
684
- book2 = Book.open(@simple_file, :force_excel => :new, :read_only => true)
675
+ book2 = Book.open(@simple_file1, :force_excel => :new, :read_only => true)
685
676
  @book.ReadOnly.should be_true
686
677
  book2.Readonly.should be_true
687
678
  sheet = @book.sheet(1)
688
679
  cell_value = sheet[1,1].value
689
- Book.unobtrusively(@simple_file, :hidden, :read_only => true) do |book|
680
+ Book.unobtrusively(@simple_file1, :hidden, :read_only => true) do |book|
690
681
  book.should be_a Book
691
682
  book.excel.should == book2.excel
692
683
  book.excel.should_not == @book.excel
@@ -727,7 +718,7 @@ describe Book do
727
718
  context "with a saved book" do
728
719
 
729
720
  before do
730
- @book1 = Book.open(@simple_file)
721
+ @book1 = Book.open(@simple_file1)
731
722
  end
732
723
 
733
724
  after do
@@ -736,7 +727,7 @@ describe Book do
736
727
 
737
728
  it "should save if the book was modified during unobtrusively" do
738
729
  m_time = File.mtime(@book1.stored_filename)
739
- Book.unobtrusively(@simple_file, :hidden) do |book|
730
+ Book.unobtrusively(@simple_file1, :hidden) do |book|
740
731
  @book1.Saved.should be_true
741
732
  book.Saved.should be_true
742
733
  sheet = book.sheet(1)
@@ -753,7 +744,7 @@ describe Book do
753
744
 
754
745
  it "should not save the book if it was not modified during unobtrusively" do
755
746
  m_time = File.mtime(@book1.stored_filename)
756
- Book.unobtrusively(@simple_file) do |book|
747
+ Book.unobtrusively(@simple_file1) do |book|
757
748
  @book1.Saved.should be_true
758
749
  book.Saved.should be_true
759
750
  sleep 1
@@ -765,7 +756,7 @@ describe Book do
765
756
 
766
757
  context "with block result" do
767
758
  before do
768
- @book1 = Book.open(@simple_file)
759
+ @book1 = Book.open(@simple_file1)
769
760
  end
770
761
 
771
762
  after do
@@ -774,7 +765,7 @@ describe Book do
774
765
 
775
766
  it "should yield the block result true" do
776
767
  result =
777
- Book.unobtrusively(@simple_file) do |book|
768
+ Book.unobtrusively(@simple_file1) do |book|
778
769
  @book1.Saved.should be_true
779
770
  end
780
771
  result.should == true
@@ -782,7 +773,7 @@ describe Book do
782
773
 
783
774
  it "should yield the block result nil" do
784
775
  result =
785
- Book.unobtrusively(@simple_file) do |book|
776
+ Book.unobtrusively(@simple_file1) do |book|
786
777
  end
787
778
  result.should == nil
788
779
  end
@@ -791,7 +782,7 @@ describe Book do
791
782
  sheet1 = @book1.sheet(1)
792
783
  cell1 = sheet1[1,1].value
793
784
  result =
794
- Book.unobtrusively(@simple_file) do |book|
785
+ Book.unobtrusively(@simple_file1) do |book|
795
786
  sheet = book.sheet(1)
796
787
  cell = sheet[1,1].value
797
788
  end
@@ -802,7 +793,7 @@ describe Book do
802
793
  sheet1 = @book1.sheet(1)
803
794
  @book1.save
804
795
  result =
805
- Book.unobtrusively(@simple_file) do |book|
796
+ Book.unobtrusively(@simple_file1) do |book|
806
797
  sheet = book.sheet(1)
807
798
  sheet[1,1] = 22
808
799
  @book1.Saved.should be_false
@@ -816,8 +807,8 @@ describe Book do
816
807
  context "with several Excel instances" do
817
808
 
818
809
  before do
819
- @book1 = Book.open(@simple_file)
820
- @book2 = Book.open(@simple_file, :force_excel => :new)
810
+ @book1 = Book.open(@simple_file1)
811
+ @book2 = Book.open(@simple_file1, :force_excel => :new)
821
812
  @book1.Readonly.should == false
822
813
  @book2.Readonly.should == true
823
814
  old_sheet = @book1.sheet(1)
@@ -829,7 +820,7 @@ describe Book do
829
820
  end
830
821
 
831
822
  it "should open unobtrusively the closed book in the most recent Excel where it was open before" do
832
- Book.unobtrusively(@simple_file) do |book|
823
+ Book.unobtrusively(@simple_file1) do |book|
833
824
  book.excel.should == @book2.excel
834
825
  book.excel.should_not == @book1.excel
835
826
  book.ReadOnly.should == false
@@ -838,13 +829,13 @@ describe Book do
838
829
  sheet[1,1] = cell.value == "foo" ? "bar" : "foo"
839
830
  book.Saved.should be_false
840
831
  end
841
- new_book = Book.open(@simple_file)
832
+ new_book = Book.open(@simple_file1)
842
833
  sheet = new_book.sheet(1)
843
834
  sheet[1,1].value.should_not == @old_cell_value
844
835
  end
845
836
 
846
837
  it "should open unobtrusively the closed book in the new hidden Excel" do
847
- Book.unobtrusively(@simple_file, :hidden) do |book|
838
+ Book.unobtrusively(@simple_file1, :hidden) do |book|
848
839
  book.excel.should_not == @book2.excel
849
840
  book.excel.should_not == @book1.excel
850
841
  book.ReadOnly.should == false
@@ -853,14 +844,14 @@ describe Book do
853
844
  sheet[1,1] = cell.value == "foo" ? "bar" : "foo"
854
845
  book.Saved.should be_false
855
846
  end
856
- new_book = Book.open(@simple_file)
847
+ new_book = Book.open(@simple_file1)
857
848
  sheet = new_book.sheet(1)
858
849
  sheet[1,1].Value.should_not == @old_cell_value
859
850
  end
860
851
 
861
852
  it "should open unobtrusively the closed book in a new Excel if the Excel is not alive anymore" do
862
- Excel.close_all
863
- Book.unobtrusively(@simple_file, :hidden) do |book|
853
+ Excel.kill_all
854
+ Book.unobtrusively(@simple_file1, :hidden) do |book|
864
855
  book.ReadOnly.should == false
865
856
  book.excel.should_not == @book1.excel
866
857
  book.excel.should_not == @book2.excel
@@ -869,7 +860,7 @@ describe Book do
869
860
  sheet[1,1] = cell.value == "foo" ? "bar" : "foo"
870
861
  book.Saved.should be_false
871
862
  end
872
- new_book = Book.open(@simple_file)
863
+ new_book = Book.open(@simple_file1)
873
864
  sheet = new_book.sheet(1)
874
865
  sheet[1,1].Value.should_not == @old_cell_value
875
866
  end
@@ -878,12 +869,12 @@ describe Book do
878
869
  context "with :hidden" do
879
870
 
880
871
  before do
881
- @book1 = Book.open(@simple_file)
872
+ @book1 = Book.open(@simple_file1)
882
873
  @book1.close
883
874
  end
884
875
 
885
876
  it "should create a new hidden Excel instance" do
886
- Book.unobtrusively(@simple_file, :hidden) do |book|
877
+ Book.unobtrusively(@simple_file1, :hidden) do |book|
887
878
  book.should be_a Book
888
879
  book.should be_alive
889
880
  book.excel.Visible.should be_false
@@ -893,7 +884,7 @@ describe Book do
893
884
 
894
885
  it "should create a new hidden Excel instance and use this afterwards" do
895
886
  hidden_excel = nil
896
- Book.unobtrusively(@simple_file, :hidden) do |book|
887
+ Book.unobtrusively(@simple_file1, :hidden) do |book|
897
888
  book.should be_a Book
898
889
  book.should be_alive
899
890
  book.excel.Visible.should be_false
@@ -911,7 +902,7 @@ describe Book do
911
902
 
912
903
  it "should create a new hidden Excel instance if the Excel is closed" do
913
904
  Excel.close_all
914
- Book.unobtrusively(@simple_file, :hidden) do |book|
905
+ Book.unobtrusively(@simple_file1, :hidden) do |book|
915
906
  book.should be_a Book
916
907
  book.should be_alive
917
908
  book.excel.Visible.should be_false
@@ -922,7 +913,7 @@ describe Book do
922
913
 
923
914
  it "should exclude hidden Excel when reuse in unobtrusively" do
924
915
  hidden_excel = nil
925
- Book.unobtrusively(@simple_file, :hidden) do |book|
916
+ Book.unobtrusively(@simple_file1, :hidden) do |book|
926
917
  book.should be_a Book
927
918
  book.should be_alive
928
919
  book.excel.Visible.should be_false
@@ -930,7 +921,7 @@ describe Book do
930
921
  book.excel.should_not == @book1.excel
931
922
  hidden_excel = book.excel
932
923
  end
933
- Book.unobtrusively(@simple_file) do |book|
924
+ Book.unobtrusively(@simple_file1) do |book|
934
925
  book.should be_a Book
935
926
  book.should be_alive
936
927
  book.excel.Visible.should be_false
@@ -941,7 +932,7 @@ describe Book do
941
932
 
942
933
  it "should exclude hidden Excel when reuse in open" do
943
934
  hidden_excel = nil
944
- Book.unobtrusively(@simple_file, :hidden) do |book|
935
+ Book.unobtrusively(@simple_file1, :hidden) do |book|
945
936
  book.should be_a Book
946
937
  book.should be_alive
947
938
  book.excel.Visible.should be_false
@@ -949,14 +940,14 @@ describe Book do
949
940
  book.excel.should_not == @book1.excel
950
941
  hidden_excel = book.excel
951
942
  end
952
- book2 = Book.open(@simple_file, :default_excel => :reuse)
943
+ book2 = Book.open(@simple_file1, :default_excel => :current)
953
944
  book2.excel.should_not == hidden_excel
954
945
  end
955
946
 
956
947
  it "should exclude hidden Excel when reuse in open" do
957
- book1 = Book.open(@simple_file)
948
+ book1 = Book.open(@simple_file1)
958
949
  book1.close
959
- book2 = Book.open(@simple_file, :default_excel => :reuse)
950
+ book2 = Book.open(@simple_file1, :default_excel => :current)
960
951
  book2.excel.should == book1.excel
961
952
  book1.should be_alive
962
953
  book2.close
@@ -969,14 +960,14 @@ describe Book do
969
960
  context "open unobtrusively for reading and modifying" do
970
961
 
971
962
  before do
972
- @book = Book.open(@simple_file)
963
+ @book = Book.open(@simple_file1)
973
964
  sheet = @book.sheet(1)
974
965
  @old_cell_value = sheet[1,1].value
975
966
  @book.close
976
967
  end
977
968
 
978
969
  it "should not change the value" do
979
- Book.for_reading(@simple_file) do |book|
970
+ Book.for_reading(@simple_file1) do |book|
980
971
  book.should be_a Book
981
972
  book.should be_alive
982
973
  book.Saved.should be_true
@@ -986,7 +977,7 @@ describe Book do
986
977
  book.Saved.should be_false
987
978
  book.excel.should == @book.excel
988
979
  end
989
- new_book = Book.open(@simple_file, :visible => true)
980
+ new_book = Book.open(@simple_file1, :visible => true)
990
981
  sheet = new_book.sheet(1)
991
982
  sheet[1,1].Value.should == @old_cell_value
992
983
  end
@@ -994,35 +985,35 @@ describe Book do
994
985
  it "should not change the value and use a given Excel" do
995
986
  new_excel = Excel.new(:reuse => false)
996
987
  another_excel = Excel.new(:reuse => false)
997
- Book.for_reading(@simple_file, another_excel) do |book|
988
+ Book.for_reading(@simple_file1, another_excel) do |book|
998
989
  sheet = book.sheet(1)
999
990
  cell = sheet[1,1]
1000
991
  sheet[1,1] = cell.value == "foo" ? "bar" : "foo"
1001
992
  book.excel.should == another_excel
1002
993
  end
1003
- new_book = Book.open(@simple_file, :visible => true)
994
+ new_book = Book.open(@simple_file1, :visible => true)
1004
995
  sheet = new_book.sheet(1)
1005
996
  sheet[1,1].Value.should == @old_cell_value
1006
997
  end
1007
998
 
1008
999
  it "should not change the value and use the hidden Excel instance" do
1009
1000
  new_excel = Excel.new(:reuse => false)
1010
- Book.for_reading(@simple_file, :hidden) do |book|
1001
+ Book.for_reading(@simple_file1, :hidden) do |book|
1011
1002
  sheet = book.sheet(1)
1012
1003
  cell = sheet[1,1]
1013
1004
  sheet[1,1] = cell.value == "foo" ? "bar" : "foo"
1014
1005
  book.excel.should_not == @book.excel
1015
1006
  book.excel.should_not == new_excel
1016
1007
  book.excel.visible.should be_false
1017
- book.excel.displayalerts.should be_false
1008
+ book.excel.displayalerts.should == :if_visible
1018
1009
  end
1019
- new_book = Book.open(@simple_file, :visible => true)
1010
+ new_book = Book.open(@simple_file1, :visible => true)
1020
1011
  sheet = new_book.sheet(1)
1021
1012
  sheet[1,1].Value.should == @old_cell_value
1022
1013
  end
1023
1014
 
1024
1015
  it "should change the value" do
1025
- Book.for_modifying(@simple_file) do |book|
1016
+ Book.for_modifying(@simple_file1) do |book|
1026
1017
  sheet = book.sheet(1)
1027
1018
  cell = sheet[1,1]
1028
1019
  sheet[1,1] = cell.value == "foo" ? "bar" : "foo"
@@ -1036,29 +1027,29 @@ describe Book do
1036
1027
  it "should change the value and use a given Excel" do
1037
1028
  new_excel = Excel.new(:reuse => false)
1038
1029
  another_excel = Excel.new(:reuse => false)
1039
- Book.for_modifying(@simple_file, another_excel) do |book|
1030
+ Book.for_modifying(@simple_file1, another_excel) do |book|
1040
1031
  sheet = book.sheet(1)
1041
1032
  cell = sheet[1,1]
1042
1033
  sheet[1,1] = cell.value == "foo" ? "bar" : "foo"
1043
1034
  book.excel.should == another_excel
1044
1035
  end
1045
- new_book = Book.open(@simple_file, :visible => true)
1036
+ new_book = Book.open(@simple_file1, :visible => true)
1046
1037
  sheet = new_book.sheet(1)
1047
1038
  sheet[1,1].Value.should_not == @old_cell_value
1048
1039
  end
1049
1040
 
1050
1041
  it "should change the value and use the hidden Excel instance" do
1051
1042
  new_excel = Excel.new(:reuse => false)
1052
- Book.for_modifying(@simple_file, :hidden) do |book|
1043
+ Book.for_modifying(@simple_file1, :hidden) do |book|
1053
1044
  sheet = book.sheet(1)
1054
1045
  cell = sheet[1,1]
1055
1046
  sheet[1,1] = cell.value == "foo" ? "bar" : "foo"
1056
1047
  book.excel.should_not == @book.excel
1057
1048
  book.excel.should_not == new_excel
1058
1049
  book.excel.visible.should be_false
1059
- book.excel.displayalerts.should be_false
1050
+ book.excel.displayalerts.should == :if_visible
1060
1051
  end
1061
- new_book = Book.open(@simple_file, :visible => true)
1052
+ new_book = Book.open(@simple_file1, :visible => true)
1062
1053
  sheet = new_book.sheet(1)
1063
1054
  sheet[1,1].Value.should_not == @old_cell_value
1064
1055
  end