robust_excel_ole 1.16 → 1.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/docs/README_open.rdoc +4 -0
- data/lib/robust_excel_ole.rb +5 -4
- data/lib/robust_excel_ole/{address.rb → address_tool.rb} +23 -22
- data/lib/robust_excel_ole/{reo_common.rb → base.rb} +2 -90
- data/lib/robust_excel_ole/bookstore.rb +2 -2
- data/lib/robust_excel_ole/cell.rb +21 -17
- data/lib/robust_excel_ole/excel.rb +64 -26
- data/lib/robust_excel_ole/general.rb +7 -5
- data/lib/robust_excel_ole/range.rb +15 -7
- data/lib/robust_excel_ole/range_owners.rb +18 -6
- data/lib/robust_excel_ole/version.rb +1 -1
- data/lib/robust_excel_ole/workbook.rb +140 -147
- data/lib/robust_excel_ole/worksheet.rb +7 -7
- data/spec/address_tool_spec.rb +175 -0
- data/spec/{reo_common_spec.rb → base_spec.rb} +10 -29
- data/spec/cell_spec.rb +67 -25
- data/spec/data/more_data/workbook.xls +0 -0
- data/spec/data/workbook.xls +0 -0
- data/spec/excel_spec.rb +25 -273
- data/spec/general_spec.rb +16 -19
- data/spec/range_spec.rb +1 -1
- data/spec/workbook_spec.rb +7 -75
- data/spec/workbook_specs/workbook_misc_spec.rb +10 -10
- data/spec/workbook_specs/workbook_open_spec.rb +228 -14
- data/spec/workbook_specs/workbook_unobtr_spec.rb +31 -31
- metadata +6 -6
- data/spec/address_spec.rb +0 -174
@@ -384,7 +384,7 @@ describe Workbook do
|
|
384
384
|
book.visible.should be false
|
385
385
|
book.writable.should be true
|
386
386
|
book.sheet(1)[1,1] = book.sheet(1)[1,1].Value == "foo" ? "bar" : "foo"
|
387
|
-
@new_value = book.sheet(1)[1,1].
|
387
|
+
@new_value = book.sheet(1)[1,1].Value
|
388
388
|
book.Saved.should be false
|
389
389
|
end
|
390
390
|
ole_wb = WIN32OLE.connect(@abs_filename)
|
@@ -393,8 +393,8 @@ describe Workbook do
|
|
393
393
|
ole_wb.ReadOnly.should be false
|
394
394
|
ole_wb.Close
|
395
395
|
book2 = Workbook.open(@simple_file1)
|
396
|
-
book2.sheet(1)[1,1].
|
397
|
-
book2.sheet(1)[1,1].
|
396
|
+
book2.sheet(1)[1,1].Value.should_not == @old_value
|
397
|
+
book2.sheet(1)[1,1].Value.should == @new_value
|
398
398
|
end
|
399
399
|
|
400
400
|
it "should modify and remain saved-status and not save the new value when writable => false" do
|
@@ -403,7 +403,7 @@ describe Workbook do
|
|
403
403
|
book.visible.should be false
|
404
404
|
book.writable.should be true
|
405
405
|
book.sheet(1)[1,1] = book.sheet(1)[1,1].Value == "foo" ? "bar" : "foo"
|
406
|
-
@new_value = book.sheet(1)[1,1].
|
406
|
+
@new_value = book.sheet(1)[1,1].Value
|
407
407
|
book.Saved.should be false
|
408
408
|
end
|
409
409
|
ole_wb = WIN32OLE.connect(@abs_filename)
|
@@ -412,8 +412,8 @@ describe Workbook do
|
|
412
412
|
ole_wb.ReadOnly.should be false
|
413
413
|
ole_wb.Close
|
414
414
|
book2 = Workbook.open(@simple_file1)
|
415
|
-
book2.sheet(1)[1,1].
|
416
|
-
book2.sheet(1)[1,1].
|
415
|
+
book2.sheet(1)[1,1].Value.should == @old_value
|
416
|
+
book2.sheet(1)[1,1].Value.should_not == @new_value
|
417
417
|
end
|
418
418
|
|
419
419
|
end
|
@@ -518,8 +518,8 @@ describe Workbook do
|
|
518
518
|
ole_wb.ReadOnly.should be false
|
519
519
|
Excel.kill_all
|
520
520
|
book2 = Workbook.open(@simple_file1)
|
521
|
-
book2.sheet(1)[1,1].
|
522
|
-
book2.sheet(1)[1,1].
|
521
|
+
book2.sheet(1)[1,1].Value.should_not == @old_value
|
522
|
+
book2.sheet(1)[1,1].Value.should == @new_value
|
523
523
|
end
|
524
524
|
|
525
525
|
it "should not write with :writable => false" do
|
@@ -539,8 +539,8 @@ describe Workbook do
|
|
539
539
|
ole_wb.ReadOnly.should be false
|
540
540
|
Excel.kill_all
|
541
541
|
book2 = Workbook.open(@simple_file1)
|
542
|
-
book2.sheet(1)[1,1].
|
543
|
-
book2.sheet(1)[1,1].
|
542
|
+
book2.sheet(1)[1,1].Value.should == @old_value
|
543
|
+
book2.sheet(1)[1,1].Value.should_not == @new_value
|
544
544
|
end
|
545
545
|
|
546
546
|
end
|
@@ -596,8 +596,8 @@ describe Workbook do
|
|
596
596
|
ole_wb.ReadOnly.should be true
|
597
597
|
ole_wb.Close
|
598
598
|
book2 = Workbook.open(@simple_file1)
|
599
|
-
book2.sheet(1)[1,1].
|
600
|
-
book2.sheet(1)[1,1].
|
599
|
+
book2.sheet(1)[1,1].Value.should == @old_value
|
600
|
+
book2.sheet(1)[1,1].Value.should_not == @new_value
|
601
601
|
end
|
602
602
|
|
603
603
|
it "should remain read-only when modifying" do
|
@@ -614,8 +614,8 @@ describe Workbook do
|
|
614
614
|
ole_wb.ReadOnly.should be true
|
615
615
|
ole_wb.Close
|
616
616
|
book2 = Workbook.open(@simple_file1)
|
617
|
-
book2.sheet(1)[1,1].
|
618
|
-
book2.sheet(1)[1,1].
|
617
|
+
book2.sheet(1)[1,1].Value.should_not == @old_value
|
618
|
+
book2.sheet(1)[1,1].Value.should == @new_value
|
619
619
|
end
|
620
620
|
|
621
621
|
it "should remain read-only when modifying" do
|
@@ -632,8 +632,8 @@ describe Workbook do
|
|
632
632
|
ole_wb.ReadOnly.should be true
|
633
633
|
ole_wb.Close
|
634
634
|
book2 = Workbook.open(@simple_file1)
|
635
|
-
book2.sheet(1)[1,1].
|
636
|
-
book2.sheet(1)[1,1].
|
635
|
+
book2.sheet(1)[1,1].Value.should_not == @old_value
|
636
|
+
book2.sheet(1)[1,1].Value.should == @new_value
|
637
637
|
end
|
638
638
|
|
639
639
|
it "should remain read-only when modifying and not save changes, when :writable => false" do
|
@@ -650,8 +650,8 @@ describe Workbook do
|
|
650
650
|
ole_wb.ReadOnly.should be true
|
651
651
|
ole_wb.Close
|
652
652
|
book2 = Workbook.open(@simple_file1)
|
653
|
-
book2.sheet(1)[1,1].
|
654
|
-
book2.sheet(1)[1,1].
|
653
|
+
book2.sheet(1)[1,1].Value.should == @old_value
|
654
|
+
book2.sheet(1)[1,1].Value.should_not == @new_value
|
655
655
|
end
|
656
656
|
|
657
657
|
it "should remain read-only when modifying and not save changes, when :writable => false" do
|
@@ -668,8 +668,8 @@ describe Workbook do
|
|
668
668
|
ole_wb.ReadOnly.should be true
|
669
669
|
ole_wb.Close
|
670
670
|
book2 = Workbook.open(@simple_file1)
|
671
|
-
book2.sheet(1)[1,1].
|
672
|
-
book2.sheet(1)[1,1].
|
671
|
+
book2.sheet(1)[1,1].Value.should == @old_value
|
672
|
+
book2.sheet(1)[1,1].Value.should_not == @new_value
|
673
673
|
end
|
674
674
|
|
675
675
|
|
@@ -687,8 +687,8 @@ describe Workbook do
|
|
687
687
|
ole_wb.ReadOnly.should be true
|
688
688
|
ole_wb.Close
|
689
689
|
book2 = Workbook.open(@simple_file1)
|
690
|
-
book2.sheet(1)[1,1].
|
691
|
-
book2.sheet(1)[1,1].
|
690
|
+
book2.sheet(1)[1,1].Value.should == @old_value
|
691
|
+
book2.sheet(1)[1,1].Value.should_not == @new_value
|
692
692
|
end
|
693
693
|
|
694
694
|
it "should remain read-only when modifying and not save changes, even if :writable => true" do
|
@@ -705,8 +705,8 @@ describe Workbook do
|
|
705
705
|
ole_wb.ReadOnly.should be true
|
706
706
|
ole_wb.Close
|
707
707
|
book2 = Workbook.open(@simple_file1)
|
708
|
-
book2.sheet(1)[1,1].
|
709
|
-
book2.sheet(1)[1,1].
|
708
|
+
book2.sheet(1)[1,1].Value.should == @old_value
|
709
|
+
book2.sheet(1)[1,1].Value.should_not == @new_value
|
710
710
|
end
|
711
711
|
|
712
712
|
it "should remain read-only when modifying and not save changes, when :writable => false" do
|
@@ -723,8 +723,8 @@ describe Workbook do
|
|
723
723
|
ole_wb.ReadOnly.should be true
|
724
724
|
Excel.kill_all
|
725
725
|
book2 = Workbook.open(@simple_file1)
|
726
|
-
book2.sheet(1)[1,1].
|
727
|
-
book2.sheet(1)[1,1].
|
726
|
+
book2.sheet(1)[1,1].Value.should == @old_value
|
727
|
+
book2.sheet(1)[1,1].Value.should_not == @new_value
|
728
728
|
end
|
729
729
|
|
730
730
|
|
@@ -935,7 +935,7 @@ describe Workbook do
|
|
935
935
|
book.ReadOnly.should be true
|
936
936
|
book.should == @book
|
937
937
|
book.filename.should == @book.filename
|
938
|
-
book.excel.
|
938
|
+
book.excel.should_not == @book.excel
|
939
939
|
book.sheet(1)[1,1] = book.sheet(1)[1,1].Value == "foo" ? "bar" : "foo"
|
940
940
|
end
|
941
941
|
}.to raise_error(WorkbookReadOnly)
|
@@ -1013,7 +1013,7 @@ describe Workbook do
|
|
1013
1013
|
book.Readonly.should be false
|
1014
1014
|
book.should == @book
|
1015
1015
|
book.filename.should == @book.filename
|
1016
|
-
book.excel.
|
1016
|
+
book.excel.should_not == @book.excel
|
1017
1017
|
book.sheet(1)[1,1] = book.sheet(1)[1,1].Value == "foo" ? "bar" : "foo"
|
1018
1018
|
end
|
1019
1019
|
@book.close
|
@@ -1026,7 +1026,7 @@ describe Workbook do
|
|
1026
1026
|
book.Readonly.should be false
|
1027
1027
|
book.should == @book
|
1028
1028
|
book.filename.should == @book.filename
|
1029
|
-
book.excel.
|
1029
|
+
book.excel.should_not == @book.excel
|
1030
1030
|
book.sheet(1)[1,1] = book.sheet(1)[1,1].Value == "foo" ? "bar" : "foo"
|
1031
1031
|
end
|
1032
1032
|
@book.close
|
@@ -1612,7 +1612,7 @@ describe Workbook do
|
|
1612
1612
|
Workbook.unobtrusively(@simple_file) do |book|
|
1613
1613
|
book.should be_a Workbook
|
1614
1614
|
book.excel.Visible.should be false
|
1615
|
-
book.CheckCompatibility.should be
|
1615
|
+
book.CheckCompatibility.should be true
|
1616
1616
|
book.ReadOnly.should be false
|
1617
1617
|
end
|
1618
1618
|
end
|
@@ -1677,7 +1677,7 @@ describe Workbook do
|
|
1677
1677
|
expect{
|
1678
1678
|
Workbook.unobtrusively(@simple_file, :if_closed => :invalid_option) do |book|
|
1679
1679
|
end
|
1680
|
-
}.to raise_error(TypeREOError, "
|
1680
|
+
}.to raise_error(TypeREOError, "provided Excel option value is neither an Excel object nor a valid option")
|
1681
1681
|
end
|
1682
1682
|
|
1683
1683
|
end
|
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.
|
4
|
+
version: '1.17'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- traths
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -85,7 +85,8 @@ files:
|
|
85
85
|
- lib/jreo_console.rb
|
86
86
|
- lib/reo_console.rb
|
87
87
|
- lib/robust_excel_ole.rb
|
88
|
-
- lib/robust_excel_ole/
|
88
|
+
- lib/robust_excel_ole/address_tool.rb
|
89
|
+
- lib/robust_excel_ole/base.rb
|
89
90
|
- lib/robust_excel_ole/bookstore.rb
|
90
91
|
- lib/robust_excel_ole/cell.rb
|
91
92
|
- lib/robust_excel_ole/cygwin.rb
|
@@ -93,7 +94,6 @@ files:
|
|
93
94
|
- lib/robust_excel_ole/general.rb
|
94
95
|
- lib/robust_excel_ole/range.rb
|
95
96
|
- lib/robust_excel_ole/range_owners.rb
|
96
|
-
- lib/robust_excel_ole/reo_common.rb
|
97
97
|
- lib/robust_excel_ole/robustexcelole.sublime-project
|
98
98
|
- lib/robust_excel_ole/robustexcelole.sublime-workspace
|
99
99
|
- lib/robust_excel_ole/version.rb
|
@@ -102,7 +102,8 @@ files:
|
|
102
102
|
- lib/spec_helper.rb
|
103
103
|
- reo.bat
|
104
104
|
- robust_excel_ole.gemspec
|
105
|
-
- spec/
|
105
|
+
- spec/address_tool_spec.rb
|
106
|
+
- spec/base_spec.rb
|
106
107
|
- spec/bookstore_spec.rb
|
107
108
|
- spec/cell_spec.rb
|
108
109
|
- spec/cygwin_spec.rb
|
@@ -126,7 +127,6 @@ files:
|
|
126
127
|
- spec/helpers/create_temporary_dir.rb
|
127
128
|
- spec/helpers/key_sender.rb
|
128
129
|
- spec/range_spec.rb
|
129
|
-
- spec/reo_common_spec.rb
|
130
130
|
- spec/spec_helper.rb
|
131
131
|
- spec/workbook_spec.rb
|
132
132
|
- spec/workbook_specs/workbook_all_spec.rb
|
data/spec/address_spec.rb
DELETED
@@ -1,174 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
|
3
|
-
require File.join(File.dirname(__FILE__), './spec_helper')
|
4
|
-
require File.expand_path( '../../lib/robust_excel_ole/reo_common', __FILE__)
|
5
|
-
|
6
|
-
$VERBOSE = nil
|
7
|
-
|
8
|
-
include General
|
9
|
-
include RobustExcelOle
|
10
|
-
|
11
|
-
module RobustExcelOle
|
12
|
-
|
13
|
-
describe Address do
|
14
|
-
|
15
|
-
before(:all) do
|
16
|
-
excel = Excel.new(:reuse => true)
|
17
|
-
open_books = excel == nil ? 0 : excel.Workbooks.Count
|
18
|
-
puts "*** open books *** : #{open_books}" if open_books > 0
|
19
|
-
Excel.kill_all
|
20
|
-
@dir = create_tmpdir
|
21
|
-
@simple_file = @dir + '/workbook.xls'
|
22
|
-
@book = Workbook.open(@simple_file)
|
23
|
-
end
|
24
|
-
|
25
|
-
after(:all) do
|
26
|
-
@book.close
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should transform relative r1c1-reference into r1c1-format" do
|
30
|
-
Address.r1c1("Z1S[2]:Z[-1]S4").should == "Z1S(2):Z(-1)S4"
|
31
|
-
Address.r1c1("Z[1]S2:Z3S[4]").should == "Z(1)S2:Z3S(4)"
|
32
|
-
Address.r1c1("Z1S[2]").should == "Z1S(2)"
|
33
|
-
Address.r1c1("Z[-1]S4").should == "Z(-1)S4"
|
34
|
-
Address.r1c1("Z[3]").should == "Z(3)"
|
35
|
-
Address.r1c1("S[-2]").should == "S(-2)"
|
36
|
-
end
|
37
|
-
|
38
|
-
# test for 1.8.6
|
39
|
-
it "should transform relative int_range-reference into r1c1-format" do
|
40
|
-
Address.r1c1([1..2,[3]..4]).should == "Z1S(3):Z2S4"
|
41
|
-
Address.r1c1([[1]..2,3..4]).should == "Z(1)S3:Z2S4"
|
42
|
-
Address.r1c1([[1]..2,nil]).should == "Z(1):Z2"
|
43
|
-
Address.r1c1([nil,[1]..2]).should == "S(1):S2"
|
44
|
-
Address.r1c1([nil,[1]]).should == "S(1):S(1)"
|
45
|
-
end
|
46
|
-
|
47
|
-
it "should transform relative int_range-reference into r1c1-format" do
|
48
|
-
Address.r1c1([1..[-2],[3]..4]).should == "Z1S(3):Z(-2)S4"
|
49
|
-
Address.r1c1([[1]..2,3..[4]]).should == "Z(1)S3:Z2S(4)"
|
50
|
-
Address.r1c1([1..[-2],nil]).should == "Z1:Z(-2)"
|
51
|
-
Address.r1c1([nil,[-1]..2]).should == "S(-1):S2"
|
52
|
-
Address.r1c1([[3]..[3],nil]).should == "Z(3):Z(3)"
|
53
|
-
Address.r1c1([nil,[-2]..[-2]]).should == "S(-2):S(-2)"
|
54
|
-
Address.r1c1([[3],nil]).should == "Z(3):Z(3)"
|
55
|
-
end
|
56
|
-
|
57
|
-
it "should transform relative r1c1-reference into r1c1-format" do
|
58
|
-
Address.int_range("Z1S[2]:Z[3]S4").should == [1..[3],[2]..4]
|
59
|
-
Address.int_range("Z[1]S2:Z3S[4]").should == [[1]..3,2..[4]]
|
60
|
-
Address.int_range("Z1S[2]").should == [1..1,[2]..[2]]
|
61
|
-
Address.int_range("Z[3]S4").should == [[3]..[3],4..4]
|
62
|
-
end
|
63
|
-
|
64
|
-
it "should transform a1-format" do
|
65
|
-
Address.a1("A2").should == "A2"
|
66
|
-
Address.r1c1("A2").should == "Z2S1:Z2S1"
|
67
|
-
Address.int_range("A2").should == [2..2,1..1]
|
68
|
-
end
|
69
|
-
|
70
|
-
it "should transform several-letter-a1-format" do
|
71
|
-
Address.a1("ABO15").should == "ABO15"
|
72
|
-
Address.r1c1("ABO15").should == "Z15S743:Z15S743"
|
73
|
-
Address.int_range("ABO15").should == [15..15,743..743]
|
74
|
-
end
|
75
|
-
|
76
|
-
it "should transform complex a1-format" do
|
77
|
-
Address.a1("A2:B3").should == "A2:B3"
|
78
|
-
Address.r1c1("A2:B3").should == "Z2S1:Z3S2"
|
79
|
-
Address.int_range("A2:B3").should == [2..3,1..2]
|
80
|
-
Address.a1("S1:DP2").should == "S1:DP2"
|
81
|
-
Address.r1c1("S1:DP2").should == "Z1S19:Z2S120"
|
82
|
-
Address.int_range("S1:DP2").should == [1..2,19..120]
|
83
|
-
end
|
84
|
-
|
85
|
-
it "should transform infinite a1-format" do
|
86
|
-
Address.a1("A:B").should == "A:B"
|
87
|
-
Address.r1c1("A:B").should == "S1:S2"
|
88
|
-
Address.int_range("A:B").should == [nil,1..2]
|
89
|
-
Address.a1("1:3").should == "1:3"
|
90
|
-
Address.r1c1("1:3").should == "Z1:Z3"
|
91
|
-
Address.int_range("1:3").should == [1..3,nil]
|
92
|
-
Address.a1("B").should == "B"
|
93
|
-
Address.r1c1("B").should == "S2:S2"
|
94
|
-
Address.int_range("B").should == [nil,2..2]
|
95
|
-
Address.a1("3").should == "3"
|
96
|
-
Address.r1c1("3").should == "Z3:Z3"
|
97
|
-
Address.int_range("3").should == [3..3,nil]
|
98
|
-
end
|
99
|
-
|
100
|
-
it "should transform r1c1-format" do
|
101
|
-
Address.r1c1("Z2S1").should == "Z2S1"
|
102
|
-
Address.int_range("Z2S1").should == [2..2,1..1]
|
103
|
-
expect{
|
104
|
-
Address.a1("Z2S1")
|
105
|
-
}.to raise_error(NotImplementedREOError)
|
106
|
-
end
|
107
|
-
|
108
|
-
it "should transform complex r1c1-format" do
|
109
|
-
Address.r1c1("Z2S1:Z3S2").should == "Z2S1:Z3S2"
|
110
|
-
Address.int_range("Z2S1:Z3S2").should == [2..3,1..2]
|
111
|
-
end
|
112
|
-
|
113
|
-
it "should transform int_range format" do
|
114
|
-
Address.int_range([2..2,1..1]).should == [2..2,1..1]
|
115
|
-
Address.r1c1([2..2,1..1]).should == "Z2S1:Z2S1"
|
116
|
-
expect{
|
117
|
-
Address.a1([2..2,1..1])
|
118
|
-
}.to raise_error(NotImplementedREOError)
|
119
|
-
end
|
120
|
-
|
121
|
-
it "should transform simple int_range format" do
|
122
|
-
Address.int_range([2,1]).should == [2..2,1..1]
|
123
|
-
Address.r1c1([2,1]).should == "Z2S1:Z2S1"
|
124
|
-
end
|
125
|
-
|
126
|
-
it "should transform complex int_range format" do
|
127
|
-
Address.int_range([2,"A"]).should == [2..2,1..1]
|
128
|
-
Address.r1c1([2,"A"]).should == "Z2S1:Z2S1"
|
129
|
-
Address.int_range([2,"A".."B"]).should == [2..2,1..2]
|
130
|
-
Address.r1c1([2,"A".."B"]).should == "Z2S1:Z2S2"
|
131
|
-
Address.int_range([1..2,"C"]).should == [1..2,3..3]
|
132
|
-
Address.r1c1([1..2,"C"]).should == "Z1S3:Z2S3"
|
133
|
-
Address.int_range([1..2,"C".."E"]).should == [1..2,3..5]
|
134
|
-
Address.r1c1([1..2,"C".."E"]).should == "Z1S3:Z2S5"
|
135
|
-
Address.int_range([2,3..5]).should == [2..2,3..5]
|
136
|
-
Address.r1c1([2,3..5]).should == "Z2S3:Z2S5"
|
137
|
-
Address.int_range([1..2,3..5]).should == [1..2,3..5]
|
138
|
-
Address.r1c1([1..2,3..5]).should == "Z1S3:Z2S5"
|
139
|
-
end
|
140
|
-
|
141
|
-
it "should transform infinite int_range format" do
|
142
|
-
Address.int_range([nil,1..2]).should == [nil,1..2]
|
143
|
-
Address.r1c1([nil,1..2]).should == "S1:S2"
|
144
|
-
Address.int_range([1..3,nil]).should == [1..3,nil]
|
145
|
-
Address.r1c1([1..3,nil]).should == "Z1:Z3"
|
146
|
-
Address.int_range([nil,2]).should == [nil,2..2]
|
147
|
-
Address.r1c1([nil,2]).should == "S2:S2"
|
148
|
-
Address.int_range([3,nil]).should == [3..3,nil]
|
149
|
-
Address.r1c1([3,nil]).should == "Z3:Z3"
|
150
|
-
end
|
151
|
-
|
152
|
-
it "should raise an error" do
|
153
|
-
expect{
|
154
|
-
Address.a1("1A")
|
155
|
-
}.to raise_error(AddressInvalid, /format not correct/)
|
156
|
-
expect{
|
157
|
-
Address.r1c1("A1B")
|
158
|
-
}.to raise_error(AddressInvalid, /format not correct/)
|
159
|
-
#expect{
|
160
|
-
# Address.int_range(["A".."B","C".."D"])
|
161
|
-
#}.to raise_error(AddressInvalid, /format not correct/)
|
162
|
-
#expect{
|
163
|
-
# Address.int_range(["A".."B",1..2])
|
164
|
-
#}.to raise_error(AddressInvalid, /format not correct/)
|
165
|
-
#expect{
|
166
|
-
# Address.int_range(["A".."B",nil])
|
167
|
-
#}.to raise_error(AddressInvalid, /format not correct/)
|
168
|
-
expect{
|
169
|
-
Address.int_range(["A",1,2])
|
170
|
-
}.to raise_error(AddressInvalid, /more than two components/)
|
171
|
-
end
|
172
|
-
|
173
|
-
end
|
174
|
-
end
|