rubyXL 1.0.4
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.
- data/Gemfile +16 -0
- data/Gemfile.lock +34 -0
- data/LICENSE.txt +20 -0
- data/README +0 -0
- data/README.rdoc +19 -0
- data/Rakefile +53 -0
- data/VERSION +1 -0
- data/lib/.DS_Store +0 -0
- data/lib/Hash.rb +60 -0
- data/lib/cell.rb +360 -0
- data/lib/color.rb +14 -0
- data/lib/parser.rb +413 -0
- data/lib/private_class.rb +182 -0
- data/lib/rubyXL.rb +9 -0
- data/lib/test.html +1 -0
- data/lib/tests/test.rb +110 -0
- data/lib/tests/test10.rb +16 -0
- data/lib/tests/test2.rb +118 -0
- data/lib/tests/test3.rb +76 -0
- data/lib/tests/test4.rb +92 -0
- data/lib/tests/test5.rb +90 -0
- data/lib/tests/test6.rb +50 -0
- data/lib/tests/test7.rb +48 -0
- data/lib/tests/test8.rb +12 -0
- data/lib/tests/test9.rb +60 -0
- data/lib/workbook.rb +336 -0
- data/lib/worksheet.rb +1245 -0
- data/lib/writer/app_writer.rb +62 -0
- data/lib/writer/calc_chain_writer.rb +33 -0
- data/lib/writer/content_types_writer.rb +77 -0
- data/lib/writer/core_writer.rb +51 -0
- data/lib/writer/root_rels_writer.rb +25 -0
- data/lib/writer/shared_strings_writer.rb +44 -0
- data/lib/writer/styles_writer.rb +376 -0
- data/lib/writer/theme_writer.rb +346 -0
- data/lib/writer/workbook_rels_writer.rb +59 -0
- data/lib/writer/workbook_writer.rb +77 -0
- data/lib/writer/worksheet_writer.rb +208 -0
- data/lib/zip.rb +20 -0
- data/pkg/rubyXL-1.0.4.gem +0 -0
- data/rubyXL.gemspec +106 -0
- data/spec/lib/cell_spec.rb +359 -0
- data/spec/lib/color_spec.rb +14 -0
- data/spec/lib/hash_spec.rb +28 -0
- data/spec/lib/parser_spec.rb +49 -0
- data/spec/lib/workbook_spec.rb +51 -0
- data/spec/lib/worksheet_spec.rb +1650 -0
- metadata +222 -0
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rubyXL'
|
3
|
+
|
4
|
+
describe RubyXL::Color do
|
5
|
+
describe '.validate_color' do
|
6
|
+
it 'should return true if a valid hex color without a # is passed' do
|
7
|
+
RubyXL::Color.validate_color('0fbCAd').should == true
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'should cause an error if an invalid hex color code or one with a # is passed' do
|
11
|
+
lambda {RubyXL::Color.validate_color('#G')}.should raise_error
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rubyXL'
|
3
|
+
|
4
|
+
describe RubyXL::Hash do
|
5
|
+
before do
|
6
|
+
@xml = '<root xmlns:foo="bar"><bar hello="world"/></root>'
|
7
|
+
@hash = {
|
8
|
+
:root => {
|
9
|
+
:bar => { :attributes => { :hello => 'world' } }
|
10
|
+
}
|
11
|
+
}
|
12
|
+
end
|
13
|
+
|
14
|
+
describe '.from_xml' do
|
15
|
+
it 'should create a hash which correctly corresponds to XML' do
|
16
|
+
nokogiri = RubyXL::Hash.from_xml(@xml)
|
17
|
+
nokogiri.should == @hash
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe '.xml_node_to_hash' do
|
22
|
+
it 'should create a hash which correctly corresponds to a Nokogiri root node' do
|
23
|
+
nokogiri = Nokogiri::XML::Document.parse(@xml)
|
24
|
+
my_hash = RubyXL::Hash.xml_node_to_hash(nokogiri.root)
|
25
|
+
my_hash.should == @hash[:root]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rubyXL'
|
3
|
+
|
4
|
+
describe RubyXL::Parser do
|
5
|
+
before do
|
6
|
+
@workbook = (RubyXL::Workbook.new)
|
7
|
+
@time_str = Time.now.to_s
|
8
|
+
@file = @time_str + '.xlsx'
|
9
|
+
@workbook.write(@file)
|
10
|
+
end
|
11
|
+
|
12
|
+
describe '.convert_to_index' do
|
13
|
+
it 'should convert a well-formed Excel index into a pair of array indices' do
|
14
|
+
RubyXL::Parser.convert_to_index('AA1').should == [0, 26]
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should return [-1, -1] if the Excel index is not well-formed' do
|
18
|
+
RubyXL::Parser.convert_to_index('A1B').should == [-1, -1]
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
describe '.parse' do
|
23
|
+
it 'should parse a valid Excel xlsx or xlsm workbook correctly' do
|
24
|
+
@workbook2 = RubyXL::Parser.parse(@file)
|
25
|
+
|
26
|
+
@workbook2.worksheets.size.should == @workbook.worksheets.size
|
27
|
+
@workbook2[0].sheet_data.should == @workbook[0].sheet_data
|
28
|
+
@workbook2[0].sheet_name.should == @workbook[0].sheet_name
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'should cause an error if an xlsx or xlsm workbook is not passed' do
|
32
|
+
lambda {@workbook2 = RubyXL::Parser.parse(@time_str+".xls")}.should raise_error
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should only read the data and not any of the styles (for the sake of speed) when passed true' do
|
36
|
+
@workbook2 = RubyXL::Parser.parse(@file, true)
|
37
|
+
|
38
|
+
@workbook2.worksheets.size.should == @workbook.worksheets.size
|
39
|
+
@workbook2[0].sheet_data.should == @workbook[0].sheet_data
|
40
|
+
@workbook2[0].sheet_name.should == @workbook[0].sheet_name
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
after do
|
45
|
+
if File.exist?(@file)
|
46
|
+
File.delete(@file)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rubyXL'
|
3
|
+
|
4
|
+
describe RubyXL::Workbook do
|
5
|
+
before do
|
6
|
+
@workbook = RubyXL::Workbook.new
|
7
|
+
@worksheet = RubyXL::Worksheet.new(@workbook)
|
8
|
+
@workbook.worksheets << @worksheet
|
9
|
+
(0..10).each do |i|
|
10
|
+
(0..10).each do |j|
|
11
|
+
@worksheet.add_cell(i, j, "#{i}:#{j}")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
@cell = @worksheet[0][0]
|
15
|
+
end
|
16
|
+
|
17
|
+
describe '.write' do
|
18
|
+
#method not conducive to unit tests
|
19
|
+
end
|
20
|
+
|
21
|
+
describe '.get_style' do
|
22
|
+
it 'should return the cell_xfs object based on the passed in style index (string or number)' do
|
23
|
+
@workbook.get_style('0').should == @workbook.cell_xfs[:xf][0]
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'should return nil if index out of range or string is passed in' do
|
27
|
+
@workbook.get_style('20000').should be_nil
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe '.get_style_attributes' do
|
32
|
+
it 'should return the attributes of the style object when passed the style object itself' do
|
33
|
+
@workbook.get_style_attributes(@workbook.get_style(0)).should == @workbook.cell_xfs[:xf][0][:attributes]
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'should cause an error if nil is passed' do
|
37
|
+
lambda {@workbook.get_style_attributes(nil)}.should raise_error
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe '.get_fill_color' do
|
42
|
+
it 'should return the fill color of a particular style attribute' do
|
43
|
+
@cell.change_fill('000000')
|
44
|
+
@workbook.get_fill_color(@workbook.get_style_attributes(@workbook.get_style(@cell.style_index))).should == '000000'
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'should return white (ffffff) if no fill color is specified in style' do
|
48
|
+
@workbook.get_fill_color(@workbook.get_style_attributes(@workbook.get_style(@cell.style_index))).should == 'ffffff'
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,1650 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rubyXL'
|
3
|
+
|
4
|
+
describe RubyXL::Worksheet do
|
5
|
+
before do
|
6
|
+
@workbook = RubyXL::Workbook.new
|
7
|
+
@worksheet = RubyXL::Worksheet.new(@workbook)
|
8
|
+
@workbook.worksheets << @worksheet
|
9
|
+
(0..10).each do |i|
|
10
|
+
(0..10).each do |j|
|
11
|
+
@worksheet.add_cell(i, j, "#{i}:#{j}")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
@old_cell = Marshal.load(Marshal.dump(@worksheet[0][0]))
|
16
|
+
@old_cell_value = @worksheet[0][0].value
|
17
|
+
@old_cell_formula = @worksheet[0][0].formula
|
18
|
+
end
|
19
|
+
|
20
|
+
describe '.get_table' do
|
21
|
+
it 'should return nil if table cannot be found with specified string' do
|
22
|
+
@worksheet.get_table('TEST').should be_nil
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should return nil if table cannot be found with specified headers' do
|
26
|
+
@worksheet.get_table(['TEST']).should be_nil
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'should return a hash when given an array of headers it can find, where :table points to an array of hashes (rows), where each symbol is a column' do
|
30
|
+
headers = ["0:0", "0:1", "0:4"]
|
31
|
+
table_hash = @worksheet.get_table(headers)
|
32
|
+
|
33
|
+
table_hash.size.should == 4
|
34
|
+
table_hash[:table].size.should == 10
|
35
|
+
table_hash[:table][0].size.should == 3
|
36
|
+
table_hash[:"0:0"].size.should == 10
|
37
|
+
table_hash[:"0:1"].size.should == 10
|
38
|
+
table_hash[:"0:4"].size.should == 10
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe '.change_row_fill' do
|
43
|
+
it 'should raise error if hex color code not passed' do
|
44
|
+
lambda {
|
45
|
+
@worksheet.change_row_fill(0, 'G')
|
46
|
+
}.should raise_error
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'should raise error if hex color code includes # character' do
|
50
|
+
lambda {
|
51
|
+
@worksheet.change_row_fill(3,'#FFF000')
|
52
|
+
}.should raise_error
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'should make row and cell fill colors equal hex color code passed' do
|
56
|
+
@worksheet.change_row_fill(0, '111111')
|
57
|
+
@worksheet.get_row_fill(0).should == '111111'
|
58
|
+
@worksheet[0][5].fill_color.should == '111111'
|
59
|
+
end
|
60
|
+
|
61
|
+
it 'should cause error if a negative argument is passed in' do
|
62
|
+
lambda {
|
63
|
+
@worksheet.change_row_fill(-1,'111111')
|
64
|
+
}.should raise_error
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
68
|
+
@worksheet.sheet_data.size.should == 11
|
69
|
+
@worksheet.change_row_fill(11,'111111')
|
70
|
+
@worksheet.get_row_fill(11).should == '111111'
|
71
|
+
@worksheet.sheet_data.size.should == 12
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
describe '.change_row_font_name' do
|
76
|
+
it 'should make row and cell font names equal font name passed' do
|
77
|
+
@worksheet.change_row_font_name(0, 'Arial')
|
78
|
+
@worksheet.get_row_font_name(0).should == 'Arial'
|
79
|
+
@worksheet[0][5].font_name.should == 'Arial'
|
80
|
+
end
|
81
|
+
|
82
|
+
it 'should cause error if a negative argument is passed in' do
|
83
|
+
lambda {
|
84
|
+
@worksheet.change_row_font_name(-1,'Arial')
|
85
|
+
}.should raise_error
|
86
|
+
end
|
87
|
+
|
88
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
89
|
+
@worksheet.sheet_data.size.should == 11
|
90
|
+
@worksheet.change_row_font_name(11, 'Arial')
|
91
|
+
@worksheet.get_row_font_name(11).should == "Arial"
|
92
|
+
@worksheet.sheet_data.size.should == 12
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
describe '.change_row_font_size' do
|
97
|
+
it 'should make row and cell font sizes equal font number passed' do
|
98
|
+
@worksheet.change_row_font_size(0, 20)
|
99
|
+
@worksheet.get_row_font_size(0).should == 20
|
100
|
+
@worksheet[0][5].font_size.should == 20
|
101
|
+
end
|
102
|
+
|
103
|
+
it 'should cause an error if a string passed' do
|
104
|
+
lambda {
|
105
|
+
@worksheet.change_row_font_size(0, '20')
|
106
|
+
}.should raise_error
|
107
|
+
end
|
108
|
+
|
109
|
+
it 'should cause error if a negative argument is passed in' do
|
110
|
+
lambda {
|
111
|
+
@worksheet.change_row_font_size(-1,20)
|
112
|
+
}.should raise_error
|
113
|
+
end
|
114
|
+
|
115
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
116
|
+
@worksheet.sheet_data.size.should == 11
|
117
|
+
@worksheet.change_row_font_size(11,20)
|
118
|
+
@worksheet.get_row_font_size(11).should == 20
|
119
|
+
@worksheet.sheet_data.size.should == 12
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
describe '.change_row_font_color' do
|
124
|
+
it 'should make row and cell font colors equal to font color passed' do
|
125
|
+
@worksheet.change_row_font_color(0, '0f0f0f')
|
126
|
+
@worksheet.get_row_font_color(0).should == '0f0f0f'
|
127
|
+
@worksheet[0][5].font_color.should == '0f0f0f'
|
128
|
+
end
|
129
|
+
|
130
|
+
it 'should raise error if hex color code not passed' do
|
131
|
+
lambda {
|
132
|
+
@worksheet.change_row_font_color(0, 'G')
|
133
|
+
}.should raise_error
|
134
|
+
end
|
135
|
+
|
136
|
+
it 'should raise error if hex color code includes # character' do
|
137
|
+
lambda {
|
138
|
+
@worksheet.change_row_font_color(3,'#FFF000')
|
139
|
+
}.should raise_error
|
140
|
+
end
|
141
|
+
|
142
|
+
it 'should cause error if a negative argument is passed in' do
|
143
|
+
lambda {
|
144
|
+
@worksheet.change_row_font_color(-1,'0f0f0f')
|
145
|
+
}.should raise_error
|
146
|
+
end
|
147
|
+
|
148
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
149
|
+
@worksheet.sheet_data.size.should == 11
|
150
|
+
@worksheet.change_row_font_color(11,'0f0f0f')
|
151
|
+
@worksheet.get_row_font_color(11).should == '0f0f0f'
|
152
|
+
@worksheet.sheet_data.size.should == 12
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
describe '.change_row_italics' do
|
157
|
+
it 'should make row and cell fonts italicized when true is passed' do
|
158
|
+
@worksheet.change_row_italics(0,true)
|
159
|
+
@worksheet.is_row_italicized(0).should == true
|
160
|
+
@worksheet[0][5].is_italicized.should == true
|
161
|
+
end
|
162
|
+
|
163
|
+
it 'should cause error if a negative argument is passed in' do
|
164
|
+
lambda {
|
165
|
+
@worksheet.change_row_italics(-1,false)
|
166
|
+
}.should raise_error
|
167
|
+
end
|
168
|
+
|
169
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
170
|
+
@worksheet.sheet_data.size.should == 11
|
171
|
+
@worksheet.change_row_italics(11,true)
|
172
|
+
@worksheet.is_row_italicized(11).should == true
|
173
|
+
@worksheet.sheet_data.size.should == 12
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
describe '.change_row_bold' do
|
178
|
+
it 'should make row and cell fonts bolded when true is passed' do
|
179
|
+
@worksheet.change_row_bold(0,true)
|
180
|
+
@worksheet.is_row_bolded(0).should == true
|
181
|
+
@worksheet[0][5].is_bolded.should == true
|
182
|
+
end
|
183
|
+
|
184
|
+
it 'should cause error if a negative argument is passed in' do
|
185
|
+
lambda {
|
186
|
+
@worksheet.change_row_bold(-1,false)
|
187
|
+
}.should raise_error
|
188
|
+
end
|
189
|
+
|
190
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
191
|
+
@worksheet.sheet_data.size.should == 11
|
192
|
+
@worksheet.change_row_bold(11,true)
|
193
|
+
@worksheet.is_row_bolded(11).should == true
|
194
|
+
@worksheet.sheet_data.size.should == 12
|
195
|
+
end
|
196
|
+
end
|
197
|
+
|
198
|
+
describe '.change_row_underline' do
|
199
|
+
it 'should make row and cell fonts underlined when true is passed' do
|
200
|
+
@worksheet.change_row_underline(0,true)
|
201
|
+
@worksheet.is_row_underlined(0).should == true
|
202
|
+
@worksheet[0][5].is_underlined.should == true
|
203
|
+
end
|
204
|
+
|
205
|
+
it 'should cause error if a negative argument is passed in' do
|
206
|
+
lambda {
|
207
|
+
@worksheet.change_row_underline(-1,false)
|
208
|
+
}.should raise_error
|
209
|
+
end
|
210
|
+
|
211
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
212
|
+
@worksheet.sheet_data.size.should == 11
|
213
|
+
@worksheet.change_row_underline(11,true)
|
214
|
+
@worksheet.is_row_underlined(11).should == true
|
215
|
+
@worksheet.sheet_data.size.should == 12
|
216
|
+
end
|
217
|
+
end
|
218
|
+
|
219
|
+
describe '.change_row_strikethrough' do
|
220
|
+
it 'should make row and cell fonts struckthrough when true is passed' do
|
221
|
+
@worksheet.change_row_strikethrough(0,true)
|
222
|
+
@worksheet.is_row_struckthrough(0).should == true
|
223
|
+
@worksheet[0][5].is_struckthrough.should == true
|
224
|
+
end
|
225
|
+
|
226
|
+
it 'should cause error if a negative argument is passed in' do
|
227
|
+
lambda {
|
228
|
+
@worksheet.change_row_strikethrough(-1,false)
|
229
|
+
}.should raise_error
|
230
|
+
end
|
231
|
+
|
232
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
233
|
+
@worksheet.sheet_data.size.should == 11
|
234
|
+
@worksheet.change_row_strikethrough(11,true)
|
235
|
+
@worksheet.is_row_struckthrough(11).should == true
|
236
|
+
@worksheet.sheet_data.size.should == 12
|
237
|
+
end
|
238
|
+
end
|
239
|
+
|
240
|
+
describe '.change_row_height' do
|
241
|
+
it 'should make row height match number which is passed' do
|
242
|
+
@worksheet.change_row_height(0,30.0002)
|
243
|
+
@worksheet.get_row_height(0).should == 30.0002
|
244
|
+
end
|
245
|
+
|
246
|
+
it 'should make row height a number equivalent of the string passed if it is a string which is a number' do
|
247
|
+
@worksheet.change_row_height(0,'30.0002')
|
248
|
+
@worksheet.get_row_height(0).should == 30.0002
|
249
|
+
end
|
250
|
+
|
251
|
+
it 'should cause error if a string which is not a number' do
|
252
|
+
lambda {
|
253
|
+
@worksheet.change_row_height(0,'TEST')
|
254
|
+
}.should raise_error
|
255
|
+
end
|
256
|
+
|
257
|
+
it 'should cause error if a negative argument is passed in' do
|
258
|
+
lambda {
|
259
|
+
@worksheet.change_row_height(-1,30)
|
260
|
+
}.should raise_error
|
261
|
+
end
|
262
|
+
|
263
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
264
|
+
@worksheet.sheet_data.size.should == 11
|
265
|
+
@worksheet.change_row_height(11,30)
|
266
|
+
@worksheet.get_row_height(11).should == 30
|
267
|
+
@worksheet.sheet_data.size.should == 12
|
268
|
+
end
|
269
|
+
end
|
270
|
+
|
271
|
+
describe '.change_row_horizontal_alignment' do
|
272
|
+
it 'should cause row and cells to horizontally align as specified by the passed in string' do
|
273
|
+
@worksheet.change_row_horizontal_alignment(0,'center')
|
274
|
+
@worksheet.get_row_horizontal_alignment(0).should == 'center'
|
275
|
+
@worksheet[0][5].horizontal_alignment.should == 'center'
|
276
|
+
end
|
277
|
+
|
278
|
+
it 'should cause error if nil, "center", "justify", "left", "right", or "distributed" is not passed' do
|
279
|
+
lambda {
|
280
|
+
@worksheet.change_row_horizontal_alignment(0,'TEST')
|
281
|
+
}.should raise_error
|
282
|
+
end
|
283
|
+
|
284
|
+
it 'should cause error if a negative argument is passed in' do
|
285
|
+
lambda {
|
286
|
+
@worksheet.change_row_horizontal_alignment(-1,'center')
|
287
|
+
}.should raise_error
|
288
|
+
end
|
289
|
+
|
290
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
291
|
+
@worksheet.sheet_data.size.should == 11
|
292
|
+
@worksheet.change_row_horizontal_alignment(11,'center')
|
293
|
+
@worksheet.get_row_horizontal_alignment(11).should == 'center'
|
294
|
+
@worksheet.sheet_data.size.should == 12
|
295
|
+
end
|
296
|
+
end
|
297
|
+
|
298
|
+
describe '.change_row_vertical_alignment' do
|
299
|
+
it 'should cause row and cells to vertically align as specified by the passed in string' do
|
300
|
+
@worksheet.change_row_vertical_alignment(0,'center')
|
301
|
+
@worksheet.get_row_vertical_alignment(0).should == 'center'
|
302
|
+
@worksheet[0][5].vertical_alignment.should == 'center'
|
303
|
+
end
|
304
|
+
|
305
|
+
it 'should cause error if nil, "center", "justify", "top", "bottom", or "distributed" is not passed' do
|
306
|
+
lambda {
|
307
|
+
@worksheet.change_row_vertical_alignment(0,'TEST')
|
308
|
+
}.should raise_error
|
309
|
+
end
|
310
|
+
|
311
|
+
it 'should cause error if a negative argument is passed in' do
|
312
|
+
lambda {
|
313
|
+
@worksheet.change_row_vertical_alignment(-1,'center')
|
314
|
+
}.should raise_error
|
315
|
+
end
|
316
|
+
|
317
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
318
|
+
@worksheet.sheet_data.size.should == 11
|
319
|
+
@worksheet.change_row_vertical_alignment(11,'center')
|
320
|
+
@worksheet.get_row_vertical_alignment(11).should == 'center'
|
321
|
+
@worksheet.sheet_data.size.should == 12
|
322
|
+
end
|
323
|
+
end
|
324
|
+
|
325
|
+
describe '.change_row_border_top' do
|
326
|
+
it 'should cause row and cells to have border at top of specified weight' do
|
327
|
+
@worksheet.change_row_border_top(0, 'thin')
|
328
|
+
@worksheet.get_row_border_top(0).should == 'thin'
|
329
|
+
@worksheet[0][5].border_top.should == 'thin'
|
330
|
+
end
|
331
|
+
|
332
|
+
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
333
|
+
lambda {
|
334
|
+
@worksheet.change_row_border_top(0,'TEST')
|
335
|
+
}.should raise_error
|
336
|
+
end
|
337
|
+
|
338
|
+
it 'should cause error if a negative argument is passed in' do
|
339
|
+
lambda {
|
340
|
+
@worksheet.change_row_border_top(-1,'thin')
|
341
|
+
}.should raise_error
|
342
|
+
end
|
343
|
+
|
344
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
345
|
+
@worksheet.sheet_data.size.should == 11
|
346
|
+
@worksheet.change_row_border_top(11,'thin')
|
347
|
+
@worksheet.get_row_border_top(11).should == 'thin'
|
348
|
+
@worksheet.sheet_data.size.should == 12
|
349
|
+
end
|
350
|
+
end
|
351
|
+
|
352
|
+
describe '.change_row_border_left' do
|
353
|
+
it 'should cause row and cells to have border at left of specified weight' do
|
354
|
+
@worksheet.change_row_border_left(0, 'thin')
|
355
|
+
@worksheet.get_row_border_left(0).should == 'thin'
|
356
|
+
@worksheet[0][5].border_left.should == 'thin'
|
357
|
+
end
|
358
|
+
|
359
|
+
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
360
|
+
lambda {
|
361
|
+
@worksheet.change_row_border_left(0,'TEST')
|
362
|
+
}.should raise_error
|
363
|
+
end
|
364
|
+
|
365
|
+
it 'should cause error if a negative argument is passed in' do
|
366
|
+
lambda {
|
367
|
+
@worksheet.change_row_border_left(-1,'thin')
|
368
|
+
}.should raise_error
|
369
|
+
end
|
370
|
+
|
371
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
372
|
+
@worksheet.sheet_data.size.should == 11
|
373
|
+
@worksheet.change_row_border_left(11,'thin')
|
374
|
+
@worksheet.get_row_border_left(11).should == 'thin'
|
375
|
+
@worksheet.sheet_data.size.should == 12
|
376
|
+
end
|
377
|
+
end
|
378
|
+
|
379
|
+
describe '.change_row_border_right' do
|
380
|
+
it 'should cause row and cells to have border at right of specified weight' do
|
381
|
+
@worksheet.change_row_border_right(0, 'thin')
|
382
|
+
@worksheet.get_row_border_right(0).should == 'thin'
|
383
|
+
@worksheet[0][5].border_right.should == 'thin'
|
384
|
+
end
|
385
|
+
|
386
|
+
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
387
|
+
lambda {
|
388
|
+
@worksheet.change_row_border_right(0,'TEST')
|
389
|
+
}.should raise_error
|
390
|
+
end
|
391
|
+
|
392
|
+
it 'should cause error if a negative argument is passed in' do
|
393
|
+
lambda {
|
394
|
+
@worksheet.change_row_border_right(-1,'thin')
|
395
|
+
}.should raise_error
|
396
|
+
end
|
397
|
+
|
398
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
399
|
+
@worksheet.sheet_data.size.should == 11
|
400
|
+
@worksheet.change_row_border_right(11,'thin')
|
401
|
+
@worksheet.get_row_border_right(11).should == 'thin'
|
402
|
+
@worksheet.sheet_data.size.should == 12
|
403
|
+
end
|
404
|
+
end
|
405
|
+
|
406
|
+
describe '.change_row_border_bottom' do
|
407
|
+
it 'should cause row to have border at bottom of specified weight' do
|
408
|
+
@worksheet.change_row_border_bottom(0, 'thin')
|
409
|
+
@worksheet.get_row_border_bottom(0).should == 'thin'
|
410
|
+
@worksheet[0][5].border_bottom.should == 'thin'
|
411
|
+
end
|
412
|
+
|
413
|
+
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
414
|
+
lambda {
|
415
|
+
@worksheet.change_row_border_bottom(0,'TEST')
|
416
|
+
}.should raise_error
|
417
|
+
end
|
418
|
+
|
419
|
+
it 'should cause error if a negative argument is passed in' do
|
420
|
+
lambda {
|
421
|
+
@worksheet.change_row_border_bottom(-1,'thin')
|
422
|
+
}.should raise_error
|
423
|
+
end
|
424
|
+
|
425
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
426
|
+
@worksheet.sheet_data.size.should == 11
|
427
|
+
@worksheet.change_row_border_bottom(11,'thin')
|
428
|
+
@worksheet.get_row_border_bottom(11).should == 'thin'
|
429
|
+
@worksheet.sheet_data.size.should == 12
|
430
|
+
end
|
431
|
+
end
|
432
|
+
|
433
|
+
describe '.change_row_border_diagonal' do
|
434
|
+
it 'should cause row to have border at diagonal of specified weight' do
|
435
|
+
@worksheet.change_row_border_diagonal(0, 'thin')
|
436
|
+
@worksheet.get_row_border_diagonal(0).should == 'thin'
|
437
|
+
@worksheet[0][5].border_diagonal.should == 'thin'
|
438
|
+
end
|
439
|
+
|
440
|
+
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
441
|
+
lambda {
|
442
|
+
@worksheet.change_row_border_diagonal(0,'TEST')
|
443
|
+
}.should raise_error
|
444
|
+
end
|
445
|
+
|
446
|
+
it 'should cause error if a negative argument is passed in' do
|
447
|
+
lambda {
|
448
|
+
@worksheet.change_row_border_diagonal(-1,'thin')
|
449
|
+
}.should raise_error
|
450
|
+
end
|
451
|
+
|
452
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
453
|
+
@worksheet.sheet_data.size.should == 11
|
454
|
+
@worksheet.change_row_border_diagonal(11,'thin')
|
455
|
+
@worksheet.get_row_border_diagonal(11).should == 'thin'
|
456
|
+
@worksheet.sheet_data.size.should == 12
|
457
|
+
end
|
458
|
+
end
|
459
|
+
|
460
|
+
describe '.change_column_font_name' do
|
461
|
+
it 'should cause column and cell font names to match string passed in' do
|
462
|
+
@worksheet.change_column_font_name(0, 'Arial')
|
463
|
+
@worksheet.get_column_font_name(0).should == 'Arial'
|
464
|
+
@worksheet[5][0].font_name.should == 'Arial'
|
465
|
+
end
|
466
|
+
|
467
|
+
it 'should cause error if a negative argument is passed in' do
|
468
|
+
lambda {
|
469
|
+
@worksheet.change_column_font_name(-1,'Arial')
|
470
|
+
}.should raise_error
|
471
|
+
end
|
472
|
+
|
473
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
474
|
+
@worksheet.sheet_data[0].size.should == 11
|
475
|
+
@worksheet.change_column_font_name(11,'Arial')
|
476
|
+
@worksheet.get_column_font_name(11).should == 'Arial'
|
477
|
+
@worksheet.sheet_data[0].size.should == 12
|
478
|
+
end
|
479
|
+
end
|
480
|
+
|
481
|
+
describe '.change_column_font_size' do
|
482
|
+
it 'should make column and cell font sizes equal font number passed' do
|
483
|
+
@worksheet.change_column_font_size(0, 20)
|
484
|
+
@worksheet.get_column_font_size(0).should == 20
|
485
|
+
@worksheet[5][0].font_size.should == 20
|
486
|
+
end
|
487
|
+
|
488
|
+
it 'should cause an error if a string passed' do
|
489
|
+
lambda {
|
490
|
+
@worksheet.change_column_font_size(0, '20')
|
491
|
+
}.should raise_error
|
492
|
+
end
|
493
|
+
|
494
|
+
it 'should cause error if a negative argument is passed in' do
|
495
|
+
lambda {
|
496
|
+
@worksheet.change_column_font_size(-1,20)
|
497
|
+
}.should raise_error
|
498
|
+
end
|
499
|
+
|
500
|
+
it 'should expand matrix to fit argument if nonnegative'do
|
501
|
+
@worksheet.sheet_data[0].size.should == 11
|
502
|
+
@worksheet.change_column_font_size(11,20)
|
503
|
+
@worksheet.get_column_font_size(11).should == 20
|
504
|
+
@worksheet.sheet_data[0].size.should == 12
|
505
|
+
end
|
506
|
+
end
|
507
|
+
|
508
|
+
describe '.change_column_font_color' do
|
509
|
+
it 'should make column and cell font colors equal to font color passed' do
|
510
|
+
@worksheet.change_column_font_color(0, '0f0f0f')
|
511
|
+
@worksheet.get_column_font_color(0).should == '0f0f0f'
|
512
|
+
@worksheet[5][0].font_color.should == '0f0f0f'
|
513
|
+
end
|
514
|
+
|
515
|
+
it 'should raise error if hex color code not passed' do
|
516
|
+
lambda {
|
517
|
+
@worksheet.change_column_font_color(0, 'G')
|
518
|
+
}.should raise_error
|
519
|
+
end
|
520
|
+
|
521
|
+
it 'should raise error if hex color code includes # character' do
|
522
|
+
lambda {
|
523
|
+
@worksheet.change_column_font_color(0,'#FFF000')
|
524
|
+
}.should raise_error
|
525
|
+
end
|
526
|
+
|
527
|
+
it 'should cause error if a negative argument is passed in' do
|
528
|
+
lambda {
|
529
|
+
@worksheet.change_column_font_color(-1,'0f0f0f')
|
530
|
+
}.should raise_error
|
531
|
+
end
|
532
|
+
|
533
|
+
it 'should expand matrix to fit argument if nonnegative'do
|
534
|
+
@worksheet.sheet_data[0].size.should == 11
|
535
|
+
@worksheet.change_column_font_color(11,'0f0f0f')
|
536
|
+
@worksheet.get_column_font_color(11).should == '0f0f0f'
|
537
|
+
@worksheet.sheet_data[0].size.should == 12
|
538
|
+
end
|
539
|
+
end
|
540
|
+
|
541
|
+
describe '.change_column_italics' do
|
542
|
+
it 'should make column and cell fonts italicized when true is passed' do
|
543
|
+
@worksheet.change_column_italics(0,true)
|
544
|
+
@worksheet.is_column_italicized(0).should == true
|
545
|
+
@worksheet[5][0].is_italicized.should == true
|
546
|
+
end
|
547
|
+
|
548
|
+
it 'should cause error if a negative argument is passed in' do
|
549
|
+
lambda {
|
550
|
+
@worksheet.change_column_italicized(-1,false)
|
551
|
+
}.should raise_error
|
552
|
+
end
|
553
|
+
|
554
|
+
it 'should expand matrix to fit argument if nonnegative'do
|
555
|
+
@worksheet.sheet_data[0].size.should == 11
|
556
|
+
@worksheet.change_column_italics(11,true)
|
557
|
+
@worksheet.is_column_italicized(11).should == true
|
558
|
+
@worksheet.sheet_data[0].size.should == 12
|
559
|
+
end
|
560
|
+
end
|
561
|
+
|
562
|
+
describe '.change_column_bold' do
|
563
|
+
it 'should make column and cell fonts bolded when true is passed' do
|
564
|
+
@worksheet.change_column_bold(0,true)
|
565
|
+
@worksheet.is_column_bolded(0).should == true
|
566
|
+
@worksheet[5][0].is_bolded.should == true
|
567
|
+
end
|
568
|
+
|
569
|
+
it 'should cause error if a negative argument is passed in' do
|
570
|
+
lambda {
|
571
|
+
@worksheet.change_column_bold(-1,false)
|
572
|
+
}.should raise_error
|
573
|
+
end
|
574
|
+
|
575
|
+
it 'should expand matrix to fit argument if nonnegative'do
|
576
|
+
@worksheet.sheet_data[0].size.should == 11
|
577
|
+
@worksheet.change_column_bold(11,true)
|
578
|
+
@worksheet.is_column_bolded(11).should == true
|
579
|
+
@worksheet.sheet_data[0].size.should == 12
|
580
|
+
end
|
581
|
+
end
|
582
|
+
|
583
|
+
describe '.change_column_underline' do
|
584
|
+
it 'should make column and cell fonts underlined when true is passed' do
|
585
|
+
@worksheet.change_column_underline(0,true)
|
586
|
+
@worksheet.is_column_underlined(0).should == true
|
587
|
+
@worksheet[5][0].is_underlined.should == true
|
588
|
+
end
|
589
|
+
|
590
|
+
it 'should cause error if a negative argument is passed in' do
|
591
|
+
lambda {
|
592
|
+
@worksheet.change_column_underline(-1,false)
|
593
|
+
}.should raise_error
|
594
|
+
end
|
595
|
+
|
596
|
+
it 'should expand matrix to fit argument if nonnegative'do
|
597
|
+
@worksheet.sheet_data[0].size.should == 11
|
598
|
+
@worksheet.change_column_underline(11,true)
|
599
|
+
@worksheet.is_column_underlined(11).should == true
|
600
|
+
@worksheet.sheet_data[0].size.should == 12
|
601
|
+
end
|
602
|
+
end
|
603
|
+
|
604
|
+
describe '.change_column_strikethrough' do
|
605
|
+
it 'should make column and cell fonts struckthrough when true is passed' do
|
606
|
+
@worksheet.change_column_strikethrough(0,true)
|
607
|
+
@worksheet.is_column_struckthrough(0).should == true
|
608
|
+
@worksheet[5][0].is_struckthrough.should == true
|
609
|
+
end
|
610
|
+
|
611
|
+
it 'should cause error if a negative argument is passed in' do
|
612
|
+
lambda {
|
613
|
+
@worksheet.change_column_strikethrough(-1,false)
|
614
|
+
}.should raise_error
|
615
|
+
end
|
616
|
+
|
617
|
+
it 'should expand matrix to fit argument if nonnegative'do
|
618
|
+
@worksheet.sheet_data[0].size.should == 11
|
619
|
+
@worksheet.change_column_strikethrough(11,true)
|
620
|
+
@worksheet.is_column_struckthrough(11).should == true
|
621
|
+
@worksheet.sheet_data[0].size.should == 12
|
622
|
+
end
|
623
|
+
end
|
624
|
+
|
625
|
+
describe '.change_column_width' do
|
626
|
+
it 'should make column width match number which is passed' do
|
627
|
+
@worksheet.change_column_width(0,30.0002)
|
628
|
+
@worksheet.get_column_width(0).should == 30.0002
|
629
|
+
end
|
630
|
+
|
631
|
+
it 'should make column width a number equivalent of the string passed if it is a string which is a number' do
|
632
|
+
@worksheet.change_column_width(0,'30.0002')
|
633
|
+
@worksheet.get_column_width(0).should == 30.0002
|
634
|
+
end
|
635
|
+
|
636
|
+
it 'should cause error if a string which is not a number' do
|
637
|
+
lambda {
|
638
|
+
@worksheet.change_column_width(0,'TEST')
|
639
|
+
}.should raise_error
|
640
|
+
end
|
641
|
+
|
642
|
+
it 'should cause error if a negative argument is passed in' do
|
643
|
+
lambda {
|
644
|
+
@worksheet.change_column_width(-1,10)
|
645
|
+
}.should raise_error
|
646
|
+
end
|
647
|
+
|
648
|
+
it 'should expand matrix to fit argument if nonnegative'do
|
649
|
+
@worksheet.sheet_data[0].size.should == 11
|
650
|
+
@worksheet.change_column_width(11,30)
|
651
|
+
@worksheet.get_column_width(11).should == 30
|
652
|
+
@worksheet.sheet_data[0].size.should == 12
|
653
|
+
end
|
654
|
+
end
|
655
|
+
|
656
|
+
describe '.change_column_fill' do
|
657
|
+
it 'should raise error if hex color code not passed' do
|
658
|
+
lambda {
|
659
|
+
@worksheet.change_column_fill(0, 'G')
|
660
|
+
}.should raise_error
|
661
|
+
end
|
662
|
+
|
663
|
+
it 'should raise error if hex color code includes # character' do
|
664
|
+
lambda {
|
665
|
+
@worksheet.change_column_fill(3,'#FFF000')
|
666
|
+
}.should raise_error
|
667
|
+
end
|
668
|
+
|
669
|
+
it 'should make column and cell fill colors equal hex color code passed' do
|
670
|
+
@worksheet.change_column_fill(0, '111111')
|
671
|
+
@worksheet.get_column_fill(0).should == '111111'
|
672
|
+
@worksheet[5][0].fill_color.should == '111111'
|
673
|
+
end
|
674
|
+
|
675
|
+
it 'should cause error if a negative argument is passed in' do
|
676
|
+
lambda {
|
677
|
+
@worksheet.change_column_fill(-1,'111111')
|
678
|
+
}.should raise_error
|
679
|
+
end
|
680
|
+
|
681
|
+
it 'should expand matrix to fit argument if nonnegative'do
|
682
|
+
@worksheet.sheet_data[0].size.should == 11
|
683
|
+
@worksheet.change_column_fill(11,'111111')
|
684
|
+
@worksheet.get_column_fill(11).should == '111111'
|
685
|
+
@worksheet.sheet_data[0].size.should == 12
|
686
|
+
end
|
687
|
+
end
|
688
|
+
|
689
|
+
describe '.change_column_horizontal_alignment' do
|
690
|
+
it 'should cause column and cell to horizontally align as specified by the passed in string' do
|
691
|
+
@worksheet.change_column_horizontal_alignment(0,'center')
|
692
|
+
@worksheet.get_column_horizontal_alignment(0).should == 'center'
|
693
|
+
@worksheet[5][0].horizontal_alignment.should == 'center'
|
694
|
+
end
|
695
|
+
|
696
|
+
it 'should cause error if nil, "center", "justify", "left", "right", or "distributed" is not passed' do
|
697
|
+
lambda {
|
698
|
+
@worksheet.change_column_horizontal_alignment(0,'TEST')
|
699
|
+
}.should raise_error
|
700
|
+
end
|
701
|
+
|
702
|
+
it 'should cause error if a negative argument is passed in' do
|
703
|
+
lambda {
|
704
|
+
@worksheet.change_column_horizontal_alignment(-1,'center')
|
705
|
+
}.should raise_error
|
706
|
+
end
|
707
|
+
|
708
|
+
it 'should expand matrix to fit argument if nonnegative'do
|
709
|
+
@worksheet.sheet_data[0].size.should == 11
|
710
|
+
@worksheet.change_column_horizontal_alignment(11,'center')
|
711
|
+
@worksheet.get_column_horizontal_alignment(11).should == 'center'
|
712
|
+
@worksheet.sheet_data[0].size.should == 12
|
713
|
+
end
|
714
|
+
end
|
715
|
+
|
716
|
+
describe '.change_column_vertical_alignment' do
|
717
|
+
it 'should cause column and cell to vertically align as specified by the passed in string' do
|
718
|
+
@worksheet.change_column_vertical_alignment(0,'center')
|
719
|
+
@worksheet.get_column_vertical_alignment(0).should == 'center'
|
720
|
+
@worksheet[5][0].vertical_alignment.should == 'center'
|
721
|
+
end
|
722
|
+
|
723
|
+
it 'should cause error if nil, "center", "justify", "top", "bottom", or "distributed" is not passed' do
|
724
|
+
lambda {
|
725
|
+
@worksheet.change_column_vertical_alignment(0,'TEST')
|
726
|
+
}.should raise_error
|
727
|
+
end
|
728
|
+
|
729
|
+
it 'should cause error if a negative argument is passed in' do
|
730
|
+
lambda {
|
731
|
+
@worksheet.change_column_vertical_alignment(-1,'center')
|
732
|
+
}.should raise_error
|
733
|
+
end
|
734
|
+
|
735
|
+
it 'should expand matrix to fit argument if nonnegative'do
|
736
|
+
@worksheet.sheet_data[0].size.should == 11
|
737
|
+
@worksheet.change_column_vertical_alignment(11,'center')
|
738
|
+
@worksheet.get_column_vertical_alignment(11).should == 'center'
|
739
|
+
@worksheet.sheet_data[0].size.should == 12
|
740
|
+
end
|
741
|
+
end
|
742
|
+
|
743
|
+
describe '.change_column_border_top' do
|
744
|
+
it 'should cause column and cells within to have border at top of specified weight' do
|
745
|
+
@worksheet.change_column_border_top(0, 'thin')
|
746
|
+
@worksheet.get_column_border_top(0).should == 'thin'
|
747
|
+
@worksheet[5][0].border_top.should == 'thin'
|
748
|
+
end
|
749
|
+
|
750
|
+
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
751
|
+
lambda {
|
752
|
+
@worksheet.change_column_border_top(0,'TEST')
|
753
|
+
}.should raise_error
|
754
|
+
end
|
755
|
+
|
756
|
+
it 'should cause error if a negative argument is passed in' do
|
757
|
+
lambda {
|
758
|
+
@worksheet.change_column_border_top(-1,'thin')
|
759
|
+
}.should raise_error
|
760
|
+
end
|
761
|
+
|
762
|
+
it 'should expand matrix to fit argument if nonnegative'do
|
763
|
+
@worksheet.sheet_data[0].size.should == 11
|
764
|
+
@worksheet.change_column_border_top(11,'thin')
|
765
|
+
@worksheet.get_column_border_top(11).should == 'thin'
|
766
|
+
@worksheet.sheet_data[0].size.should == 12
|
767
|
+
end
|
768
|
+
end
|
769
|
+
|
770
|
+
describe '.change_column_border_left' do
|
771
|
+
it 'should cause column and cells within to have border at left of specified weight' do
|
772
|
+
@worksheet.change_column_border_left(0, 'thin')
|
773
|
+
@worksheet.get_column_border_left(0).should == 'thin'
|
774
|
+
@worksheet[5][0].border_left.should == 'thin'
|
775
|
+
end
|
776
|
+
|
777
|
+
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
778
|
+
lambda {
|
779
|
+
@worksheet.change_column_border_left(0,'TEST')
|
780
|
+
}.should raise_error
|
781
|
+
end
|
782
|
+
|
783
|
+
it 'should cause error if a negative argument is passed in' do
|
784
|
+
lambda {
|
785
|
+
@worksheet.change_column_border_left(-1,'thin')
|
786
|
+
}.should raise_error
|
787
|
+
end
|
788
|
+
|
789
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
790
|
+
@worksheet.sheet_data[0].size.should == 11
|
791
|
+
@worksheet.change_column_border_left(11,'thin')
|
792
|
+
@worksheet.get_column_border_left(11).should == 'thin'
|
793
|
+
@worksheet.sheet_data[0].size.should == 12
|
794
|
+
end
|
795
|
+
end
|
796
|
+
|
797
|
+
describe '.change_column_border_right' do
|
798
|
+
it 'should cause column and cells within to have border at right of specified weight' do
|
799
|
+
@worksheet.change_column_border_right(0, 'thin')
|
800
|
+
@worksheet.get_column_border_right(0).should == 'thin'
|
801
|
+
@worksheet[5][0].border_right.should == 'thin'
|
802
|
+
end
|
803
|
+
|
804
|
+
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
805
|
+
lambda {
|
806
|
+
@worksheet.change_column_border_right(0,'TEST')
|
807
|
+
}.should raise_error
|
808
|
+
end
|
809
|
+
|
810
|
+
it 'should cause error if a negative argument is passed in' do
|
811
|
+
lambda {
|
812
|
+
@worksheet.change_column_border_right(-1,'thin')
|
813
|
+
}.should raise_error
|
814
|
+
end
|
815
|
+
|
816
|
+
it 'should expand matrix to fit argument if nonnegative'do
|
817
|
+
@worksheet.sheet_data[0].size.should == 11
|
818
|
+
@worksheet.change_column_border_right(11,'thin')
|
819
|
+
@worksheet.get_column_border_right(11).should == 'thin'
|
820
|
+
@worksheet.sheet_data[0].size.should == 12
|
821
|
+
end
|
822
|
+
end
|
823
|
+
|
824
|
+
describe '.change_column_border_bottom' do
|
825
|
+
it 'should cause column and cells within to have border at bottom of specified weight' do
|
826
|
+
@worksheet.change_column_border_bottom(0, 'thin')
|
827
|
+
@worksheet.get_column_border_bottom(0).should == 'thin'
|
828
|
+
@worksheet[5][0].border_bottom.should == 'thin'
|
829
|
+
end
|
830
|
+
|
831
|
+
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
832
|
+
lambda {
|
833
|
+
@worksheet.change_column_border_bottom(0,'TEST')
|
834
|
+
}.should raise_error
|
835
|
+
end
|
836
|
+
|
837
|
+
it 'should cause error if a negative argument is passed in' do
|
838
|
+
lambda {
|
839
|
+
@worksheet.change_column_border_bottom(-1,'thin')
|
840
|
+
}.should raise_error
|
841
|
+
end
|
842
|
+
|
843
|
+
it 'should expand matrix to fit argument if nonnegative'do
|
844
|
+
@worksheet.sheet_data[0].size.should == 11
|
845
|
+
@worksheet.change_column_border_bottom(11,'thin')
|
846
|
+
@worksheet.get_column_border_bottom(11).should == 'thin'
|
847
|
+
@worksheet.sheet_data[0].size.should == 12
|
848
|
+
end
|
849
|
+
end
|
850
|
+
|
851
|
+
describe '.change_column_border_diagonal' do
|
852
|
+
it 'should cause column and cells within to have border at diagonal of specified weight' do
|
853
|
+
@worksheet.change_column_border_diagonal(0, 'thin')
|
854
|
+
@worksheet.get_column_border_diagonal(0).should == 'thin'
|
855
|
+
@worksheet[5][0].border_diagonal.should == 'thin'
|
856
|
+
end
|
857
|
+
|
858
|
+
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
859
|
+
lambda {
|
860
|
+
@worksheet.change_column_border_diagonal(0,'TEST')
|
861
|
+
}.should raise_error
|
862
|
+
end
|
863
|
+
|
864
|
+
it 'should cause error if a negative argument is passed in' do
|
865
|
+
lambda {
|
866
|
+
@worksheet.change_column_border_diagonal(-1,'thin')
|
867
|
+
}.should raise_error
|
868
|
+
end
|
869
|
+
|
870
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
871
|
+
@worksheet.sheet_data[0].size.should == 11
|
872
|
+
@worksheet.change_column_border_diagonal(11,'thin')
|
873
|
+
@worksheet.get_column_border_diagonal(11).should == 'thin'
|
874
|
+
@worksheet.sheet_data[0].size.should == 12
|
875
|
+
end
|
876
|
+
end
|
877
|
+
|
878
|
+
describe '.merge_cells' do
|
879
|
+
it 'should merge cells in any valid range specified by indices' do
|
880
|
+
@worksheet.merge_cells(0,0,1,1)
|
881
|
+
@worksheet.merged_cells.include?({:attributes=>{:ref=>"A1:B2"}}).should == true
|
882
|
+
end
|
883
|
+
|
884
|
+
it 'should cause an error if a negative number is passed' do
|
885
|
+
lambda {
|
886
|
+
@worksheet.merge_cells(0,0,-1,0)
|
887
|
+
}.should raise_error
|
888
|
+
end
|
889
|
+
end
|
890
|
+
|
891
|
+
describe '.add_cell' do
|
892
|
+
it 'should add new cell where specified, even if a cell is already there (default)' do
|
893
|
+
@worksheet.add_cell(0,0,'TEST')
|
894
|
+
@worksheet[0][0].value.should_not == @old_cell_value
|
895
|
+
@worksheet[0][0].value.should == 'TEST'
|
896
|
+
end
|
897
|
+
|
898
|
+
it 'should add new cell where specified with formula, even if a cell is already there (default)' do
|
899
|
+
@worksheet.add_cell(0,0,'','SUM(A2:A10)')
|
900
|
+
@worksheet[0][0].value.should_not == @old_cell_value
|
901
|
+
@worksheet[0][0].formula.should_not == @old_cell_formula
|
902
|
+
@worksheet[0][0].value.should == ''
|
903
|
+
@worksheet[0][0].formula.should == 'SUM(A2:A10)'
|
904
|
+
end
|
905
|
+
|
906
|
+
it 'should not overwrite when a cell is present when overwrite is specified to be false' do
|
907
|
+
@worksheet.add_cell(0,0,'TEST','B2',false)
|
908
|
+
@worksheet[0][0].value.should == @old_cell_value
|
909
|
+
@worksheet[0][0].formula.should == @old_cell_formula
|
910
|
+
end
|
911
|
+
|
912
|
+
it 'should still add a new cell when there is no cell to be overwritten' do
|
913
|
+
@worksheet.add_cell(11,11,'TEST','B2',false)
|
914
|
+
@worksheet[11][11].value.should == 'TEST'
|
915
|
+
@worksheet[11][11].formula.should == 'B2'
|
916
|
+
end
|
917
|
+
|
918
|
+
it 'should cause error if a negative argument is passed in' do
|
919
|
+
lambda {
|
920
|
+
@worksheet.add_cell(-1,-1,'')
|
921
|
+
}.should raise_error
|
922
|
+
end
|
923
|
+
end
|
924
|
+
|
925
|
+
describe '.add_cell_obj' do
|
926
|
+
it 'should add already created cell object to worksheet, even if a cell is already there (default)' do
|
927
|
+
new_cell = RubyXL::Cell.new(@worksheet,0,0,'TEST','B2')
|
928
|
+
@worksheet.add_cell_obj(new_cell)
|
929
|
+
@worksheet[0][0].value.should_not == @old_cell_value
|
930
|
+
@worksheet[0][0].formula.should_not == @old_cell_formula
|
931
|
+
@worksheet[0][0].value.should == 'TEST'
|
932
|
+
@worksheet[0][0].formula.should == 'B2'
|
933
|
+
end
|
934
|
+
|
935
|
+
it 'should not add already created cell object to already occupied cell if overwrite is false' do
|
936
|
+
new_cell = RubyXL::Cell.new(@worksheet,0,0,'TEST','B2')
|
937
|
+
@worksheet.add_cell_obj(new_cell,false)
|
938
|
+
@worksheet[0][0].value.should == @old_cell_value
|
939
|
+
@worksheet[0][0].formula.should == @old_cell_formula
|
940
|
+
end
|
941
|
+
|
942
|
+
it 'should cause error if a negative argument is passed in' do
|
943
|
+
lambda {
|
944
|
+
@worksheet.add_cell_obj(-1)
|
945
|
+
}.should raise_error
|
946
|
+
end
|
947
|
+
|
948
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
949
|
+
@worksheet.sheet_data.size.should == 11
|
950
|
+
new_cell = RubyXL::Cell.new(@worksheet,11,11,'TEST','B2')
|
951
|
+
@worksheet.add_cell_obj(new_cell)
|
952
|
+
@worksheet.sheet_data.size.should == 12
|
953
|
+
end
|
954
|
+
end
|
955
|
+
|
956
|
+
describe '.insert_row' do
|
957
|
+
it 'should insert a row at index specified, "pushing" everything else "down"' do
|
958
|
+
@worksheet.insert_row(0)
|
959
|
+
@worksheet[0][0].should be_nil
|
960
|
+
@worksheet[1][0].value.should == @old_cell_value
|
961
|
+
@worksheet[1][0].formula.should == @old_cell_formula
|
962
|
+
end
|
963
|
+
|
964
|
+
it 'should insert a row at index specified, copying styles from row "above"' do
|
965
|
+
@worksheet.change_row_font_name(0,'Courier')
|
966
|
+
@worksheet.insert_row(1)
|
967
|
+
@worksheet.get_row_font_name(1).should == 'Courier'
|
968
|
+
end
|
969
|
+
|
970
|
+
it 'should preserve (rather than fix) formulas that reference cells "pushed down" rows' do
|
971
|
+
@worksheet.add_cell(5,0,nil,'SUM(A1:A4)')
|
972
|
+
@worksheet.insert_row(0)
|
973
|
+
@worksheet[6][0].formula.should == 'SUM(A1:A4)'
|
974
|
+
end
|
975
|
+
|
976
|
+
it 'should cause error if a negative argument is passed in' do
|
977
|
+
lambda {
|
978
|
+
@worksheet.insert_row(-1)
|
979
|
+
}.should raise_error
|
980
|
+
end
|
981
|
+
|
982
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
983
|
+
@worksheet.sheet_data.size.should == 11
|
984
|
+
@worksheet.insert_row(11)
|
985
|
+
@worksheet.sheet_data.size.should == 13
|
986
|
+
end
|
987
|
+
end
|
988
|
+
|
989
|
+
describe '.insert_column' do
|
990
|
+
it 'should insert a column at index specified, "pushing" everything else "right"' do
|
991
|
+
@worksheet.insert_column(0)
|
992
|
+
@worksheet[0][0].should be_nil
|
993
|
+
@worksheet[0][1].value.should == @old_cell_value
|
994
|
+
@worksheet[0][1].formula.should == @old_cell_formula
|
995
|
+
end
|
996
|
+
|
997
|
+
it 'should insert a column at index specified, copying styles from column to "left"' do
|
998
|
+
@worksheet.change_column_font_name(0,'Courier')
|
999
|
+
@worksheet.insert_column(1)
|
1000
|
+
@worksheet.get_column_font_name(1).should == 'Courier'
|
1001
|
+
end
|
1002
|
+
|
1003
|
+
it 'should insert a column at 0 without copying any styles, when passed 0 as column index' do
|
1004
|
+
@worksheet.change_column_font_name(0,'Courier')
|
1005
|
+
@worksheet.insert_column(0)
|
1006
|
+
@worksheet.get_column_font_name(0).should == 'Verdana' #not courier
|
1007
|
+
end
|
1008
|
+
|
1009
|
+
it 'should preserve (rather than fix) formulas that reference cells in "pushed right" rows' do
|
1010
|
+
@worksheet.add_cell(0,5,nil,'SUM(A1:D1)')
|
1011
|
+
@worksheet.insert_column(0)
|
1012
|
+
@worksheet[0][6].formula.should == 'SUM(A1:D1)'
|
1013
|
+
end
|
1014
|
+
|
1015
|
+
it 'should cause error if a negative argument is passed in' do
|
1016
|
+
lambda {
|
1017
|
+
@worksheet.insert_column(-1)
|
1018
|
+
}.should raise_error
|
1019
|
+
end
|
1020
|
+
|
1021
|
+
it 'should expand matrix to fit argument if nonnegative' do
|
1022
|
+
@worksheet.sheet_data[0].size.should == 11
|
1023
|
+
@worksheet.insert_column(11)
|
1024
|
+
@worksheet.sheet_data[0].size.should == 13
|
1025
|
+
end
|
1026
|
+
end
|
1027
|
+
|
1028
|
+
describe '.get_row_fill' do
|
1029
|
+
it 'should return white (ffffff) if no fill color specified for row' do
|
1030
|
+
@worksheet.get_row_fill(0).should == 'ffffff'
|
1031
|
+
end
|
1032
|
+
|
1033
|
+
it 'should correctly reflect fill color if specified for row' do
|
1034
|
+
@worksheet.change_row_fill(0, '000000')
|
1035
|
+
@worksheet.get_row_fill(0).should == '000000'
|
1036
|
+
end
|
1037
|
+
|
1038
|
+
it 'should return nil if a row which does not exist is passed in' do
|
1039
|
+
@worksheet.get_row_fill(11).should be_nil
|
1040
|
+
end
|
1041
|
+
|
1042
|
+
it 'should cause error if a negative argument is passed in' do
|
1043
|
+
lambda {
|
1044
|
+
@worksheet.get_row_fill(-1)
|
1045
|
+
}.should raise_error
|
1046
|
+
end
|
1047
|
+
end
|
1048
|
+
|
1049
|
+
describe '.get_row_font_name' do
|
1050
|
+
it 'should correctly reflect font name for row' do
|
1051
|
+
@worksheet.change_row_font_name(0,'Courier')
|
1052
|
+
@worksheet.get_row_font_name(0).should == 'Courier'
|
1053
|
+
end
|
1054
|
+
|
1055
|
+
it 'should cause error if a negative argument is passed in' do
|
1056
|
+
lambda {
|
1057
|
+
@worksheet.get_row_font_name(-1)
|
1058
|
+
}.should raise_error
|
1059
|
+
end
|
1060
|
+
|
1061
|
+
it 'should return nil if a (nonnegative) row which does not exist is passed in' do
|
1062
|
+
@worksheet.get_row_font_name(11).should be_nil
|
1063
|
+
end
|
1064
|
+
end
|
1065
|
+
|
1066
|
+
describe '.get_row_font_size' do
|
1067
|
+
it 'should correctly reflect font size for row' do
|
1068
|
+
@worksheet.change_row_font_size(0,30)
|
1069
|
+
@worksheet.get_row_font_size(0).should == 30
|
1070
|
+
end
|
1071
|
+
|
1072
|
+
it 'should cause error if a negative argument is passed in' do
|
1073
|
+
lambda {
|
1074
|
+
@worksheet.get_row_font_size(-1)
|
1075
|
+
}.should raise_error
|
1076
|
+
end
|
1077
|
+
|
1078
|
+
it 'should return nil if a (nonnegative) row which does not exist is passed in' do
|
1079
|
+
@worksheet.get_row_font_size(11).should be_nil
|
1080
|
+
end
|
1081
|
+
end
|
1082
|
+
|
1083
|
+
describe '.get_row_font_color' do
|
1084
|
+
it 'should correctly reflect font color for row' do
|
1085
|
+
@worksheet.change_row_font_color(0,'0f0f0f')
|
1086
|
+
@worksheet.get_row_font_color(0).should == '0f0f0f'
|
1087
|
+
end
|
1088
|
+
|
1089
|
+
it 'should cause error if a negative argument is passed in' do
|
1090
|
+
lambda {
|
1091
|
+
@worksheet.get_row_font_color(-1)
|
1092
|
+
}.should raise_error
|
1093
|
+
end
|
1094
|
+
|
1095
|
+
it 'should return nil if a (nonnegative) row which does not exist is passed in' do
|
1096
|
+
@worksheet.get_row_font_color(11).should be_nil
|
1097
|
+
end
|
1098
|
+
end
|
1099
|
+
|
1100
|
+
describe '.is_row_italicized' do
|
1101
|
+
it 'should correctly return whether row is italicized' do
|
1102
|
+
@worksheet.change_row_italics(0,true)
|
1103
|
+
@worksheet.is_row_italicized(0).should == true
|
1104
|
+
end
|
1105
|
+
|
1106
|
+
it 'should cause error if a negative argument is passed in' do
|
1107
|
+
lambda {
|
1108
|
+
@worksheet.is_row_italicized(-1)
|
1109
|
+
}.should raise_error
|
1110
|
+
end
|
1111
|
+
|
1112
|
+
it 'should return nil if a (nonnegative) row which does not exist is passed in' do
|
1113
|
+
@worksheet.is_row_italicized(11).should be_nil
|
1114
|
+
end
|
1115
|
+
end
|
1116
|
+
|
1117
|
+
describe '.is_row_bolded' do
|
1118
|
+
it 'should correctly return whether row is bolded' do
|
1119
|
+
@worksheet.change_row_bold(0,true)
|
1120
|
+
@worksheet.is_row_bolded(0).should == true
|
1121
|
+
end
|
1122
|
+
|
1123
|
+
it 'should cause error if a negative argument is passed in' do
|
1124
|
+
lambda {
|
1125
|
+
@worksheet.is_row_bolded(-1)
|
1126
|
+
}.should raise_error
|
1127
|
+
end
|
1128
|
+
|
1129
|
+
it 'should return nil if a (nonnegative) row which does not exist is passed in' do
|
1130
|
+
@worksheet.is_row_bolded(11).should be_nil
|
1131
|
+
end
|
1132
|
+
end
|
1133
|
+
|
1134
|
+
describe '.is_row_underlined' do
|
1135
|
+
it 'should correctly return whether row is underlined' do
|
1136
|
+
@worksheet.change_row_underline(0,true)
|
1137
|
+
@worksheet.is_row_underlined(0).should == true
|
1138
|
+
end
|
1139
|
+
|
1140
|
+
it 'should cause error if a negative argument is passed in' do
|
1141
|
+
lambda {
|
1142
|
+
@worksheet.is_row_underlined(-1)
|
1143
|
+
}.should raise_error
|
1144
|
+
end
|
1145
|
+
|
1146
|
+
it 'should return nil if a (nonnegative) row which does not exist is passed in' do
|
1147
|
+
@worksheet.is_row_underlined(11).should be_nil
|
1148
|
+
end
|
1149
|
+
end
|
1150
|
+
|
1151
|
+
describe '.is_row_struckthrough' do
|
1152
|
+
it 'should correctly return whether row is struckthrough' do
|
1153
|
+
@worksheet.change_row_strikethrough(0,true)
|
1154
|
+
@worksheet.is_row_struckthrough(0).should == true
|
1155
|
+
end
|
1156
|
+
|
1157
|
+
it 'should cause error if a negative argument is passed in' do
|
1158
|
+
lambda {
|
1159
|
+
@worksheet.is_row_struckthrough(-1)
|
1160
|
+
}.should raise_error
|
1161
|
+
end
|
1162
|
+
|
1163
|
+
it 'should return nil if a (nonnegative) row which does not exist is passed in' do
|
1164
|
+
@worksheet.is_row_struckthrough(11).should be_nil
|
1165
|
+
end
|
1166
|
+
end
|
1167
|
+
|
1168
|
+
describe '.get_row_height' do
|
1169
|
+
it 'should return 13 if no height specified for row' do
|
1170
|
+
@worksheet.get_row_height(0).should == 13
|
1171
|
+
end
|
1172
|
+
|
1173
|
+
it 'should correctly reflect height if specified for row' do
|
1174
|
+
@worksheet.change_row_height(0, 30)
|
1175
|
+
@worksheet.get_row_height(0).should == 30
|
1176
|
+
end
|
1177
|
+
|
1178
|
+
it 'should return nil if a row which does not exist is passed in' do
|
1179
|
+
@worksheet.get_row_height(11).should be_nil
|
1180
|
+
end
|
1181
|
+
|
1182
|
+
it 'should cause error if a negative argument is passed in' do
|
1183
|
+
lambda {
|
1184
|
+
@worksheet.get_row_height(-1)
|
1185
|
+
}.should raise_error
|
1186
|
+
end
|
1187
|
+
end
|
1188
|
+
|
1189
|
+
describe '.get_row_horizontal_alignment' do
|
1190
|
+
it 'should return nil if no alignment specified for row' do
|
1191
|
+
@worksheet.get_row_horizontal_alignment(0).should be_nil
|
1192
|
+
end
|
1193
|
+
|
1194
|
+
it 'should return nil if a row which does not exist is passed in' do
|
1195
|
+
@worksheet.get_row_horizontal_alignment(11).should be_nil
|
1196
|
+
end
|
1197
|
+
|
1198
|
+
it 'should cause error if a negative argument is passed in' do
|
1199
|
+
lambda {
|
1200
|
+
@worksheet.get_row_horizontal_alignment(-1)
|
1201
|
+
}.should raise_error
|
1202
|
+
end
|
1203
|
+
|
1204
|
+
it 'should return correct horizontal alignment if it is set for that row' do
|
1205
|
+
@worksheet.change_row_horizontal_alignment(0, 'center')
|
1206
|
+
@worksheet.get_row_horizontal_alignment(0).should == 'center'
|
1207
|
+
end
|
1208
|
+
end
|
1209
|
+
|
1210
|
+
describe '.get_row_vertical_alignment' do
|
1211
|
+
it 'should return nil if no alignment specified for row' do
|
1212
|
+
@worksheet.get_row_vertical_alignment(0).should be_nil
|
1213
|
+
end
|
1214
|
+
|
1215
|
+
it 'should return nil if a row which does not exist is passed in' do
|
1216
|
+
@worksheet.get_row_vertical_alignment(11).should be_nil
|
1217
|
+
end
|
1218
|
+
|
1219
|
+
it 'should cause error if a negative argument is passed in' do
|
1220
|
+
lambda {
|
1221
|
+
@worksheet.get_row_vertical_alignment(-1)
|
1222
|
+
}.should raise_error
|
1223
|
+
end
|
1224
|
+
|
1225
|
+
it 'should return correct vertical alignment if it is set for that row' do
|
1226
|
+
@worksheet.change_row_vertical_alignment(0, 'center')
|
1227
|
+
@worksheet.get_row_vertical_alignment(0).should == 'center'
|
1228
|
+
end
|
1229
|
+
end
|
1230
|
+
|
1231
|
+
describe '.get_row_border_top' do
|
1232
|
+
it 'should return nil if no border is specified for that row in that direction' do
|
1233
|
+
@worksheet.get_row_border_top(0).should be_nil
|
1234
|
+
end
|
1235
|
+
|
1236
|
+
it 'should return type of border that this row has on top' do
|
1237
|
+
@worksheet.change_row_border_top(0,'thin')
|
1238
|
+
@worksheet.get_row_border_top(0).should == 'thin'
|
1239
|
+
end
|
1240
|
+
|
1241
|
+
it 'should cause error if a negative argument is passed in' do
|
1242
|
+
lambda {
|
1243
|
+
@worksheet.get_row_border_top(-1)
|
1244
|
+
}.should raise_error
|
1245
|
+
end
|
1246
|
+
|
1247
|
+
it 'should return nil if a row which does not exist is passed in' do
|
1248
|
+
@worksheet.get_row_border_top(11).should be_nil
|
1249
|
+
end
|
1250
|
+
end
|
1251
|
+
|
1252
|
+
describe '.get_row_border_left' do
|
1253
|
+
it 'should return nil if no border is specified for that row in that direction' do
|
1254
|
+
@worksheet.get_row_border_left(0).should be_nil
|
1255
|
+
end
|
1256
|
+
|
1257
|
+
it 'should return type of border that this row has on left' do
|
1258
|
+
@worksheet.change_row_border_left(0,'thin')
|
1259
|
+
@worksheet.get_row_border_left(0).should == 'thin'
|
1260
|
+
end
|
1261
|
+
|
1262
|
+
it 'should cause error if a negative argument is passed in' do
|
1263
|
+
lambda {
|
1264
|
+
@worksheet.get_row_border_left(-1)
|
1265
|
+
}.should raise_error
|
1266
|
+
end
|
1267
|
+
|
1268
|
+
it 'should return nil if a row which does not exist is passed in' do
|
1269
|
+
@worksheet.get_row_border_left(11).should be_nil
|
1270
|
+
end
|
1271
|
+
end
|
1272
|
+
|
1273
|
+
describe '.get_row_border_right' do
|
1274
|
+
it 'should return nil if no border is specified for that row in that direction' do
|
1275
|
+
@worksheet.get_row_border_right(0).should be_nil
|
1276
|
+
end
|
1277
|
+
|
1278
|
+
it 'should return type of border that this row has on right' do
|
1279
|
+
@worksheet.change_row_border_right(0,'thin')
|
1280
|
+
@worksheet.get_row_border_right(0).should == 'thin'
|
1281
|
+
end
|
1282
|
+
|
1283
|
+
it 'should cause error if a negative argument is passed in' do
|
1284
|
+
lambda {
|
1285
|
+
@worksheet.get_row_border_right(-1)
|
1286
|
+
}.should raise_error
|
1287
|
+
end
|
1288
|
+
|
1289
|
+
it 'should return nil if a row which does not exist is passed in' do
|
1290
|
+
@worksheet.get_row_border_right(11).should be_nil
|
1291
|
+
end
|
1292
|
+
end
|
1293
|
+
|
1294
|
+
|
1295
|
+
describe '.get_row_border_bottom' do
|
1296
|
+
it 'should return nil if no border is specified for that row in that direction' do
|
1297
|
+
@worksheet.get_row_border_bottom(0).should be_nil
|
1298
|
+
end
|
1299
|
+
|
1300
|
+
it 'should return type of border that this row has on bottom' do
|
1301
|
+
@worksheet.change_row_border_bottom(0,'thin')
|
1302
|
+
@worksheet.get_row_border_bottom(0).should == 'thin'
|
1303
|
+
end
|
1304
|
+
|
1305
|
+
it 'should cause error if a negative argument is passed in' do
|
1306
|
+
lambda {
|
1307
|
+
@worksheet.get_row_border_bottom(-1)
|
1308
|
+
}.should raise_error
|
1309
|
+
end
|
1310
|
+
|
1311
|
+
it 'should return nil if a row which does not exist is passed in' do
|
1312
|
+
@worksheet.get_row_border_bottom(11).should be_nil
|
1313
|
+
end
|
1314
|
+
end
|
1315
|
+
|
1316
|
+
describe '.get_row_border_diagonal' do
|
1317
|
+
it 'should return nil if no border is specified for that row in that direction' do
|
1318
|
+
@worksheet.get_row_border_diagonal(0).should be_nil
|
1319
|
+
end
|
1320
|
+
|
1321
|
+
it 'should return type of border that this row has on diagonal' do
|
1322
|
+
@worksheet.change_row_border_diagonal(0,'thin')
|
1323
|
+
@worksheet.get_row_border_diagonal(0).should == 'thin'
|
1324
|
+
end
|
1325
|
+
|
1326
|
+
it 'should cause error if a negative argument is passed in' do
|
1327
|
+
lambda {
|
1328
|
+
@worksheet.get_row_border_diagonal(-1)
|
1329
|
+
}.should raise_error
|
1330
|
+
end
|
1331
|
+
|
1332
|
+
it 'should return nil if a row which does not exist is passed in' do
|
1333
|
+
@worksheet.get_row_border_diagonal(11).should be_nil
|
1334
|
+
end
|
1335
|
+
end
|
1336
|
+
|
1337
|
+
describe '.get_column_font_name' do
|
1338
|
+
it 'should correctly reflect font name for column' do
|
1339
|
+
@worksheet.change_column_font_name(0,'Courier')
|
1340
|
+
@worksheet.get_column_font_name(0).should == 'Courier'
|
1341
|
+
end
|
1342
|
+
|
1343
|
+
it 'should cause error if a negative argument is passed in' do
|
1344
|
+
lambda {
|
1345
|
+
@worksheet.get_column_font_name(-1)
|
1346
|
+
}.should raise_error
|
1347
|
+
end
|
1348
|
+
|
1349
|
+
it 'should return nil if a (nonnegative) column which does not exist is passed in' do
|
1350
|
+
@worksheet.get_column_font_name(11).should be_nil
|
1351
|
+
end
|
1352
|
+
end
|
1353
|
+
|
1354
|
+
describe '.get_column_font_size' do
|
1355
|
+
it 'should correctly reflect font size for column' do
|
1356
|
+
@worksheet.change_column_font_size(0,30)
|
1357
|
+
@worksheet.get_column_font_size(0).should == 30
|
1358
|
+
end
|
1359
|
+
|
1360
|
+
it 'should cause error if a negative argument is passed in' do
|
1361
|
+
lambda {
|
1362
|
+
@worksheet.get_column_font_size(-1)
|
1363
|
+
}.should raise_error
|
1364
|
+
end
|
1365
|
+
|
1366
|
+
it 'should return nil if a (nonnegative) column which does not exist is passed in' do
|
1367
|
+
@worksheet.get_column_font_size(11).should be_nil
|
1368
|
+
end
|
1369
|
+
end
|
1370
|
+
|
1371
|
+
describe '.get_column_font_color' do
|
1372
|
+
it 'should correctly reflect font color for column' do
|
1373
|
+
@worksheet.change_column_font_color(0,'0f0f0f')
|
1374
|
+
@worksheet.get_column_font_color(0).should == '0f0f0f'
|
1375
|
+
end
|
1376
|
+
|
1377
|
+
it 'should cause error if a negative argument is passed in' do
|
1378
|
+
lambda {
|
1379
|
+
@worksheet.get_column_font_color(-1)
|
1380
|
+
}.should raise_error
|
1381
|
+
end
|
1382
|
+
|
1383
|
+
it 'should return nil if a (nonnegative) column which does not exist is passed in' do
|
1384
|
+
@worksheet.get_column_font_color(11).should be_nil
|
1385
|
+
end
|
1386
|
+
|
1387
|
+
it 'should return black (000000) if no rgb font color is specified' do
|
1388
|
+
@worksheet.get_column_font_color(0).should == '000000'
|
1389
|
+
end
|
1390
|
+
end
|
1391
|
+
|
1392
|
+
describe '.is_column_italicized' do
|
1393
|
+
it 'should correctly return whether column is italicized' do
|
1394
|
+
@worksheet.change_column_italics(0,true)
|
1395
|
+
@worksheet.is_column_italicized(0).should == true
|
1396
|
+
end
|
1397
|
+
|
1398
|
+
it 'should cause error if a negative argument is passed in' do
|
1399
|
+
lambda {
|
1400
|
+
@worksheet.is_column_italicized(-1)
|
1401
|
+
}.should raise_error
|
1402
|
+
end
|
1403
|
+
|
1404
|
+
it 'should return nil if a (nonnegative) column which does not exist is passed in' do
|
1405
|
+
@worksheet.is_column_italicized(11).should be_nil
|
1406
|
+
end
|
1407
|
+
end
|
1408
|
+
|
1409
|
+
describe '.is_column_bolded' do
|
1410
|
+
it 'should correctly return whether column is bolded' do
|
1411
|
+
@worksheet.change_column_bold(0,true)
|
1412
|
+
@worksheet.is_column_bolded(0).should == true
|
1413
|
+
end
|
1414
|
+
|
1415
|
+
it 'should cause error if a negative argument is passed in' do
|
1416
|
+
lambda {
|
1417
|
+
@worksheet.is_column_bolded(-1)
|
1418
|
+
}.should raise_error
|
1419
|
+
end
|
1420
|
+
|
1421
|
+
it 'should return nil if a (nonnegative) column which does not exist is passed in' do
|
1422
|
+
@worksheet.is_column_bolded(11).should be_nil
|
1423
|
+
end
|
1424
|
+
end
|
1425
|
+
|
1426
|
+
describe '.is_column_underlined' do
|
1427
|
+
it 'should correctly return whether column is underlined' do
|
1428
|
+
@worksheet.change_column_underline(0,true)
|
1429
|
+
@worksheet.is_column_underlined(0).should == true
|
1430
|
+
end
|
1431
|
+
|
1432
|
+
it 'should cause error if a negative argument is passed in' do
|
1433
|
+
lambda {
|
1434
|
+
@worksheet.is_column_underlined(-1)
|
1435
|
+
}.should raise_error
|
1436
|
+
end
|
1437
|
+
|
1438
|
+
it 'should return nil if a (nonnegative) column which does not exist is passed in' do
|
1439
|
+
@worksheet.is_column_underlined(11).should be_nil
|
1440
|
+
end
|
1441
|
+
end
|
1442
|
+
|
1443
|
+
describe '.is_column_struckthrough' do
|
1444
|
+
it 'should correctly return whether column is struckthrough' do
|
1445
|
+
@worksheet.change_column_strikethrough(0,true)
|
1446
|
+
@worksheet.is_column_struckthrough(0).should == true
|
1447
|
+
end
|
1448
|
+
|
1449
|
+
it 'should cause error if a negative argument is passed in' do
|
1450
|
+
lambda {
|
1451
|
+
@worksheet.is_column_struckthrough(-1)
|
1452
|
+
}.should raise_error
|
1453
|
+
end
|
1454
|
+
|
1455
|
+
it 'should return nil if a (nonnegative) column which does not exist is passed in' do
|
1456
|
+
@worksheet.is_column_struckthrough(11).should be_nil
|
1457
|
+
end
|
1458
|
+
end
|
1459
|
+
|
1460
|
+
describe '.get_column_width' do
|
1461
|
+
it 'should return 10 (base column width) if no width specified for column' do
|
1462
|
+
@worksheet.get_column_width(0).should == 10
|
1463
|
+
end
|
1464
|
+
|
1465
|
+
it 'should correctly reflect width if specified for column' do
|
1466
|
+
@worksheet.change_column_width(0, 30)
|
1467
|
+
@worksheet.get_column_width(0).should == 30
|
1468
|
+
end
|
1469
|
+
|
1470
|
+
it 'should return nil if a column which does not exist is passed in' do
|
1471
|
+
@worksheet.get_column_width(11).should be_nil
|
1472
|
+
end
|
1473
|
+
|
1474
|
+
it 'should cause error if a negative argument is passed in' do
|
1475
|
+
lambda {
|
1476
|
+
@worksheet.get_column_width(-1)
|
1477
|
+
}.should raise_error
|
1478
|
+
end
|
1479
|
+
end
|
1480
|
+
|
1481
|
+
describe '.get_column_fill' do
|
1482
|
+
it 'should return white (ffffff) if no fill color specified for column' do
|
1483
|
+
@worksheet.get_column_fill(0).should == 'ffffff'
|
1484
|
+
end
|
1485
|
+
|
1486
|
+
it 'should correctly reflect fill color if specified for column' do
|
1487
|
+
@worksheet.change_column_fill(0, '000000')
|
1488
|
+
@worksheet.get_column_fill(0).should == '000000'
|
1489
|
+
end
|
1490
|
+
|
1491
|
+
it 'should return nil if a column which does not exist is passed in' do
|
1492
|
+
@worksheet.get_column_fill(11).should be_nil
|
1493
|
+
end
|
1494
|
+
|
1495
|
+
it 'should cause error if a negative argument is passed in' do
|
1496
|
+
lambda {
|
1497
|
+
@worksheet.get_column_fill(-1)
|
1498
|
+
}.should raise_error
|
1499
|
+
end
|
1500
|
+
end
|
1501
|
+
|
1502
|
+
describe '.get_column_horizontal_alignment' do
|
1503
|
+
it 'should return nil if no alignment specified for column' do
|
1504
|
+
@worksheet.get_column_horizontal_alignment(0).should be_nil
|
1505
|
+
end
|
1506
|
+
|
1507
|
+
it 'should return nil if a column which does not exist is passed in' do
|
1508
|
+
@worksheet.get_column_horizontal_alignment(11).should be_nil
|
1509
|
+
end
|
1510
|
+
|
1511
|
+
it 'should cause error if a negative argument is passed in' do
|
1512
|
+
lambda {
|
1513
|
+
@worksheet.get_column_horizontal_alignment(-1)
|
1514
|
+
}.should raise_error
|
1515
|
+
end
|
1516
|
+
|
1517
|
+
it 'should return correct horizontal alignment if it is set for that column' do
|
1518
|
+
@worksheet.change_column_horizontal_alignment(0, 'center')
|
1519
|
+
@worksheet.get_column_horizontal_alignment(0).should == 'center'
|
1520
|
+
end
|
1521
|
+
end
|
1522
|
+
|
1523
|
+
describe '.get_column_vertical_alignment' do
|
1524
|
+
it 'should return nil if no alignment specified for column' do
|
1525
|
+
@worksheet.get_column_vertical_alignment(0).should be_nil
|
1526
|
+
end
|
1527
|
+
|
1528
|
+
it 'should return nil if a column which does not exist is passed in' do
|
1529
|
+
@worksheet.get_column_vertical_alignment(11).should be_nil
|
1530
|
+
end
|
1531
|
+
|
1532
|
+
it 'should cause error if a negative argument is passed in' do
|
1533
|
+
lambda {
|
1534
|
+
@worksheet.get_column_vertical_alignment(-1)
|
1535
|
+
}.should raise_error
|
1536
|
+
end
|
1537
|
+
|
1538
|
+
it 'should return correct vertical alignment if it is set for that column' do
|
1539
|
+
@worksheet.change_column_vertical_alignment(0, 'center')
|
1540
|
+
@worksheet.get_column_vertical_alignment(0).should == 'center'
|
1541
|
+
end
|
1542
|
+
end
|
1543
|
+
|
1544
|
+
describe '.get_column_border_top' do
|
1545
|
+
it 'should return nil if no border is specified for that column in that direction' do
|
1546
|
+
@worksheet.get_column_border_top(0).should be_nil
|
1547
|
+
end
|
1548
|
+
|
1549
|
+
it 'should return type of border that this column has on top' do
|
1550
|
+
@worksheet.change_column_border_top(0,'thin')
|
1551
|
+
@worksheet.get_column_border_top(0).should == 'thin'
|
1552
|
+
end
|
1553
|
+
|
1554
|
+
it 'should cause error if a negative argument is passed in' do
|
1555
|
+
lambda {
|
1556
|
+
@worksheet.get_column_border_top(-1)
|
1557
|
+
}.should raise_error
|
1558
|
+
end
|
1559
|
+
|
1560
|
+
it 'should return nil if a column which does not exist is passed in' do
|
1561
|
+
@worksheet.get_column_border_top(11).should be_nil
|
1562
|
+
end
|
1563
|
+
end
|
1564
|
+
|
1565
|
+
describe '.get_column_border_left' do
|
1566
|
+
it 'should return nil if no border is specified for that column in that direction' do
|
1567
|
+
@worksheet.get_column_border_left(0).should be_nil
|
1568
|
+
end
|
1569
|
+
|
1570
|
+
it 'should return type of border that this column has on left' do
|
1571
|
+
@worksheet.change_column_border_left(0,'thin')
|
1572
|
+
@worksheet.get_column_border_left(0).should == 'thin'
|
1573
|
+
end
|
1574
|
+
|
1575
|
+
it 'should cause error if a negative argument is passed in' do
|
1576
|
+
lambda {
|
1577
|
+
@worksheet.get_column_border_left(-1)
|
1578
|
+
}.should raise_error
|
1579
|
+
end
|
1580
|
+
|
1581
|
+
it 'should return nil if a column which does not exist is passed in' do
|
1582
|
+
@worksheet.get_column_border_left(11).should be_nil
|
1583
|
+
end
|
1584
|
+
end
|
1585
|
+
|
1586
|
+
describe '.get_column_border_right' do
|
1587
|
+
it 'should return nil if no border is specified for that column in that direction' do
|
1588
|
+
@worksheet.get_column_border_right(0).should be_nil
|
1589
|
+
end
|
1590
|
+
|
1591
|
+
it 'should return type of border that this column has on right' do
|
1592
|
+
@worksheet.change_column_border_right(0,'thin')
|
1593
|
+
@worksheet.get_column_border_right(0).should == 'thin'
|
1594
|
+
end
|
1595
|
+
|
1596
|
+
it 'should cause error if a negative argument is passed in' do
|
1597
|
+
lambda {
|
1598
|
+
@worksheet.get_column_border_right(-1)
|
1599
|
+
}.should raise_error
|
1600
|
+
end
|
1601
|
+
|
1602
|
+
it 'should return nil if a column which does not exist is passed in' do
|
1603
|
+
@worksheet.get_column_border_right(11).should be_nil
|
1604
|
+
end
|
1605
|
+
end
|
1606
|
+
|
1607
|
+
|
1608
|
+
describe '.get_column_border_bottom' do
|
1609
|
+
it 'should return nil if no border is specified for that column in that direction' do
|
1610
|
+
@worksheet.get_column_border_bottom(0).should be_nil
|
1611
|
+
end
|
1612
|
+
|
1613
|
+
it 'should return type of border that this column has on bottom' do
|
1614
|
+
@worksheet.change_column_border_bottom(0,'thin')
|
1615
|
+
@worksheet.get_column_border_bottom(0).should == 'thin'
|
1616
|
+
end
|
1617
|
+
|
1618
|
+
it 'should cause error if a negative argument is passed in' do
|
1619
|
+
lambda {
|
1620
|
+
@worksheet.get_column_border_bottom(-1)
|
1621
|
+
}.should raise_error
|
1622
|
+
end
|
1623
|
+
|
1624
|
+
it 'should return nil if a column which does not exist is passed in' do
|
1625
|
+
@worksheet.get_column_border_bottom(11).should be_nil
|
1626
|
+
end
|
1627
|
+
end
|
1628
|
+
|
1629
|
+
describe '.get_column_border_diagonal' do
|
1630
|
+
it 'should return nil if no border is specified for that column in that direction' do
|
1631
|
+
@worksheet.get_column_border_diagonal(0).should be_nil
|
1632
|
+
end
|
1633
|
+
|
1634
|
+
it 'should return type of border that this column has on diagonal' do
|
1635
|
+
@worksheet.change_column_border_diagonal(0,'thin')
|
1636
|
+
@worksheet.get_column_border_diagonal(0).should == 'thin'
|
1637
|
+
end
|
1638
|
+
|
1639
|
+
it 'should cause error if a negative argument is passed in' do
|
1640
|
+
lambda {
|
1641
|
+
@worksheet.get_column_border_diagonal(-1)
|
1642
|
+
}.should raise_error
|
1643
|
+
end
|
1644
|
+
|
1645
|
+
it 'should return nil if a column which does not exist is passed in' do
|
1646
|
+
@worksheet.get_column_border_diagonal(11).should be_nil
|
1647
|
+
end
|
1648
|
+
end
|
1649
|
+
|
1650
|
+
end
|