robust_excel_ole 1.1.6 → 1.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eb0b1d72f09a87508b2d3f42a909b76de9230232
4
- data.tar.gz: 54e2a4230a0833cb672881a49da5e105b3b74895
3
+ metadata.gz: 11b718a2903204d3521cdfad3ef539537841dd06
4
+ data.tar.gz: 07a2911b36560a7f505c17914ed441c3ee2add3c
5
5
  SHA512:
6
- metadata.gz: de86c09449b9bc6c93915ef14cb898077d6243bc19012ce002a81a5d6828f8c4cb5ffaee8ed7a75c1d7ae0f8e1ad77b92dbd5d194af44393714578c2149c5a11
7
- data.tar.gz: b43dfe70f03b3197d09710eeccb72fc696ae425b65b8a3ffbe36a94b0b61ce0a03e91ceb2929631aa33f22648f90362e1623d818b54b0e2fe97a5a00c971f39e
6
+ metadata.gz: 7086927359fd13e8f573ab33eb7aa81ba8d7f19ffcdf1b42d2a61fdfa02414bcfbeabc6846114a0eebddf30b8f28f5d14682f756222122b404bf237bc784a217
7
+ data.tar.gz: eb1e7673ba0fbb4402e8fd81669a2f9d80b75f7305044aa8093ca15260d3573178c6e30c79e671e9ed6997b6e1b79bbf30301b86ca78e60124faed430b82c4c2
@@ -1,3 +1,3 @@
1
1
  module RobustExcelOle
2
- VERSION = "1.1.6"
2
+ VERSION = "1.2"
3
3
  end
data/spec/book_spec.rb CHANGED
@@ -375,7 +375,7 @@ describe Book do
375
375
 
376
376
  context "with :if_unsaved => :alert or :if_unsaved => :excel" do
377
377
  before do
378
- @key_sender = IO.popen 'ruby "' + File.join(File.dirname(__FILE__), '/helpers/key_sender.rb') + '" "Microsoft Office Excel" ' , "w"
378
+ @key_sender = IO.popen 'ruby "' + File.join(File.dirname(__FILE__), '/helpers/key_sender.rb') + '" "Microsoft Excel" ' , "w"
379
379
  end
380
380
 
381
381
  after do
@@ -398,9 +398,9 @@ describe Book do
398
398
  @key_sender.puts "{right}{enter}"
399
399
  @key_sender.puts "{right}{enter}"
400
400
  @key_sender.puts "{right}{enter}"
401
- #expect{
402
- # Book.open(@simple_file, :if_unsaved => :alert)
403
- # }.to raise_error(ExcelREOError, /user canceled or runtime error/)
401
+ expect{
402
+ Book.open(@simple_file, :if_unsaved => :alert)
403
+ }.to raise_error(UnexpectedREOError)
404
404
  @book.should be_alive
405
405
  end
406
406
 
@@ -420,9 +420,9 @@ describe Book do
420
420
  @key_sender.puts "{right}{enter}"
421
421
  @key_sender.puts "{right}{enter}"
422
422
  @key_sender.puts "{right}{enter}"
423
- #expect{
424
- # Book.open(@simple_file, :if_unsaved => :excel)
425
- # }.to raise_error(ExcelREOError, /user canceled or runtime error/)
423
+ expect{
424
+ Book.open(@simple_file, :if_unsaved => :excel)
425
+ }.to raise_error(UnexpectedREOError)
426
426
  @book.should be_alive
427
427
  end
428
428
 
@@ -1223,7 +1223,7 @@ describe Book do
1223
1223
  context "with focus" do
1224
1224
 
1225
1225
  before do
1226
- @key_sender = IO.popen 'ruby "' + File.join(File.dirname(__FILE__), '/helpers/key_sender.rb') + '" "Microsoft Office Excel" ' , "w"
1226
+ @key_sender = IO.popen 'ruby "' + File.join(File.dirname(__FILE__), '/helpers/key_sender.rb') + '" "Microsoft Excel" ' , "w"
1227
1227
  @book = Book.open(@simple_file, :visible => true)
1228
1228
  @book2 = Book.open(@another_simple_file, :visible => true)
1229
1229
  end
@@ -1044,7 +1044,7 @@ describe Book do
1044
1044
  context "with focus" do
1045
1045
 
1046
1046
  before do
1047
- @key_sender = IO.popen 'ruby "' + File.join(File.dirname(__FILE__), '../helpers/key_sender.rb') + '" "Microsoft Office Excel" ' , "w"
1047
+ @key_sender = IO.popen 'ruby "' + File.join(File.dirname(__FILE__), '../helpers/key_sender.rb') + '" "Microsoft Excel" ' , "w"
1048
1048
  @book = Book.open(@simple_file, :visible => true)
1049
1049
  @book.excel.displayalerts = false
1050
1050
  @book2 = Book.open(@another_simple_file, :visible => true)
@@ -1599,60 +1599,34 @@ describe Book do
1599
1599
  context "with :if_unsaved" do
1600
1600
 
1601
1601
  before do
1602
- @book = Book.open(@simple_file1)
1603
- sheet = @book.sheet(1)
1604
- #@book.add_sheet(@sheet, :as => 'a_name')
1605
- @old_value = sheet[1,1].Value
1606
- sheet[1,1] = (sheet[1,1].value == "foo" ? "bar" : "foo")
1607
- @new_value = sheet[1,1].Value
1608
- @book.Saved.should be false
1602
+ @book = Book.open(@simple_file)
1603
+ @sheet = @book.sheet(1)
1604
+ @book.add_sheet(@sheet, :as => 'a_name')
1609
1605
  end
1610
1606
 
1611
1607
  after do
1612
1608
  @book.close(:if_unsaved => :forget)
1613
- end
1614
-
1615
- it "should open the book in a new excel instance, if :if_unsaved is :new_excel" do
1616
- new_book = Book.open(@simple_file1, :if_unsaved => :new_excel)
1617
- new_book.excel.should_not == @book.excel
1618
- @book.should be_alive
1619
- @book.Saved.should be false
1620
- new_book.should be_alive
1621
- new_book.Saved.should be true
1622
- new_book.sheet(1)[1,1].Value.should == @old_value
1623
- #new_book.filename.should == @book.filename
1624
- new_book.excel.should_not == @book.excel
1625
- new_book.close
1609
+ @new_book.close rescue nil
1626
1610
  end
1627
1611
 
1628
1612
  it "should raise an error, if :if_unsaved is :raise" do
1629
1613
  expect {
1630
- new_book = Book.open(@simple_file1, :if_unsaved => :raise)
1614
+ @new_book = Book.open(@simple_file, :if_unsaved => :raise)
1631
1615
  }.to raise_error(WorkbookNotSaved, /workbook is already open but not saved: "workbook.xls"/)
1632
1616
  end
1633
1617
 
1634
1618
  it "should let the book open, if :if_unsaved is :accept" do
1635
- new_book = Book.open(@simple_file1, :if_unsaved => :accept)
1619
+ expect {
1620
+ @new_book = Book.open(@simple_file, :if_unsaved => :accept)
1621
+ }.to_not raise_error
1636
1622
  @book.should be_alive
1637
- new_book.should be_alive
1638
- new_book.Saved.should be false
1639
- @book.Saved.should be false
1640
- new_book.sheet(1)[1,1].Value.should == @new_value
1641
- new_book.should == @book
1642
- end
1643
-
1644
- it "should open book and close old book, if :if_unsaved is :forget" do
1645
- new_book = Book.open(@simple_file1, :if_unsaved => :forget)
1646
- @book.should_not be_alive
1647
- new_book.should be_alive
1648
- new_book.Saved.should be true
1649
- new_book.sheet(1)[1,1].Value.should == @old_value
1650
- #@new_book.filename.downcase.should == @simple_file.downcase
1623
+ @new_book.should be_alive
1624
+ @new_book.should == @book
1651
1625
  end
1652
1626
 
1653
- context "with :if_unsaved => :alert" do
1627
+ context "with :if_unsaved => :alert or :if_unsaved => :excel" do
1654
1628
  before do
1655
- @key_sender = IO.popen 'ruby "' + File.join(File.dirname(__FILE__), '../helpers/key_sender.rb') + '" "Microsoft Office Excel" ' , "w"
1629
+ @key_sender = IO.popen 'ruby "' + File.join(File.dirname(__FILE__), '../helpers/key_sender.rb') + '" "Microsoft Excel" ' , "w"
1656
1630
  end
1657
1631
 
1658
1632
  after do
@@ -1662,16 +1636,12 @@ describe Book do
1662
1636
  it "should open the new book and close the unsaved book, if user answers 'yes'" do
1663
1637
  # "Yes" is the default. --> language independent
1664
1638
  @key_sender.puts "{enter}"
1665
- new_book = Book.open(@simple_file1, :if_unsaved => :alert)
1666
- new_book.should be_alive
1667
- #@book.should_not be_alive
1668
- #new_book.filename.downcase.should == @simple_file.downcase
1669
- new_book.Saved.should be true
1670
- new_book.sheet(1)[1,1].Value.should == @old_value
1639
+ @new_book = Book.open(@simple_file1, :if_unsaved => :alert)
1640
+ @new_book.should be_alive
1641
+ @new_book.filename.downcase.should == @simple_file1.downcase
1642
+ @book.should_not be_alive
1671
1643
  end
1672
- end
1673
- =begin
1674
- # only for Excel2007:
1644
+
1675
1645
  it "should not open the new book and not close the unsaved book, if user answers 'no'" do
1676
1646
  # "No" is right to "Yes" (the default). --> language independent
1677
1647
  # strangely, in the "no" case, the question will sometimes be repeated three times
@@ -1680,33 +1650,20 @@ describe Book do
1680
1650
  @key_sender.puts "{right}{enter}"
1681
1651
  @key_sender.puts "{right}{enter}"
1682
1652
  expect{
1683
- Book.open(@simple_file1, :if_unsaved => :alert)
1684
- }.to raise_error(ExcelREOError, "user canceled or runtime error")
1653
+ Book.open(@simple_file, :if_unsaved => :alert)
1654
+ }.to raise_error(UnexpectedREOError)
1685
1655
  @book.should be_alive
1686
1656
  end
1687
-
1688
- =end
1689
-
1690
- context "with :if_unsaved => :excel" do
1691
- before do
1692
- @key_sender = IO.popen 'ruby "' + File.join(File.dirname(__FILE__), '../helpers/key_sender.rb') + '" "Microsoft Office Excel" ' , "w"
1693
- end
1694
-
1695
- after do
1696
- @key_sender.close
1697
- end
1698
1657
 
1699
1658
  it "should open the new book and close the unsaved book, if user answers 'yes'" do
1700
1659
  # "Yes" is the default. --> language independent
1701
1660
  @key_sender.puts "{enter}"
1702
- new_book = Book.open(@simple_file1, :if_unsaved => :excel)
1703
- new_book.should be_alive
1661
+ @new_book = Book.open(@simple_file1, :if_unsaved => :excel)
1662
+ @new_book.should be_alive
1663
+ @new_book.filename.downcase.should == @simple_file1.downcase
1704
1664
  #@book.should_not be_alive
1705
- new_book.Saved.should be true
1706
- new_book.sheet(1)[1,1].Value.should == @old_value
1707
1665
  end
1708
1666
 
1709
- =begin
1710
1667
  it "should not open the new book and not close the unsaved book, if user answers 'no'" do
1711
1668
  # "No" is right to "Yes" (the default). --> language independent
1712
1669
  # strangely, in the "no" case, the question will sometimes be repeated three times
@@ -1715,24 +1672,11 @@ describe Book do
1715
1672
  @key_sender.puts "{right}{enter}"
1716
1673
  @key_sender.puts "{right}{enter}"
1717
1674
  expect{
1718
- Book.open(@simple_file1, :if_unsaved => :excel)
1719
- }.to raise_error(ExcelREOError, "user canceled or runtime error")
1675
+ Book.open(@simple_file, :if_unsaved => :excel)
1676
+ }.to raise_error(UnexpectedREOError)
1720
1677
  @book.should be_alive
1721
1678
  end
1722
- =end
1723
-
1724
- end
1725
-
1726
- it "should raise an error, if :if_unsaved is default" do
1727
- expect {
1728
- new_book = Book.open(@simple_file1, :if_unsaved => :raise)
1729
- }.to raise_error(WorkbookNotSaved, /workbook is already open but not saved: "workbook.xls"/)
1730
- end
1731
1679
 
1732
- it "should raise an error, if :if_unsaved is invalid option" do
1733
- expect {
1734
- new_book = Book.open(@simple_file1, :if_unsaved => :invalid_option)
1735
- }.to raise_error(OptionInvalid, ":if_unsaved: invalid option: :invalid_option")
1736
1680
  end
1737
1681
  end
1738
1682
 
@@ -36,7 +36,7 @@ describe Book do
36
36
 
37
37
  after do
38
38
  Excel.kill_all
39
- # rm_tmp(@dir)
39
+ #rm_tmp(@dir)
40
40
  end
41
41
 
42
42
  describe "save" do
@@ -380,7 +380,9 @@ describe Book do
380
380
 
381
381
  it "should save if user answers 'yes'" do
382
382
  # "Yes" is to the left of "No", which is the default. --> language independent
383
- @key_sender.puts "{left}{enter}" #, :initial_wait => 0.2, :if_target_missing=>"Excel window not found")
383
+ @key_sender.puts "{right}{right}{right}{enter}" #, :initial_wait => 0.2, :if_target_missing=>"Excel window not found")
384
+ #@key_sender.puts "{left}{enter}"
385
+ #@key_sender.puts "{left}{enter}"
384
386
  @book.save_as(@simple_save_file1, :if_exists => :alert)
385
387
  File.exist?(@simple_save_file1).should be true
386
388
  File.size?(@simple_save_file1).should > @garbage_length
@@ -390,14 +392,12 @@ describe Book do
390
392
  new_book.close
391
393
  @book.excel.DisplayAlerts.should == displayalert_value
392
394
  end
393
-
394
395
  it "should not save if user answers 'no'" do
395
396
  # Just give the "Enter" key, because "No" is the default. --> language independent
396
397
  # strangely, in the "no" case, the question will sometimes be repeated three times
397
398
  @key_sender.puts "{enter}"
398
399
  @key_sender.puts "{enter}"
399
400
  @key_sender.puts "{enter}"
400
- #@key_sender.puts "%{n}" #, :initial_wait => 0.2, :if_target_missing=>"Excel window not found")
401
401
  @book.save_as(@simple_save_file1, :if_exists => :alert)
402
402
  File.exist?(@simple_save_file1).should be true
403
403
  File.size?(@simple_save_file1).should == @garbage_length
@@ -410,7 +410,6 @@ describe Book do
410
410
  @key_sender.puts "{right}{enter}"
411
411
  @key_sender.puts "{right}{enter}"
412
412
  @key_sender.puts "{right}{enter}"
413
- #@key_sender.puts "%{n}" #, :initial_wait => 0.2, :if_target_missing=>"Excel window not found")
414
413
  @book.save_as(@simple_save_file1, :if_exists => :alert)
415
414
  File.exist?(@simple_save_file1).should be true
416
415
  File.size?(@simple_save_file1).should == @garbage_length
@@ -435,7 +434,9 @@ describe Book do
435
434
 
436
435
  it "should save if user answers 'yes'" do
437
436
  # "Yes" is to the left of "No", which is the default. --> language independent
438
- @key_sender.puts "{left}{enter}" #, :initial_wait => 0.2, :if_target_missing=>"Excel window not found")
437
+ @key_sender.puts "{right}{right}{right}{enter}" #, :initial_wait => 0.2, :if_target_missing=>"Excel window not found")
438
+ #@key_sender.puts "{left}{enter}"
439
+ #@key_sender.puts "{left}{enter}"
439
440
  @book.save_as(@simple_save_file1, :if_exists => :excel)
440
441
  File.exist?(@simple_save_file1).should be true
441
442
  File.size?(@simple_save_file1).should > @garbage_length
@@ -443,6 +444,7 @@ describe Book do
443
444
  new_book = Book.open(@simple_save_file1, :excel => :new)
444
445
  new_book.should be_a Book
445
446
  new_book.close
447
+
446
448
  @book.excel.DisplayAlerts.should == displayalert_value
447
449
  end
448
450
 
@@ -452,7 +454,6 @@ describe Book do
452
454
  @key_sender.puts "{enter}"
453
455
  @key_sender.puts "{enter}"
454
456
  @key_sender.puts "{enter}"
455
- #@key_sender.puts "%{n}" #, :initial_wait => 0.2, :if_target_missing=>"Excel window not found")
456
457
  @book.save_as(@simple_save_file1, :if_exists => :excel)
457
458
  File.exist?(@simple_save_file1).should be true
458
459
  File.size?(@simple_save_file1).should == @garbage_length
@@ -60,7 +60,8 @@ class KeySender # :nodoc: #
60
60
  end
61
61
 
62
62
  if __FILE__ == $0
63
- key_sender = KeySender.new(ARGV[1])
63
+ key_sender = KeySender.new(ARGV[0])
64
+ #key_sender = KeySender.new(ARGV[1])
64
65
  while not $stdin.eof? do
65
66
  key_sequence = $stdin.gets.chomp
66
67
  key_sender.send key_sequence
data/spec/sheet_spec.rb CHANGED
@@ -35,7 +35,7 @@ describe Sheet do
35
35
  describe ".initialize" do
36
36
  context "when open sheet protected(with password is 'protect')" do
37
37
  before do
38
- @key_sender = IO.popen 'ruby "' + File.join(File.dirname(__FILE__), '/helpers/key_sender.rb') + '" "Microsoft Office Excel" ' , "w"
38
+ @key_sender = IO.popen 'ruby "' + File.join(File.dirname(__FILE__), '/helpers/key_sender.rb') + '" "Microsoft Excel" ' , "w"
39
39
  @book_protect = Book.open(@protected_file, :visible => true, :read_only => true, :force_excel => :new)
40
40
  @book_protect.excel.displayalerts = false
41
41
  @key_sender.puts "{p}{r}{o}{t}{e}{c}{t}{enter}"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: robust_excel_ole
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.6
4
+ version: '1.2'
5
5
  platform: ruby
6
6
  authors:
7
7
  - traths
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-20 00:00:00.000000000 Z
11
+ date: 2018-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec