robust_excel_ole 1.1.5 → 1.1.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.
- checksums.yaml +4 -4
- data/Changelog +6 -0
- data/README.rdoc +2 -2
- data/docs/README_excel.rdoc +2 -3
- data/docs/README_open.rdoc +8 -12
- data/docs/README_ranges.rdoc +21 -9
- data/docs/README_sheet.rdoc +1 -1
- data/lib/robust_excel_ole/book.rb +3 -23
- data/lib/robust_excel_ole/excel.rb +2 -15
- data/lib/robust_excel_ole/reo_common.rb +11 -7
- data/lib/robust_excel_ole/sheet.rb +36 -15
- data/lib/robust_excel_ole/version.rb +1 -1
- data/robust_excel_ole.gemspec +1 -1
- data/spec/book_spec.rb +1 -1
- data/spec/book_specs/book_close_spec.rb +3 -3
- data/spec/book_specs/book_misc_spec.rb +25 -1
- data/spec/book_specs/book_open_spec.rb +299 -5
- data/spec/book_specs/book_sheet_spec.rb +1 -1
- data/spec/book_specs/book_unobtr_spec.rb +275 -35
- data/spec/data/another_workbook.xls +0 -0
- data/spec/data/different_workbook.xls +0 -0
- data/spec/data/workbook.xls +0 -0
- data/spec/excel_spec.rb +118 -5
- data/spec/helpers/key_sender.rb +2 -2
- data/spec/reo_common_spec.rb +0 -4
- data/spec/sheet_spec.rb +32 -0
- data/spec/spec_helper.rb +3 -0
- metadata +3 -21
- data/spec/ruby1.8.6_rspec2.14/book_spec.rb +0 -1421
- data/spec/ruby1.8.6_rspec2.14/book_specs/book_all_spec.rb +0 -22
- data/spec/ruby1.8.6_rspec2.14/book_specs/book_close_spec.rb +0 -252
- data/spec/ruby1.8.6_rspec2.14/book_specs/book_misc_spec.rb +0 -1070
- data/spec/ruby1.8.6_rspec2.14/book_specs/book_open_spec.rb +0 -1855
- data/spec/ruby1.8.6_rspec2.14/book_specs/book_save_spec.rb +0 -514
- data/spec/ruby1.8.6_rspec2.14/book_specs/book_sheet_spec.rb +0 -395
- data/spec/ruby1.8.6_rspec2.14/book_specs/book_subclass_spec.rb +0 -51
- data/spec/ruby1.8.6_rspec2.14/book_specs/book_unobtr_spec.rb +0 -1737
- data/spec/ruby1.8.6_rspec2.14/bookstore_spec.rb +0 -495
- data/spec/ruby1.8.6_rspec2.14/cell_spec.rb +0 -76
- data/spec/ruby1.8.6_rspec2.14/cygwin_spec.rb +0 -42
- data/spec/ruby1.8.6_rspec2.14/excel_spec.rb +0 -1820
- data/spec/ruby1.8.6_rspec2.14/general_spec.rb +0 -212
- data/spec/ruby1.8.6_rspec2.14/range_spec.rb +0 -131
- data/spec/ruby1.8.6_rspec2.14/reo_common_spec.rb +0 -130
- data/spec/ruby1.8.6_rspec2.14/sheet_spec.rb +0 -663
- data/spec/ruby1.8.6_rspec2.14/spec_helper.rb +0 -35
@@ -1,212 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
|
3
|
-
require File.join(File.dirname(__FILE__), './spec_helper')
|
4
|
-
|
5
|
-
$VERBOSE = nil
|
6
|
-
|
7
|
-
include General
|
8
|
-
include RobustExcelOle
|
9
|
-
|
10
|
-
module RobustExcelOle
|
11
|
-
|
12
|
-
describe General do
|
13
|
-
|
14
|
-
before(:all) do
|
15
|
-
excel = Excel.new(:reuse => true)
|
16
|
-
open_books = excel == nil ? 0 : excel.Workbooks.Count
|
17
|
-
puts "*** open books *** : #{open_books}" if open_books > 0
|
18
|
-
Excel.kill_all
|
19
|
-
end
|
20
|
-
|
21
|
-
before do
|
22
|
-
@dir = create_tmpdir
|
23
|
-
@simple_file = @dir + '/workbook.xls'
|
24
|
-
@simple_save_file = @dir + '/workbook_save.xls'
|
25
|
-
@different_file = @dir + '/different_workbook.xls'
|
26
|
-
@simple_file_other_path = @dir + '/more_data/workbook.xls'
|
27
|
-
@another_simple_file = @dir + '/another_workbook.xls'
|
28
|
-
@linked_file = @dir + '/workbook_linked.xlsm'
|
29
|
-
@simple_file_xlsm = @dir + '/workbook.xls'
|
30
|
-
@simple_file_xlsx = @dir + '/workbook.xlsx'
|
31
|
-
end
|
32
|
-
|
33
|
-
after do
|
34
|
-
Excel.kill_all
|
35
|
-
rm_tmp(@dir)
|
36
|
-
end
|
37
|
-
|
38
|
-
describe "methods, own_methods, respond_to?" do
|
39
|
-
|
40
|
-
before do
|
41
|
-
@book1 = Book.open(@simple_file)
|
42
|
-
@ole_workbook_methods =
|
43
|
-
["Activate", "ActiveSheet", "Application", "Close", "FullName", "HasPassword", "Name", "Names",
|
44
|
-
"Password", "Protect", "ProtectSharing", "ProtectStructure", "Protect", "ReadOnly", "Save",
|
45
|
-
"SaveAs", "Saved", "Sheets", "Unprotect"]
|
46
|
-
@book_methods = ["focus", "add_sheet", "alive?", "close", "filename", "nameval", "ole_object",
|
47
|
-
"ole_workbook", "reopen", "save", "save_as", "saved", "set_nameval"]
|
48
|
-
@ole_excel_methods =
|
49
|
-
["ActiveCell", "ActiveSheet", "ActiveWorkbook", "Application", "Calculate", "Cells", "Columns",
|
50
|
-
"DisplayAlerts", "Evaluate", "Hwnd", "Name", "Names", "Quit", "Range", "Ready", "Save",
|
51
|
-
"Sheets", "UserName", "Value", "Visible", "Workbooks", "Worksheets"]
|
52
|
-
@excel_methods = ["alive?", "book_class", "close", "displayalerts", "recreate", "visible",
|
53
|
-
"with_displayalerts"]
|
54
|
-
@ole_sheet_methods = []
|
55
|
-
# ["Activate", "Calculate", "Copy", "Name", "Select", "Evaluate", "Protect", "Unprotect"]
|
56
|
-
@sheet_methods = ["book_class", "col_range", "each", "each_column", "each_column_with_index",
|
57
|
-
"each_row", "each_row_with_index", "nameval", "rangeval",
|
58
|
-
"set_rangeval", "row_range", "set_nameval"]
|
59
|
-
end
|
60
|
-
|
61
|
-
after do
|
62
|
-
@book1.close
|
63
|
-
end
|
64
|
-
|
65
|
-
it "should do methods for book" do
|
66
|
-
((@ole_workbook_methods + @book_methods) - @book1.methods).should be_empty
|
67
|
-
(Object.instance_methods.select{|m| m =~ /^(?!\_)/} - @book1.methods).should be_empty
|
68
|
-
end
|
69
|
-
|
70
|
-
it "should do own_methods with popular ole_workbook and workbook methods" do
|
71
|
-
((@ole_workbook_methods + @book_methods) - @book1.own_methods).should be_empty
|
72
|
-
(Object.instance_methods - @book1.own_methods).should == Object.instance_methods
|
73
|
-
end
|
74
|
-
|
75
|
-
it "should respond to popular workbook methods" do
|
76
|
-
@book_methods.each{|m| @book1.respond_to?(m).should be_true}
|
77
|
-
end
|
78
|
-
|
79
|
-
it "should do methods for excel" do
|
80
|
-
((@ole_excel_methods + @excel_methods) - @book1.excel.methods).should be_empty
|
81
|
-
(Object.instance_methods.select{|m| m =~ /^(?!\_)/} - @book1.excel.methods).sort.should be_empty
|
82
|
-
end
|
83
|
-
|
84
|
-
it "should do own_methods with popular ole_excel and excel methods" do
|
85
|
-
((@ole_excel_methods + @excel_methods) - @book1.excel.own_methods).should be_empty
|
86
|
-
(Object.instance_methods - @book1.excel.own_methods).should == Object.instance_methods
|
87
|
-
end
|
88
|
-
|
89
|
-
it "should respond to popular excel methods" do
|
90
|
-
@excel_methods.each{|m| @book1.excel.respond_to?(m).should be_true}
|
91
|
-
end
|
92
|
-
|
93
|
-
it "should do methods for sheet" do
|
94
|
-
((@ole_sheet_methods + @sheet_methods) - @book1.sheet(1).methods).should be_empty
|
95
|
-
(Object.instance_methods.select{|m| m =~ /^(?!\_)/} - @book1.sheet(1).methods).sort.should be_empty
|
96
|
-
end
|
97
|
-
|
98
|
-
it "should do own_methods with popular ole_excel and excel methods" do
|
99
|
-
((@ole_sheet_methods + @sheet_methods) - @book1.sheet(1).own_methods).should == [] #be_empty
|
100
|
-
(Object.instance_methods - @book1.sheet(1).own_methods).should == Object.instance_methods
|
101
|
-
end
|
102
|
-
|
103
|
-
it "should respond to popular sheet methods" do
|
104
|
-
@sheet_methods.each{|m| @book1.sheet(1).respond_to?(m).should be_true}
|
105
|
-
end
|
106
|
-
|
107
|
-
end
|
108
|
-
|
109
|
-
describe "#absolute_path" do
|
110
|
-
|
111
|
-
context "with standard" do
|
112
|
-
|
113
|
-
before do
|
114
|
-
@previous_dir = Dir.getwd
|
115
|
-
end
|
116
|
-
|
117
|
-
after do
|
118
|
-
Dir.chdir @previous_dir
|
119
|
-
end
|
120
|
-
|
121
|
-
it "should return the right absolute paths" do
|
122
|
-
absolute_path("C:/abc").should == "C:\\abc"
|
123
|
-
absolute_path("C:\\abc").should == "C:\\abc"
|
124
|
-
Dir.chdir "C:/windows"
|
125
|
-
absolute_path("C:abc").downcase.should == Dir.pwd.gsub("/","\\").downcase + "\\abc"
|
126
|
-
absolute_path("C:abc").upcase.should == File.expand_path("abc").gsub("/","\\").upcase
|
127
|
-
end
|
128
|
-
|
129
|
-
it "should return right absolute path name" do
|
130
|
-
filename = 'C:/Dokumente und Einstellungen/Zauberthomas/Eigene Dateien/robust_excel_ole/spec/book_spec.rb'
|
131
|
-
absolute_path(filename).gsub("\\","/").should == filename
|
132
|
-
end
|
133
|
-
end
|
134
|
-
end
|
135
|
-
|
136
|
-
describe "canonize" do
|
137
|
-
|
138
|
-
context "with standard" do
|
139
|
-
|
140
|
-
it "should reduce slash at the end" do
|
141
|
-
normalize("hallo/").should == "hallo"
|
142
|
-
normalize("/this/is/the/Path/").should == "/this/is/the/Path"
|
143
|
-
end
|
144
|
-
|
145
|
-
it "should save capital letters" do
|
146
|
-
normalize("HALLO/").should == "HALLO"
|
147
|
-
normalize("/This/IS/tHe/patH/").should == "/This/IS/tHe/patH"
|
148
|
-
end
|
149
|
-
|
150
|
-
it "should reduce multiple shlashes" do
|
151
|
-
normalize("/this/is//the/path").should == "/this/is/the/path"
|
152
|
-
normalize("///this/////////is//the/path/////").should == "/this/is/the/path"
|
153
|
-
end
|
154
|
-
|
155
|
-
it "should reduce dots in the paths" do
|
156
|
-
canonize("/this/is/./the/path").should == "/this/is/the/path"
|
157
|
-
canonize("this/.is/./the/pa.th/").should == "this/.is/the/pa.th"
|
158
|
-
canonize("this//.///.//.is/the/pa.th/").should == "this/.is/the/pa.th"
|
159
|
-
end
|
160
|
-
|
161
|
-
it "should change to the upper directory with two dots" do
|
162
|
-
canonize("/this/is/../the/path").should == "/this/the/path"
|
163
|
-
canonize("this../.i.s/.../..the/..../pa.th/").should == "this../.i.s/.../..the/..../pa.th"
|
164
|
-
end
|
165
|
-
|
166
|
-
it "should downcase" do
|
167
|
-
canonize("/This/IS/tHe/path").should == "/this/is/the/path"
|
168
|
-
canonize("///THIS/.///./////iS//the/../PatH/////").should == "/this/is/path"
|
169
|
-
end
|
170
|
-
|
171
|
-
it "should raise an error for no strings" do
|
172
|
-
expect{
|
173
|
-
canonize(1)
|
174
|
-
}.to raise_error(TypeREOError, "No string given to canonize, but 1")
|
175
|
-
end
|
176
|
-
|
177
|
-
end
|
178
|
-
end
|
179
|
-
|
180
|
-
describe "path" do
|
181
|
-
|
182
|
-
it "should create a path" do
|
183
|
-
path1 = "this" / "is" / "a" / "path"
|
184
|
-
path1.should == "this/is/a/path"
|
185
|
-
path2 = "this" / "is" / "a" / "path" /
|
186
|
-
#path2.should == "this/is/a/path/"
|
187
|
-
path3 = "this" /
|
188
|
-
#path3.should == "this/"
|
189
|
-
path4 = "this" / nil
|
190
|
-
path4.should == "this"
|
191
|
-
end
|
192
|
-
end
|
193
|
-
|
194
|
-
describe "Object methods" do
|
195
|
-
|
196
|
-
before do
|
197
|
-
@book = Book.open(@simple_file)
|
198
|
-
@sheet = @book.sheet(1)
|
199
|
-
end
|
200
|
-
|
201
|
-
before do
|
202
|
-
@book.close
|
203
|
-
end
|
204
|
-
|
205
|
-
it "should raise an error when asking excel of a sheet" do
|
206
|
-
expect{
|
207
|
-
@sheet.excel
|
208
|
-
}.to raise_error(TypeREOError, "receiver instance is neither an Excel nor a Book")
|
209
|
-
end
|
210
|
-
end
|
211
|
-
end
|
212
|
-
end
|
@@ -1,131 +0,0 @@
|
|
1
|
-
# -*- cdoing: utf-8 -*-
|
2
|
-
require File.join(File.dirname(__FILE__), './spec_helper')
|
3
|
-
|
4
|
-
include RobustExcelOle
|
5
|
-
|
6
|
-
describe RobustExcelOle::Range do
|
7
|
-
|
8
|
-
before(:all) do
|
9
|
-
excel = Excel.new(:reuse => true)
|
10
|
-
open_books = excel == nil ? 0 : excel.Workbooks.Count
|
11
|
-
puts "*** open books *** : #{open_books}" if open_books > 0
|
12
|
-
Excel.kill_all
|
13
|
-
end
|
14
|
-
|
15
|
-
before do
|
16
|
-
@dir = create_tmpdir
|
17
|
-
@book = Book.open(@dir + '/workbook.xls', :force_excel => :new)
|
18
|
-
@sheet = @book.sheet(2)
|
19
|
-
@range = RobustExcelOle::Range.new(@sheet.ole_worksheet.UsedRange.Rows(1))
|
20
|
-
end
|
21
|
-
|
22
|
-
after do
|
23
|
-
@book.close
|
24
|
-
Excel.kill_all
|
25
|
-
rm_tmp(@dir)
|
26
|
-
end
|
27
|
-
|
28
|
-
describe "#each" do
|
29
|
-
it "items is RobustExcelOle::Cell" do
|
30
|
-
@range.each do |cell|
|
31
|
-
cell.should be_kind_of RobustExcelOle::Cell
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
describe "#values" do
|
37
|
-
context "with (0..2)" do
|
38
|
-
it { @range.values(0..2).should eq ['simple', 'file', 'sheet2'] }
|
39
|
-
end
|
40
|
-
|
41
|
-
context "with (1..2)" do
|
42
|
-
it { @range.values(1..2).should eq ['file', 'sheet2'] }
|
43
|
-
end
|
44
|
-
|
45
|
-
context "with (2..2)" do
|
46
|
-
it { @range.values(2..2).should eq ['sheet2'] }
|
47
|
-
end
|
48
|
-
|
49
|
-
context "with no arguments" do
|
50
|
-
it { @range.values.should eq ['simple', 'file', 'sheet2'] }
|
51
|
-
end
|
52
|
-
|
53
|
-
context "when instance is column range" do
|
54
|
-
before do
|
55
|
-
@sheet = @book.sheet(1)
|
56
|
-
@range = RobustExcelOle::Range.new(@sheet.ole_worksheet.UsedRange.Columns(1))
|
57
|
-
end
|
58
|
-
it { @range.values.should eq ['foo', 'foo', 'matz'] }
|
59
|
-
end
|
60
|
-
|
61
|
-
context "read 'merge_cells.xls'" do
|
62
|
-
before do
|
63
|
-
@merge_cells_book = Book.open("#{@dir}/merge_cells.xls", :force_excel => :new)
|
64
|
-
@merge_cells_sheet = @merge_cells_book.sheet(1)
|
65
|
-
end
|
66
|
-
|
67
|
-
after do
|
68
|
-
@merge_cells_book.close
|
69
|
-
end
|
70
|
-
|
71
|
-
context "only merged_cell" do
|
72
|
-
before do
|
73
|
-
@only_merged_range = @merge_cells_sheet.row_range(4)
|
74
|
-
end
|
75
|
-
|
76
|
-
context "without argument" do
|
77
|
-
it { @only_merged_range.values.should eq ['merged', 'merged', 'merged', 'merged'] }
|
78
|
-
end
|
79
|
-
|
80
|
-
context "with (1..2)" do
|
81
|
-
it { @only_merged_range.values(2..3).should eq ['merged', 'merged'] }
|
82
|
-
end
|
83
|
-
|
84
|
-
end
|
85
|
-
|
86
|
-
context "mix merged cell and no merge cell" do
|
87
|
-
before do
|
88
|
-
@mix_merged_no_merged_range = @merge_cells_sheet.row_range(2)
|
89
|
-
end
|
90
|
-
|
91
|
-
context "without argument" do
|
92
|
-
it { @mix_merged_no_merged_range.values.should eq ['first merged', 'first merged', 'first merged', nil] }
|
93
|
-
end
|
94
|
-
|
95
|
-
context "with (2..3)" do
|
96
|
-
it { @mix_merged_no_merged_range.values(2..3).should eq ['first merged', nil] }
|
97
|
-
end
|
98
|
-
|
99
|
-
end
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
describe "#[]" do
|
104
|
-
context "access [0]" do
|
105
|
-
it { @range[0].should be_kind_of RobustExcelOle::Cell }
|
106
|
-
it { @range[0].value.should eq 'simple' }
|
107
|
-
end
|
108
|
-
|
109
|
-
context "access [2]" do
|
110
|
-
it { @range[2].value.should eq 'sheet2' }
|
111
|
-
end
|
112
|
-
|
113
|
-
context "access [0] and [1] and [2]" do
|
114
|
-
it "should get every values" do
|
115
|
-
@range[0].value.should eq 'simple'
|
116
|
-
@range[1].value.should eq 'file'
|
117
|
-
@range[2].value.should eq 'sheet2'
|
118
|
-
end
|
119
|
-
end
|
120
|
-
end
|
121
|
-
|
122
|
-
describe "#method_missing" do
|
123
|
-
it "can access COM method" do
|
124
|
-
@range.Range(@range.Cells.Item(1), @range.Cells.Item(3)).value.should eq [@range.values(0..2)]
|
125
|
-
end
|
126
|
-
|
127
|
-
context "unknown method" do
|
128
|
-
it { expect { @range.hogehogefoo}.to raise_error }
|
129
|
-
end
|
130
|
-
end
|
131
|
-
end
|
@@ -1,130 +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 REOCommon do
|
14
|
-
|
15
|
-
it "should simple test" do
|
16
|
-
puts "a"
|
17
|
-
end
|
18
|
-
|
19
|
-
before(:all) do
|
20
|
-
excel = Excel.new(:reuse => true)
|
21
|
-
open_books = excel == nil ? 0 : excel.Workbooks.Count
|
22
|
-
puts "*** open books *** : #{open_books}" if open_books > 0
|
23
|
-
Excel.kill_all
|
24
|
-
end
|
25
|
-
|
26
|
-
before do
|
27
|
-
@dir = create_tmpdir
|
28
|
-
@simple_file = @dir + '/workbook.xls'
|
29
|
-
@simple_save_file = @dir + '/workbook_save.xls'
|
30
|
-
@different_file = @dir + '/different_workbook.xls'
|
31
|
-
@simple_file_other_path = @dir + '/more_data/workbook.xls'
|
32
|
-
@another_simple_file = @dir + '/another_workbook.xls'
|
33
|
-
@linked_file = @dir + '/workbook_linked.xlsm'
|
34
|
-
@simple_file_xlsm = @dir + '/workbook.xls'
|
35
|
-
@simple_file_xlsx = @dir + '/workbook.xlsx'
|
36
|
-
end
|
37
|
-
|
38
|
-
after do
|
39
|
-
Excel.kill_all
|
40
|
-
#rm_tmp(@dir)
|
41
|
-
end
|
42
|
-
|
43
|
-
describe "trace" do
|
44
|
-
|
45
|
-
it "should put some number" do
|
46
|
-
a = 4
|
47
|
-
REOCommon::trace "some text #{a}"
|
48
|
-
end
|
49
|
-
|
50
|
-
it "should put another text" do
|
51
|
-
b = Book.open(@simple_file)
|
52
|
-
REOCommon::trace "book: #{b}"
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
describe "own_methods" do
|
57
|
-
|
58
|
-
before do
|
59
|
-
@book1 = Book.open(@simple_file)
|
60
|
-
@ole_workbook_methods =
|
61
|
-
["Activate", "ActiveSheet", "Application", "Close", "FullName", "HasPassword", "Name", "Names",
|
62
|
-
"Password", "Protect", "ProtectSharing", "ProtectStructure", "Protect", "ReadOnly", "Save",
|
63
|
-
"SaveAs", "Saved", "Sheets", "Unprotect"]
|
64
|
-
@book_methods = ["focus", "add_sheet", "alive?", "close", "filename", "nameval", "ole_object",
|
65
|
-
"ole_workbook", "reopen", "save", "save_as", "saved", "set_nameval"]
|
66
|
-
@ole_excel_methods =
|
67
|
-
["ActiveCell", "ActiveSheet", "ActiveWorkbook", "Application", "Calculate", "Cells", "Columns",
|
68
|
-
"DisplayAlerts", "Evaluate", "Hwnd", "Name", "Names", "Quit", "Range", "Ready", "Save",
|
69
|
-
"Sheets", "UserName", "Value", "Visible", "Workbooks", "Worksheets"]
|
70
|
-
@excel_methods = ["alive?", "book_class", "close", "displayalerts", "recreate", "visible", "with_displayalerts"]
|
71
|
-
end
|
72
|
-
|
73
|
-
after do
|
74
|
-
@book1.close
|
75
|
-
end
|
76
|
-
|
77
|
-
it "should do own_methods with popular ole_workbook and workbook methods" do
|
78
|
-
((@ole_workbook_methods + @book_methods) - @book1.own_methods).should be_empty
|
79
|
-
(Object.instance_methods - @book1.own_methods).should == Object.instance_methods
|
80
|
-
end
|
81
|
-
|
82
|
-
it "should do own_methods with popular ole_excel and excel methods" do
|
83
|
-
((@ole_excel_methods + @excel_methods) - @book1.excel.own_methods).should be_empty
|
84
|
-
(Object.instance_methods - @book1.excel.own_methods).should == Object.instance_methods
|
85
|
-
end
|
86
|
-
|
87
|
-
end
|
88
|
-
|
89
|
-
describe "Object methods" do
|
90
|
-
|
91
|
-
before do
|
92
|
-
@book = Book.open(@simple_file)
|
93
|
-
@sheet = @book.sheet(1)
|
94
|
-
end
|
95
|
-
|
96
|
-
before do
|
97
|
-
@book.close
|
98
|
-
end
|
99
|
-
|
100
|
-
it "should raise an error when asking excel of a sheet" do
|
101
|
-
expect{
|
102
|
-
@sheet.excel
|
103
|
-
}.to raise_error(TypeREOError, "receiver instance is neither an Excel nor a Book")
|
104
|
-
end
|
105
|
-
|
106
|
-
end
|
107
|
-
|
108
|
-
describe "misc" do
|
109
|
-
|
110
|
-
LOG_TO_STDOUT = true
|
111
|
-
REOCommon::trace "foo"
|
112
|
-
|
113
|
-
LOG_TO_STDOUT = false
|
114
|
-
REOCommon::trace "foo"
|
115
|
-
|
116
|
-
REO_LOG_DIR = ""
|
117
|
-
REOCommon::trace "foo"
|
118
|
-
|
119
|
-
REO_LOG_DIR = "C:"
|
120
|
-
REOCommon::trace "foo"
|
121
|
-
|
122
|
-
REOCommon::tr1 "foo"
|
123
|
-
|
124
|
-
h = {:a => {:c => 4}, :b => 2}
|
125
|
-
REOCommon::puts_hash(h)
|
126
|
-
|
127
|
-
end
|
128
|
-
|
129
|
-
end
|
130
|
-
end
|