rspreadsheet 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,14 +1,5 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Rspreadsheet::Tools do
4
- it 'converts correctly cell adresses' do
5
- Rspreadsheet::Tools.convert_cell_address('A1')[0].should == 1
6
- Rspreadsheet::Tools.convert_cell_address('A1')[1].should == 1
7
- Rspreadsheet::Tools.convert_cell_address('C5')[0].should == 5
8
- Rspreadsheet::Tools.convert_cell_address('C5')[1].should == 3
9
- end
10
- end
11
-
12
3
  describe Rspreadsheet do
13
4
  it 'can open ods testfile and reads its content correctly' do
14
5
  book = Rspreadsheet.new($test_filename)
@@ -31,7 +22,7 @@ describe Rspreadsheet do
31
22
  @sheet2 = book2.worksheets[1]
32
23
 
33
24
  @sheet1.nonemptycells.each do |cell| # and test identity
34
- @sheet2[cell.row,cell.col].should == cell.value
25
+ @sheet2[cell.rowi,cell.coli].should == cell.value
35
26
  end
36
27
  end
37
28
  it 'can open and save file, and saved file is exactly same as original' do
@@ -61,9 +52,6 @@ describe Rspreadsheet do
61
52
  book.worksheets[1].rows(1).cells(1).value ='xyzxyz'
62
53
  book.worksheets[1].rows(1).cells(1).value.should == 'xyzxyz'
63
54
 
64
- # book.worksheets[1][1,1].should_not == 'xyzxyz'
65
- # book.worksheets[1][1,1]='xyzxyz'
66
- # book.worksheets[1][1,1].should == 'xyzxyz'
67
55
  book.save(tmp_filename) # and save it as temp file
68
56
 
69
57
  # now compare them
data/spec/testfile1.ods CHANGED
Binary file
@@ -0,0 +1,25 @@
1
+ require 'spec_helper'
2
+
3
+ describe Rspreadsheet::Tools do
4
+ it 'Converts correctly cell adresses to coordinates and back' do
5
+ Rspreadsheet::Tools.convert_cell_address_to_coordinates('A1').should == [1,1]
6
+ Rspreadsheet::Tools.convert_cell_address_to_coordinates('C17').should == [17,3]
7
+ Rspreadsheet::Tools.convert_cell_address_to_coordinates('AM1048576').should == [1048576,39]
8
+ Rspreadsheet::Tools.convert_cell_address_to_coordinates('ADA2').should == [2,781]
9
+ Rspreadsheet::Tools.convert_cell_address_to_coordinates('ZZ1').should == [1,702]
10
+ Rspreadsheet::Tools.convert_cell_coordinates_to_address([1,1]).should == 'A1'
11
+ Rspreadsheet::Tools.convert_cell_coordinates_to_address([17,3]).should == 'C17'
12
+ Rspreadsheet::Tools.convert_cell_coordinates_to_address([1,27]).should == 'AA1'
13
+ Rspreadsheet::Tools.convert_cell_coordinates_to_address([1,39]).should == 'AM1'
14
+ Rspreadsheet::Tools.convert_cell_coordinates_to_address([1,53]).should == 'BA1'
15
+ Rspreadsheet::Tools.convert_cell_coordinates_to_address([1,702]).should == 'ZZ1'
16
+ Rspreadsheet::Tools.convert_cell_coordinates_to_address([2,703]).should == 'AAA2'
17
+ Rspreadsheet::Tools.convert_cell_coordinates_to_address([1048576,39]).should == 'AM1048576'
18
+ Rspreadsheet::Tools.convert_cell_coordinates_to_address([2,781]).should == 'ADA2'
19
+ Rspreadsheet::Tools.c2a([2,781]).should == 'ADA2'
20
+ Rspreadsheet::Tools.c2a(2,781).should == 'ADA2'
21
+ Rspreadsheet::Tools.a2c('ADA2').should == [2,781]
22
+ Rspreadsheet::Tools.a2c('ADA','2').should == [2,781]
23
+ (1..200).each { |i| Rspreadsheet::Tools.a2c(Rspreadsheet::Tools.c2a(1,i*10)).should == [1,i*10] }
24
+ end
25
+ end
@@ -1,8 +1,8 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Rspreadsheet::Workbook do
3
+ describe Rspreadsheet::Workbook, :focus=>true do
4
4
  it 'has correct number of sheets' do
5
- book = Rspreadsheet.new($test_filename)
5
+ book = Rspreadsheet::Workbook.new($test_filename)
6
6
  book.worksheets_count.should == 1
7
7
  book.worksheets[0].should be_nil
8
8
  book.worksheets[1].should be_kind_of(Rspreadsheet::Worksheet)
@@ -10,10 +10,28 @@ describe Rspreadsheet::Workbook do
10
10
  book.worksheets[nil].should be_nil
11
11
  end
12
12
  it 'freshly created has correctly namespaced xmlnode' do
13
- @xmlnode = Rspreadsheet.new.xmlnode
13
+ @xmlnode = Rspreadsheet::Workbook.new.xmlnode
14
14
  @xmlnode.namespaces.to_a.size.should >5
15
15
  @xmlnode.namespaces.find_by_prefix('office').should_not be_nil
16
16
  @xmlnode.namespaces.find_by_prefix('table').should_not be_nil
17
17
  @xmlnode.namespaces.namespace.prefix.should == 'office'
18
18
  end
19
- end
19
+ it 'can create worksheets, and count them' do
20
+ book = Rspreadsheet::Workbook.new()
21
+ book.worksheets_count.should == 0
22
+ book.create_worksheet
23
+ book.worksheets_count.should == 1
24
+ book.create_worksheet
25
+ book.create_worksheet
26
+ book.worksheets_count.should == 3
27
+ end
28
+ it 'nonemptycells behave correctly' do
29
+ book = Rspreadsheet::Workbook.new()
30
+ book.create_worksheet
31
+ @sheet = book.worksheets[1]
32
+ @sheet.cells(3,3).value = 'data'
33
+ @sheet.cells(5,7).value = 'data'
34
+ @sheet.nonemptycells.collect{|c| c.coordinates}.should =~ [[3,3],[5,7]]
35
+ end
36
+
37
+ end
@@ -7,17 +7,11 @@ describe Rspreadsheet::Worksheet do
7
7
  it 'contains nonempty xml in rows for testfile' do
8
8
  @sheet.rows(1).xmlnode.elements.size.should be >1
9
9
  end
10
- it 'freshly created has correctly namespaced xmlnode' do
11
- @spreadsheet = Rspreadsheet.new
12
- @spreadsheet.create_worksheet
13
- @xmlnode = @spreadsheet.worksheets[1].xmlnode
14
- @xmlnode.namespaces.to_a.size.should >5
15
- @xmlnode.namespaces.find_by_prefix('office').should_not be_nil
16
- @xmlnode.namespaces.find_by_prefix('table').should_not be_nil
17
- @xmlnode.namespaces.namespace.should_not be_nil
18
- @xmlnode.namespaces.namespace.prefix.should == 'table'
10
+ it 'uses detach_subnode_respect_repeated well' do
11
+ @xmlnode = @sheet.xmlnode
12
+ nod = @sheet.detach_subnode_respect_repeated(@xmlnode, 50, {:xml_items_node_name => 'table-row', :xml_repeated_attribute => 'number-rows-repeated'})
13
+ @sheet.detach_subnode_respect_repeated(nod, 12, {:xml_items_node_name => 'table-cell', :xml_repeated_attribute => 'number-columns-repeated'})
19
14
  end
20
-
21
15
  end
22
16
 
23
17
  describe Rspreadsheet::Worksheet do
@@ -25,6 +19,14 @@ describe Rspreadsheet::Worksheet do
25
19
  book = Rspreadsheet.new
26
20
  @sheet = book.create_worksheet
27
21
  end
22
+ it 'freshly created has correctly namespaced xmlnode' do
23
+ @xmlnode = @sheet.xmlnode
24
+ @xmlnode.namespaces.to_a.size.should >5
25
+ @xmlnode.namespaces.find_by_prefix('office').should_not be_nil
26
+ @xmlnode.namespaces.find_by_prefix('table').should_not be_nil
27
+ @xmlnode.namespaces.namespace.should_not be_nil
28
+ @xmlnode.namespaces.namespace.prefix.should == 'table'
29
+ end
28
30
  it 'remembers the value stored to A1 cell' do
29
31
  @sheet[1,1].should == nil
30
32
  @sheet[1,1] = 'test text'
@@ -52,4 +54,4 @@ describe Rspreadsheet::Worksheet do
52
54
  @sheet[0,0].should == nil
53
55
  @sheet[999,999].should == nil
54
56
  end
55
- end
57
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec_helper'
2
+
3
+ describe Rspreadsheet::XmlTiedArray do
4
+ before do
5
+ end
6
+ it 'can get items out correctly' do
7
+ end
8
+
9
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspreadsheet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jakub A.Těšínský
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-12 00:00:00.000000000 Z
11
+ date: 2014-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: libxml-ruby
@@ -150,8 +150,9 @@ dependencies:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: '2.6'
153
- description: Manipulating spreadsheets with Ruby (read / create / modify OpenDocument
154
- Spreadsheet).
153
+ description: Manipulating OpenDocument spreadsheets with Ruby. This gem can create
154
+ new, read existing files abd modify them. When modyfying files, it tries to change
155
+ as little as possible, making it as much forward compatifle as possible.
155
156
  email:
156
157
  - jAkub.cz (A is at)
157
158
  executables: []
@@ -172,6 +173,7 @@ files:
172
173
  - investigate.rb
173
174
  - lib/class_extensions.rb
174
175
  - lib/rspreadsheet.rb
176
+ - lib/rspreadsheet/.row.rb.kate-swp.bak
175
177
  - lib/rspreadsheet/cell.rb
176
178
  - lib/rspreadsheet/empty_file_template.ods
177
179
  - lib/rspreadsheet/empty_file_template.old.ods
@@ -187,8 +189,10 @@ files:
187
189
  - spec/rspreadsheet_spec.rb
188
190
  - spec/spec_helper.rb
189
191
  - spec/testfile1.ods
192
+ - spec/tools_spec.rb
190
193
  - spec/workbook_spec.rb
191
194
  - spec/worksheet_spec.rb
195
+ - spec/xml_tied_array_spec.rb
192
196
  homepage: https://github.com/gorn/rspreadsheet
193
197
  licenses:
194
198
  - GPL
@@ -220,5 +224,7 @@ test_files:
220
224
  - spec/rspreadsheet_spec.rb
221
225
  - spec/spec_helper.rb
222
226
  - spec/testfile1.ods
227
+ - spec/tools_spec.rb
223
228
  - spec/workbook_spec.rb
224
229
  - spec/worksheet_spec.rb
230
+ - spec/xml_tied_array_spec.rb