rubyXL 1.2.10 → 2.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +14 -10
- data/Gemfile.lock +80 -21
- data/LICENSE.txt +1 -1
- data/README.rdoc +88 -82
- data/Rakefile +7 -2
- data/VERSION +1 -1
- data/lib/rubyXL.rb +13 -7
- data/lib/rubyXL/cell.rb +108 -268
- data/lib/rubyXL/generic_storage.rb +40 -0
- data/lib/rubyXL/objects/border.rb +66 -0
- data/lib/rubyXL/objects/calculation_chain.rb +28 -0
- data/lib/rubyXL/objects/cell_style.rb +75 -0
- data/lib/rubyXL/objects/color.rb +25 -0
- data/lib/rubyXL/objects/column_range.rb +74 -0
- data/lib/rubyXL/objects/container_nodes.rb +122 -0
- data/lib/rubyXL/objects/data_validation.rb +43 -0
- data/lib/rubyXL/objects/document_properties.rb +76 -0
- data/lib/rubyXL/objects/extensions.rb +36 -0
- data/lib/rubyXL/objects/fill.rb +57 -0
- data/lib/rubyXL/objects/font.rb +111 -0
- data/lib/rubyXL/objects/formula.rb +24 -0
- data/lib/rubyXL/objects/ooxml_object.rb +295 -0
- data/lib/rubyXL/objects/reference.rb +110 -0
- data/lib/rubyXL/objects/relationships.rb +59 -0
- data/lib/rubyXL/objects/shared_strings.rb +57 -0
- data/lib/rubyXL/objects/sheet_data.rb +149 -0
- data/lib/rubyXL/objects/sheet_view.rb +71 -0
- data/lib/rubyXL/objects/stylesheet.rb +200 -0
- data/lib/rubyXL/objects/text.rb +87 -0
- data/lib/rubyXL/objects/theme.rb +64 -0
- data/lib/rubyXL/objects/workbook.rb +233 -0
- data/lib/rubyXL/objects/worksheet.rb +485 -0
- data/lib/rubyXL/parser.rb +78 -442
- data/lib/rubyXL/workbook.rb +216 -385
- data/lib/rubyXL/worksheet.rb +509 -1062
- data/lib/rubyXL/writer/content_types_writer.rb +104 -68
- data/lib/rubyXL/writer/core_writer.rb +26 -43
- data/lib/rubyXL/writer/generic_writer.rb +43 -0
- data/lib/rubyXL/writer/root_rels_writer.rb +11 -19
- data/lib/rubyXL/writer/styles_writer.rb +6 -398
- data/lib/rubyXL/writer/theme_writer.rb +321 -327
- data/lib/rubyXL/writer/workbook_writer.rb +63 -67
- data/lib/rubyXL/writer/worksheet_writer.rb +29 -218
- data/rdoc/created.rid +39 -0
- data/rdoc/fonts.css +167 -0
- data/rdoc/fonts/Lato-Light.ttf +0 -0
- data/rdoc/fonts/Lato-LightItalic.ttf +0 -0
- data/rdoc/fonts/Lato-Regular.ttf +0 -0
- data/rdoc/fonts/Lato-RegularItalic.ttf +0 -0
- data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
- data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
- data/rdoc/images/add.png +0 -0
- data/rdoc/images/arrow_up.png +0 -0
- data/rdoc/images/brick.png +0 -0
- data/rdoc/images/brick_link.png +0 -0
- data/rdoc/images/bug.png +0 -0
- data/rdoc/images/bullet_black.png +0 -0
- data/rdoc/images/bullet_toggle_minus.png +0 -0
- data/rdoc/images/bullet_toggle_plus.png +0 -0
- data/rdoc/images/date.png +0 -0
- data/rdoc/images/delete.png +0 -0
- data/rdoc/images/find.png +0 -0
- data/rdoc/images/loadingAnimation.gif +0 -0
- data/rdoc/images/macFFBgHack.png +0 -0
- data/rdoc/images/package.png +0 -0
- data/rdoc/images/page_green.png +0 -0
- data/rdoc/images/page_white_text.png +0 -0
- data/rdoc/images/page_white_width.png +0 -0
- data/rdoc/images/plugin.png +0 -0
- data/rdoc/images/ruby.png +0 -0
- data/rdoc/images/tag_blue.png +0 -0
- data/rdoc/images/tag_green.png +0 -0
- data/rdoc/images/transparent.png +0 -0
- data/rdoc/images/wrench.png +0 -0
- data/rdoc/images/wrench_orange.png +0 -0
- data/rdoc/images/zoom.png +0 -0
- data/rdoc/js/darkfish.js +140 -0
- data/rdoc/js/jquery.js +18 -0
- data/rdoc/js/navigation.js +142 -0
- data/rdoc/js/search.js +109 -0
- data/rdoc/js/search_index.js +1 -0
- data/rdoc/js/searcher.js +228 -0
- data/rdoc/rdoc.css +580 -0
- data/rubyXL.gemspec +90 -34
- data/spec/lib/cell_spec.rb +29 -59
- data/spec/lib/parser_spec.rb +35 -19
- data/spec/lib/reference_spec.rb +29 -0
- data/spec/lib/stylesheet_spec.rb +29 -0
- data/spec/lib/workbook_spec.rb +22 -17
- data/spec/lib/worksheet_spec.rb +47 -202
- metadata +185 -148
- data/lib/.DS_Store +0 -0
- data/lib/rubyXL/Hash.rb +0 -60
- data/lib/rubyXL/color.rb +0 -14
- data/lib/rubyXL/private_class.rb +0 -265
- data/lib/rubyXL/writer/app_writer.rb +0 -62
- data/lib/rubyXL/writer/calc_chain_writer.rb +0 -33
- data/lib/rubyXL/writer/shared_strings_writer.rb +0 -30
- data/lib/rubyXL/writer/workbook_rels_writer.rb +0 -59
- data/lib/rubyXL/zip.rb +0 -20
- data/spec/lib/hash_spec.rb +0 -28
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rubyXL'
|
3
|
+
|
4
|
+
describe RubyXL::NumberFormat do
|
5
|
+
|
6
|
+
describe '.is_date_format?' do
|
7
|
+
it 'should return true if number format = dd// yy// mm' do
|
8
|
+
RubyXL::NumberFormat.new(:num_fmt_id => 1, :format_code => 'dd// yy// mm').is_date_format?().should == true
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should return true if number format = DD// YY// MM (uppercase)' do
|
12
|
+
RubyXL::NumberFormat.new(:num_fmt_id => 1, :format_code => 'DD// YY// MM').is_date_format?().should == true
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'should return false if number format = @' do
|
16
|
+
RubyXL::NumberFormat.new(:num_fmt_id => 1, :format_code => '@').is_date_format?().should == false
|
17
|
+
RubyXL::NumberFormat.new(:num_fmt_id => 1, :format_code => 'general').is_date_format?().should == false
|
18
|
+
RubyXL::NumberFormat.new(:num_fmt_id => 1, :format_code => '0.00e+00').is_date_format?().should == false
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'should properly detect date formats amongst default ones' do
|
22
|
+
all_formats = RubyXL::NumberFormatContainer::DEFAULT_NUMBER_FORMATS.number_formats
|
23
|
+
id_list = all_formats.collect { |fmt| fmt.num_fmt_id if fmt.is_date_format? }.compact.sort
|
24
|
+
id_list.should == [14, 15, 16, 17, 18, 19, 20, 21, 22, 45, 46, 47]
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
data/spec/lib/workbook_spec.rb
CHANGED
@@ -4,48 +4,53 @@ require 'rubyXL'
|
|
4
4
|
describe RubyXL::Workbook do
|
5
5
|
before do
|
6
6
|
@workbook = RubyXL::Workbook.new
|
7
|
-
@worksheet =
|
8
|
-
|
7
|
+
@worksheet = @workbook.add_worksheet('Test Worksheet')
|
8
|
+
|
9
9
|
(0..10).each do |i|
|
10
10
|
(0..10).each do |j|
|
11
11
|
@worksheet.add_cell(i, j, "#{i}:#{j}")
|
12
12
|
end
|
13
13
|
end
|
14
|
+
|
14
15
|
@cell = @worksheet[0][0]
|
15
16
|
end
|
16
17
|
|
17
|
-
describe '.
|
18
|
-
|
18
|
+
describe '.new' do
|
19
|
+
it 'should automatically create a blank worksheet named "Sheet1"' do
|
20
|
+
@workbook[0].sheet_name.should == 'Sheet1'
|
21
|
+
end
|
19
22
|
end
|
20
23
|
|
21
|
-
describe '
|
22
|
-
it 'should
|
23
|
-
@workbook.
|
24
|
+
describe '[]' do
|
25
|
+
it 'should properly locate worksheet by index' do
|
26
|
+
@workbook[1].sheet_name.should == 'Test Worksheet'
|
24
27
|
end
|
25
28
|
|
26
|
-
it 'should
|
27
|
-
@workbook
|
29
|
+
it 'should properly locate worksheet by name' do
|
30
|
+
@workbook['Test Worksheet'].sheet_name.should == 'Test Worksheet'
|
28
31
|
end
|
29
32
|
end
|
30
33
|
|
31
|
-
describe '.
|
32
|
-
it '
|
33
|
-
@workbook.
|
34
|
+
describe '.add_worksheet' do
|
35
|
+
it 'when not given a name, it should automatically pick a name "SheetX" that is not taken yet' do
|
36
|
+
@workbook.add_worksheet
|
37
|
+
@workbook['Sheet2'].sheet_name.should == 'Sheet2'
|
34
38
|
end
|
39
|
+
end
|
35
40
|
|
36
|
-
|
37
|
-
|
38
|
-
end
|
41
|
+
describe '.write' do
|
42
|
+
#method not conducive to unit tests
|
39
43
|
end
|
40
44
|
|
41
45
|
describe '.get_fill_color' do
|
42
46
|
it 'should return the fill color of a particular style attribute' do
|
43
47
|
@cell.change_fill('000000')
|
44
|
-
@workbook.get_fill_color(@workbook.
|
48
|
+
@workbook.get_fill_color(@workbook.cell_xfs[@cell.style_index]).should == '000000'
|
45
49
|
end
|
46
50
|
|
47
51
|
it 'should return white (ffffff) if no fill color is specified in style' do
|
48
|
-
@workbook.get_fill_color(@workbook.
|
52
|
+
@workbook.get_fill_color(@workbook.cell_xfs[@cell.style_index]).should == 'ffffff'
|
49
53
|
end
|
50
54
|
end
|
55
|
+
|
51
56
|
end
|
data/spec/lib/worksheet_spec.rb
CHANGED
@@ -4,8 +4,8 @@ require 'rubyXL'
|
|
4
4
|
describe RubyXL::Worksheet do
|
5
5
|
before do
|
6
6
|
@workbook = RubyXL::Workbook.new
|
7
|
-
@worksheet =
|
8
|
-
|
7
|
+
@worksheet = @workbook.add_worksheet
|
8
|
+
|
9
9
|
(0..10).each do |i|
|
10
10
|
(0..10).each do |j|
|
11
11
|
@worksheet.add_cell(i, j, "#{i}:#{j}")
|
@@ -47,7 +47,7 @@ describe RubyXL::Worksheet do
|
|
47
47
|
end
|
48
48
|
|
49
49
|
describe '.change_row_fill' do
|
50
|
-
|
50
|
+
it 'should raise error if hex color code not passed' do
|
51
51
|
lambda {
|
52
52
|
@worksheet.change_row_fill(0, 'G')
|
53
53
|
}.should raise_error
|
@@ -59,13 +59,13 @@ describe RubyXL::Worksheet do
|
|
59
59
|
}.should raise_error
|
60
60
|
end
|
61
61
|
|
62
|
-
|
63
|
-
|
62
|
+
it 'should make row and cell fill colors equal hex color code passed' do
|
63
|
+
@worksheet.change_row_fill(0, '111111')
|
64
64
|
@worksheet.get_row_fill(0).should == '111111'
|
65
65
|
@worksheet[0][5].fill_color.should == '111111'
|
66
|
-
|
66
|
+
end
|
67
67
|
|
68
|
-
|
68
|
+
it 'should cause error if a negative argument is passed in' do
|
69
69
|
lambda {
|
70
70
|
@worksheet.change_row_fill(-1,'111111')
|
71
71
|
}.should raise_error
|
@@ -282,11 +282,6 @@ describe RubyXL::Worksheet do
|
|
282
282
|
@worksheet[0][5].horizontal_alignment.should == 'center'
|
283
283
|
end
|
284
284
|
|
285
|
-
it 'should cause error if nil, "center", "justify", "left", "right", or "distributed" is not passed' do
|
286
|
-
lambda {
|
287
|
-
@worksheet.change_row_horizontal_alignment(0,'TEST')
|
288
|
-
}.should raise_error
|
289
|
-
end
|
290
285
|
|
291
286
|
it 'should cause error if a negative argument is passed in' do
|
292
287
|
lambda {
|
@@ -309,12 +304,6 @@ describe RubyXL::Worksheet do
|
|
309
304
|
@worksheet[0][5].vertical_alignment.should == 'center'
|
310
305
|
end
|
311
306
|
|
312
|
-
it 'should cause error if nil, "center", "justify", "top", "bottom", or "distributed" is not passed' do
|
313
|
-
lambda {
|
314
|
-
@worksheet.change_row_vertical_alignment(0,'TEST')
|
315
|
-
}.should raise_error
|
316
|
-
end
|
317
|
-
|
318
307
|
it 'should cause error if a negative argument is passed in' do
|
319
308
|
lambda {
|
320
309
|
@worksheet.change_row_vertical_alignment(-1,'center')
|
@@ -336,12 +325,6 @@ describe RubyXL::Worksheet do
|
|
336
325
|
@worksheet[0][5].border_top.should == 'thin'
|
337
326
|
end
|
338
327
|
|
339
|
-
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
340
|
-
lambda {
|
341
|
-
@worksheet.change_row_border_top(0,'TEST')
|
342
|
-
}.should raise_error
|
343
|
-
end
|
344
|
-
|
345
328
|
it 'should cause error if a negative argument is passed in' do
|
346
329
|
lambda {
|
347
330
|
@worksheet.change_row_border_top(-1,'thin')
|
@@ -363,12 +346,6 @@ describe RubyXL::Worksheet do
|
|
363
346
|
@worksheet[0][5].border_left.should == 'thin'
|
364
347
|
end
|
365
348
|
|
366
|
-
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
367
|
-
lambda {
|
368
|
-
@worksheet.change_row_border_left(0,'TEST')
|
369
|
-
}.should raise_error
|
370
|
-
end
|
371
|
-
|
372
349
|
it 'should cause error if a negative argument is passed in' do
|
373
350
|
lambda {
|
374
351
|
@worksheet.change_row_border_left(-1,'thin')
|
@@ -390,12 +367,6 @@ describe RubyXL::Worksheet do
|
|
390
367
|
@worksheet[0][5].border_right.should == 'thin'
|
391
368
|
end
|
392
369
|
|
393
|
-
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
394
|
-
lambda {
|
395
|
-
@worksheet.change_row_border_right(0,'TEST')
|
396
|
-
}.should raise_error
|
397
|
-
end
|
398
|
-
|
399
370
|
it 'should cause error if a negative argument is passed in' do
|
400
371
|
lambda {
|
401
372
|
@worksheet.change_row_border_right(-1,'thin')
|
@@ -417,12 +388,6 @@ describe RubyXL::Worksheet do
|
|
417
388
|
@worksheet[0][5].border_bottom.should == 'thin'
|
418
389
|
end
|
419
390
|
|
420
|
-
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
421
|
-
lambda {
|
422
|
-
@worksheet.change_row_border_bottom(0,'TEST')
|
423
|
-
}.should raise_error
|
424
|
-
end
|
425
|
-
|
426
391
|
it 'should cause error if a negative argument is passed in' do
|
427
392
|
lambda {
|
428
393
|
@worksheet.change_row_border_bottom(-1,'thin')
|
@@ -444,12 +409,6 @@ describe RubyXL::Worksheet do
|
|
444
409
|
@worksheet[0][5].border_diagonal.should == 'thin'
|
445
410
|
end
|
446
411
|
|
447
|
-
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
448
|
-
lambda {
|
449
|
-
@worksheet.change_row_border_diagonal(0,'TEST')
|
450
|
-
}.should raise_error
|
451
|
-
end
|
452
|
-
|
453
412
|
it 'should cause error if a negative argument is passed in' do
|
454
413
|
lambda {
|
455
414
|
@worksheet.change_row_border_diagonal(-1,'thin')
|
@@ -635,17 +594,6 @@ describe RubyXL::Worksheet do
|
|
635
594
|
@worksheet.get_column_width(0).should == 30.0002
|
636
595
|
end
|
637
596
|
|
638
|
-
it 'should make column width a number equivalent of the string passed if it is a string which is a number' do
|
639
|
-
@worksheet.change_column_width(0,'30.0002')
|
640
|
-
@worksheet.get_column_width(0).should == 30.0002
|
641
|
-
end
|
642
|
-
|
643
|
-
it 'should cause error if a string which is not a number' do
|
644
|
-
lambda {
|
645
|
-
@worksheet.change_column_width(0,'TEST')
|
646
|
-
}.should raise_error
|
647
|
-
end
|
648
|
-
|
649
597
|
it 'should cause error if a negative argument is passed in' do
|
650
598
|
lambda {
|
651
599
|
@worksheet.change_column_width(-1,10)
|
@@ -700,12 +648,6 @@ describe RubyXL::Worksheet do
|
|
700
648
|
@worksheet[5][0].horizontal_alignment.should == 'center'
|
701
649
|
end
|
702
650
|
|
703
|
-
it 'should cause error if nil, "center", "justify", "left", "right", or "distributed" is not passed' do
|
704
|
-
lambda {
|
705
|
-
@worksheet.change_column_horizontal_alignment(0,'TEST')
|
706
|
-
}.should raise_error
|
707
|
-
end
|
708
|
-
|
709
651
|
it 'should cause error if a negative argument is passed in' do
|
710
652
|
lambda {
|
711
653
|
@worksheet.change_column_horizontal_alignment(-1,'center')
|
@@ -727,12 +669,6 @@ describe RubyXL::Worksheet do
|
|
727
669
|
@worksheet[5][0].vertical_alignment.should == 'center'
|
728
670
|
end
|
729
671
|
|
730
|
-
it 'should cause error if nil, "center", "justify", "top", "bottom", or "distributed" is not passed' do
|
731
|
-
lambda {
|
732
|
-
@worksheet.change_column_vertical_alignment(0,'TEST')
|
733
|
-
}.should raise_error
|
734
|
-
end
|
735
|
-
|
736
672
|
it 'should cause error if a negative argument is passed in' do
|
737
673
|
lambda {
|
738
674
|
@worksheet.change_column_vertical_alignment(-1,'center')
|
@@ -754,12 +690,6 @@ describe RubyXL::Worksheet do
|
|
754
690
|
@worksheet[5][0].border_top.should == 'thin'
|
755
691
|
end
|
756
692
|
|
757
|
-
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
758
|
-
lambda {
|
759
|
-
@worksheet.change_column_border_top(0,'TEST')
|
760
|
-
}.should raise_error
|
761
|
-
end
|
762
|
-
|
763
693
|
it 'should cause error if a negative argument is passed in' do
|
764
694
|
lambda {
|
765
695
|
@worksheet.change_column_border_top(-1,'thin')
|
@@ -781,12 +711,6 @@ describe RubyXL::Worksheet do
|
|
781
711
|
@worksheet[5][0].border_left.should == 'thin'
|
782
712
|
end
|
783
713
|
|
784
|
-
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
785
|
-
lambda {
|
786
|
-
@worksheet.change_column_border_left(0,'TEST')
|
787
|
-
}.should raise_error
|
788
|
-
end
|
789
|
-
|
790
714
|
it 'should cause error if a negative argument is passed in' do
|
791
715
|
lambda {
|
792
716
|
@worksheet.change_column_border_left(-1,'thin')
|
@@ -808,12 +732,6 @@ describe RubyXL::Worksheet do
|
|
808
732
|
@worksheet[5][0].border_right.should == 'thin'
|
809
733
|
end
|
810
734
|
|
811
|
-
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
812
|
-
lambda {
|
813
|
-
@worksheet.change_column_border_right(0,'TEST')
|
814
|
-
}.should raise_error
|
815
|
-
end
|
816
|
-
|
817
735
|
it 'should cause error if a negative argument is passed in' do
|
818
736
|
lambda {
|
819
737
|
@worksheet.change_column_border_right(-1,'thin')
|
@@ -835,12 +753,6 @@ describe RubyXL::Worksheet do
|
|
835
753
|
@worksheet[5][0].border_bottom.should == 'thin'
|
836
754
|
end
|
837
755
|
|
838
|
-
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
839
|
-
lambda {
|
840
|
-
@worksheet.change_column_border_bottom(0,'TEST')
|
841
|
-
}.should raise_error
|
842
|
-
end
|
843
|
-
|
844
756
|
it 'should cause error if a negative argument is passed in' do
|
845
757
|
lambda {
|
846
758
|
@worksheet.change_column_border_bottom(-1,'thin')
|
@@ -862,12 +774,6 @@ describe RubyXL::Worksheet do
|
|
862
774
|
@worksheet[5][0].border_diagonal.should == 'thin'
|
863
775
|
end
|
864
776
|
|
865
|
-
it 'should cause error if nil, "thin", "thick", "hairline", or "medium" is not passed' do
|
866
|
-
lambda {
|
867
|
-
@worksheet.change_column_border_diagonal(0,'TEST')
|
868
|
-
}.should raise_error
|
869
|
-
end
|
870
|
-
|
871
777
|
it 'should cause error if a negative argument is passed in' do
|
872
778
|
lambda {
|
873
779
|
@worksheet.change_column_border_diagonal(-1,'thin')
|
@@ -884,14 +790,8 @@ describe RubyXL::Worksheet do
|
|
884
790
|
|
885
791
|
describe '.merge_cells' do
|
886
792
|
it 'should merge cells in any valid range specified by indices' do
|
887
|
-
@worksheet.merge_cells(0,0,1,1)
|
888
|
-
@worksheet.merged_cells.
|
889
|
-
end
|
890
|
-
|
891
|
-
it 'should cause an error if a negative number is passed' do
|
892
|
-
lambda {
|
893
|
-
@worksheet.merge_cells(0,0,-1,0)
|
894
|
-
}.should raise_error
|
793
|
+
@worksheet.merge_cells(0, 0, 1, 1)
|
794
|
+
@worksheet.merged_cells.collect{ |r| r.ref.to_s }.should == ["A1:B2"]
|
895
795
|
end
|
896
796
|
end
|
897
797
|
|
@@ -929,37 +829,6 @@ describe RubyXL::Worksheet do
|
|
929
829
|
end
|
930
830
|
end
|
931
831
|
|
932
|
-
describe '.add_cell_obj' do
|
933
|
-
it 'should add already created cell object to worksheet, even if a cell is already there (default)' do
|
934
|
-
new_cell = RubyXL::Cell.new(@worksheet,0,0,'TEST','B2')
|
935
|
-
@worksheet.add_cell_obj(new_cell)
|
936
|
-
@worksheet[0][0].value.should_not == @old_cell_value
|
937
|
-
@worksheet[0][0].formula.should_not == @old_cell_formula
|
938
|
-
@worksheet[0][0].value.should == 'TEST'
|
939
|
-
@worksheet[0][0].formula.should == 'B2'
|
940
|
-
end
|
941
|
-
|
942
|
-
it 'should not add already created cell object to already occupied cell if overwrite is false' do
|
943
|
-
new_cell = RubyXL::Cell.new(@worksheet,0,0,'TEST','B2')
|
944
|
-
@worksheet.add_cell_obj(new_cell,false)
|
945
|
-
@worksheet[0][0].value.should == @old_cell_value
|
946
|
-
@worksheet[0][0].formula.should == @old_cell_formula
|
947
|
-
end
|
948
|
-
|
949
|
-
it 'should cause error if a negative argument is passed in' do
|
950
|
-
lambda {
|
951
|
-
@worksheet.add_cell_obj(-1)
|
952
|
-
}.should raise_error
|
953
|
-
end
|
954
|
-
|
955
|
-
it 'should expand matrix to fit argument if nonnegative' do
|
956
|
-
@worksheet.sheet_data.size.should == 11
|
957
|
-
new_cell = RubyXL::Cell.new(@worksheet,11,11,'TEST','B2')
|
958
|
-
@worksheet.add_cell_obj(new_cell)
|
959
|
-
@worksheet.sheet_data.size.should == 12
|
960
|
-
end
|
961
|
-
end
|
962
|
-
|
963
832
|
describe '.delete_row' do
|
964
833
|
it 'should delete a row at index specified, "pushing" everything else "up"' do
|
965
834
|
@worksheet.delete_row(0)
|
@@ -1064,7 +933,7 @@ describe RubyXL::Worksheet do
|
|
1064
933
|
end
|
1065
934
|
|
1066
935
|
it 'should insert a column at 0 without copying any styles, when passed 0 as column index' do
|
1067
|
-
@worksheet.change_column_font_name(0,'Courier')
|
936
|
+
@worksheet.change_column_font_name(0, 'Courier')
|
1068
937
|
@worksheet.insert_column(0)
|
1069
938
|
@worksheet.get_column_font_name(0).should == 'Verdana' #not courier
|
1070
939
|
end
|
@@ -1170,12 +1039,6 @@ describe RubyXL::Worksheet do
|
|
1170
1039
|
it 'should return nil if a row which does not exist is passed in' do
|
1171
1040
|
@worksheet.get_row_fill(11).should be_nil
|
1172
1041
|
end
|
1173
|
-
|
1174
|
-
it 'should cause error if a negative argument is passed in' do
|
1175
|
-
lambda {
|
1176
|
-
@worksheet.get_row_fill(-1)
|
1177
|
-
}.should raise_error
|
1178
|
-
end
|
1179
1042
|
end
|
1180
1043
|
|
1181
1044
|
describe '.get_row_font_name' do
|
@@ -1184,12 +1047,6 @@ describe RubyXL::Worksheet do
|
|
1184
1047
|
@worksheet.get_row_font_name(0).should == 'Courier'
|
1185
1048
|
end
|
1186
1049
|
|
1187
|
-
it 'should cause error if a negative argument is passed in' do
|
1188
|
-
lambda {
|
1189
|
-
@worksheet.get_row_font_name(-1)
|
1190
|
-
}.should raise_error
|
1191
|
-
end
|
1192
|
-
|
1193
1050
|
it 'should return nil if a (nonnegative) row which does not exist is passed in' do
|
1194
1051
|
@worksheet.get_row_font_name(11).should be_nil
|
1195
1052
|
end
|
@@ -1201,12 +1058,6 @@ describe RubyXL::Worksheet do
|
|
1201
1058
|
@worksheet.get_row_font_size(0).should == 30
|
1202
1059
|
end
|
1203
1060
|
|
1204
|
-
it 'should cause error if a negative argument is passed in' do
|
1205
|
-
lambda {
|
1206
|
-
@worksheet.get_row_font_size(-1)
|
1207
|
-
}.should raise_error
|
1208
|
-
end
|
1209
|
-
|
1210
1061
|
it 'should return nil if a (nonnegative) row which does not exist is passed in' do
|
1211
1062
|
@worksheet.get_row_font_size(11).should be_nil
|
1212
1063
|
end
|
@@ -1218,12 +1069,6 @@ describe RubyXL::Worksheet do
|
|
1218
1069
|
@worksheet.get_row_font_color(0).should == '0f0f0f'
|
1219
1070
|
end
|
1220
1071
|
|
1221
|
-
it 'should cause error if a negative argument is passed in' do
|
1222
|
-
lambda {
|
1223
|
-
@worksheet.get_row_font_color(-1)
|
1224
|
-
}.should raise_error
|
1225
|
-
end
|
1226
|
-
|
1227
1072
|
it 'should return nil if a (nonnegative) row which does not exist is passed in' do
|
1228
1073
|
@worksheet.get_row_font_color(11).should be_nil
|
1229
1074
|
end
|
@@ -1235,12 +1080,6 @@ describe RubyXL::Worksheet do
|
|
1235
1080
|
@worksheet.is_row_italicized(0).should == true
|
1236
1081
|
end
|
1237
1082
|
|
1238
|
-
it 'should cause error if a negative argument is passed in' do
|
1239
|
-
lambda {
|
1240
|
-
@worksheet.is_row_italicized(-1)
|
1241
|
-
}.should raise_error
|
1242
|
-
end
|
1243
|
-
|
1244
1083
|
it 'should return nil if a (nonnegative) row which does not exist is passed in' do
|
1245
1084
|
@worksheet.is_row_italicized(11).should be_nil
|
1246
1085
|
end
|
@@ -1252,12 +1091,6 @@ describe RubyXL::Worksheet do
|
|
1252
1091
|
@worksheet.is_row_bolded(0).should == true
|
1253
1092
|
end
|
1254
1093
|
|
1255
|
-
it 'should cause error if a negative argument is passed in' do
|
1256
|
-
lambda {
|
1257
|
-
@worksheet.is_row_bolded(-1)
|
1258
|
-
}.should raise_error
|
1259
|
-
end
|
1260
|
-
|
1261
1094
|
it 'should return nil if a (nonnegative) row which does not exist is passed in' do
|
1262
1095
|
@worksheet.is_row_bolded(11).should be_nil
|
1263
1096
|
end
|
@@ -1269,12 +1102,6 @@ describe RubyXL::Worksheet do
|
|
1269
1102
|
@worksheet.is_row_underlined(0).should == true
|
1270
1103
|
end
|
1271
1104
|
|
1272
|
-
it 'should cause error if a negative argument is passed in' do
|
1273
|
-
lambda {
|
1274
|
-
@worksheet.is_row_underlined(-1)
|
1275
|
-
}.should raise_error
|
1276
|
-
end
|
1277
|
-
|
1278
1105
|
it 'should return nil if a (nonnegative) row which does not exist is passed in' do
|
1279
1106
|
@worksheet.is_row_underlined(11).should be_nil
|
1280
1107
|
end
|
@@ -1286,12 +1113,6 @@ describe RubyXL::Worksheet do
|
|
1286
1113
|
@worksheet.is_row_struckthrough(0).should == true
|
1287
1114
|
end
|
1288
1115
|
|
1289
|
-
it 'should cause error if a negative argument is passed in' do
|
1290
|
-
lambda {
|
1291
|
-
@worksheet.is_row_struckthrough(-1)
|
1292
|
-
}.should raise_error
|
1293
|
-
end
|
1294
|
-
|
1295
1116
|
it 'should return nil if a (nonnegative) row which does not exist is passed in' do
|
1296
1117
|
@worksheet.is_row_struckthrough(11).should be_nil
|
1297
1118
|
end
|
@@ -1486,7 +1307,7 @@ describe RubyXL::Worksheet do
|
|
1486
1307
|
describe '.get_column_font_size' do
|
1487
1308
|
it 'should correctly reflect font size for column' do
|
1488
1309
|
@worksheet.change_column_font_size(0,30)
|
1489
|
-
|
1310
|
+
@worksheet.get_column_font_size(0).should == 30
|
1490
1311
|
end
|
1491
1312
|
|
1492
1313
|
it 'should cause error if a negative argument is passed in' do
|
@@ -1503,7 +1324,7 @@ describe RubyXL::Worksheet do
|
|
1503
1324
|
describe '.get_column_font_color' do
|
1504
1325
|
it 'should correctly reflect font color for column' do
|
1505
1326
|
@worksheet.change_column_font_color(0,'0f0f0f')
|
1506
|
-
|
1327
|
+
@worksheet.get_column_font_color(0).should == '0f0f0f'
|
1507
1328
|
end
|
1508
1329
|
|
1509
1330
|
it 'should cause error if a negative argument is passed in' do
|
@@ -1524,7 +1345,7 @@ describe RubyXL::Worksheet do
|
|
1524
1345
|
describe '.is_column_italicized' do
|
1525
1346
|
it 'should correctly return whether column is italicized' do
|
1526
1347
|
@worksheet.change_column_italics(0,true)
|
1527
|
-
|
1348
|
+
@worksheet.is_column_italicized(0).should == true
|
1528
1349
|
end
|
1529
1350
|
|
1530
1351
|
it 'should cause error if a negative argument is passed in' do
|
@@ -1541,7 +1362,7 @@ describe RubyXL::Worksheet do
|
|
1541
1362
|
describe '.is_column_bolded' do
|
1542
1363
|
it 'should correctly return whether column is bolded' do
|
1543
1364
|
@worksheet.change_column_bold(0,true)
|
1544
|
-
|
1365
|
+
@worksheet.is_column_bolded(0).should == true
|
1545
1366
|
end
|
1546
1367
|
|
1547
1368
|
it 'should cause error if a negative argument is passed in' do
|
@@ -1558,7 +1379,7 @@ describe RubyXL::Worksheet do
|
|
1558
1379
|
describe '.is_column_underlined' do
|
1559
1380
|
it 'should correctly return whether column is underlined' do
|
1560
1381
|
@worksheet.change_column_underline(0,true)
|
1561
|
-
|
1382
|
+
@worksheet.is_column_underlined(0).should == true
|
1562
1383
|
end
|
1563
1384
|
|
1564
1385
|
it 'should cause error if a negative argument is passed in' do
|
@@ -1575,7 +1396,7 @@ describe RubyXL::Worksheet do
|
|
1575
1396
|
describe '.is_column_struckthrough' do
|
1576
1397
|
it 'should correctly return whether column is struckthrough' do
|
1577
1398
|
@worksheet.change_column_strikethrough(0,true)
|
1578
|
-
|
1399
|
+
@worksheet.is_column_struckthrough(0).should == true
|
1579
1400
|
end
|
1580
1401
|
|
1581
1402
|
it 'should cause error if a negative argument is passed in' do
|
@@ -1617,7 +1438,7 @@ describe RubyXL::Worksheet do
|
|
1617
1438
|
|
1618
1439
|
it 'should correctly reflect fill color if specified for column' do
|
1619
1440
|
@worksheet.change_column_fill(0, '000000')
|
1620
|
-
|
1441
|
+
@worksheet.get_column_fill(0).should == '000000'
|
1621
1442
|
end
|
1622
1443
|
|
1623
1444
|
it 'should return nil if a column which does not exist is passed in' do
|
@@ -1680,7 +1501,7 @@ describe RubyXL::Worksheet do
|
|
1680
1501
|
|
1681
1502
|
it 'should return type of border that this column has on top' do
|
1682
1503
|
@worksheet.change_column_border_top(0,'thin')
|
1683
|
-
|
1504
|
+
@worksheet.get_column_border_top(0).should == 'thin'
|
1684
1505
|
end
|
1685
1506
|
|
1686
1507
|
it 'should cause error if a negative argument is passed in' do
|
@@ -1701,7 +1522,7 @@ describe RubyXL::Worksheet do
|
|
1701
1522
|
|
1702
1523
|
it 'should return type of border that this column has on left' do
|
1703
1524
|
@worksheet.change_column_border_left(0,'thin')
|
1704
|
-
|
1525
|
+
@worksheet.get_column_border_left(0).should == 'thin'
|
1705
1526
|
end
|
1706
1527
|
|
1707
1528
|
it 'should cause error if a negative argument is passed in' do
|
@@ -1722,7 +1543,7 @@ describe RubyXL::Worksheet do
|
|
1722
1543
|
|
1723
1544
|
it 'should return type of border that this column has on right' do
|
1724
1545
|
@worksheet.change_column_border_right(0,'thin')
|
1725
|
-
|
1546
|
+
@worksheet.get_column_border_right(0).should == 'thin'
|
1726
1547
|
end
|
1727
1548
|
|
1728
1549
|
it 'should cause error if a negative argument is passed in' do
|
@@ -1736,7 +1557,6 @@ describe RubyXL::Worksheet do
|
|
1736
1557
|
end
|
1737
1558
|
end
|
1738
1559
|
|
1739
|
-
|
1740
1560
|
describe '.get_column_border_bottom' do
|
1741
1561
|
it 'should return nil if no border is specified for that column in that direction' do
|
1742
1562
|
@worksheet.get_column_border_bottom(0).should be_nil
|
@@ -1744,7 +1564,7 @@ describe RubyXL::Worksheet do
|
|
1744
1564
|
|
1745
1565
|
it 'should return type of border that this column has on bottom' do
|
1746
1566
|
@worksheet.change_column_border_bottom(0,'thin')
|
1747
|
-
|
1567
|
+
@worksheet.get_column_border_bottom(0).should == 'thin'
|
1748
1568
|
end
|
1749
1569
|
|
1750
1570
|
it 'should cause error if a negative argument is passed in' do
|
@@ -1765,7 +1585,7 @@ describe RubyXL::Worksheet do
|
|
1765
1585
|
|
1766
1586
|
it 'should return type of border that this column has on diagonal' do
|
1767
1587
|
@worksheet.change_column_border_diagonal(0,'thin')
|
1768
|
-
|
1588
|
+
@worksheet.get_column_border_diagonal(0).should == 'thin'
|
1769
1589
|
end
|
1770
1590
|
|
1771
1591
|
it 'should cause error if a negative argument is passed in' do
|
@@ -1779,4 +1599,29 @@ describe RubyXL::Worksheet do
|
|
1779
1599
|
end
|
1780
1600
|
end
|
1781
1601
|
|
1602
|
+
|
1603
|
+
describe '@column_range' do
|
1604
|
+
it 'should properly handle range addition and modification' do
|
1605
|
+
# Ranges should be empty for brand new worskeet
|
1606
|
+
@worksheet.cols.column_ranges.size.should == 0
|
1607
|
+
|
1608
|
+
# Range should be created if the column has not been touched before
|
1609
|
+
@worksheet.change_column_width(0, 30)
|
1610
|
+
@worksheet.get_column_width(0).should == 30
|
1611
|
+
@worksheet.cols.column_ranges.size.should == 1
|
1612
|
+
|
1613
|
+
# Range should be reused if the column has not been touched before
|
1614
|
+
@worksheet.change_column_width(0, 20)
|
1615
|
+
@worksheet.get_column_width(0).should == 20
|
1616
|
+
@worksheet.cols.column_ranges.size.should == 1
|
1617
|
+
|
1618
|
+
# Creation of the new range should not affect previously changed columns
|
1619
|
+
@worksheet.change_column_width(1, 999)
|
1620
|
+
@worksheet.get_column_width(1).should == 999
|
1621
|
+
@worksheet.get_column_width(0).should == 20
|
1622
|
+
@worksheet.cols.column_ranges.size.should == 2
|
1623
|
+
end
|
1624
|
+
|
1625
|
+
end
|
1626
|
+
|
1782
1627
|
end
|