roo 2.1.1 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -0
- data/Guardfile +1 -2
- data/README.md +22 -2
- data/lib/roo.rb +1 -0
- data/lib/roo/base.rb +36 -36
- data/lib/roo/errors.rb +9 -0
- data/lib/roo/excelx.rb +19 -71
- data/lib/roo/excelx/cell.rb +32 -3
- data/lib/roo/excelx/cell/base.rb +94 -0
- data/lib/roo/excelx/cell/boolean.rb +27 -0
- data/lib/roo/excelx/cell/date.rb +28 -0
- data/lib/roo/excelx/cell/datetime.rb +101 -0
- data/lib/roo/excelx/cell/empty.rb +19 -0
- data/lib/roo/excelx/cell/number.rb +80 -0
- data/lib/roo/excelx/cell/string.rb +19 -0
- data/lib/roo/excelx/cell/time.rb +43 -0
- data/lib/roo/excelx/comments.rb +33 -0
- data/lib/roo/excelx/coordinate.rb +12 -0
- data/lib/roo/excelx/format.rb +64 -0
- data/lib/roo/excelx/shared.rb +32 -0
- data/lib/roo/excelx/sheet.rb +12 -7
- data/lib/roo/excelx/sheet_doc.rb +95 -91
- data/lib/roo/link.rb +21 -2
- data/lib/roo/open_office.rb +4 -1
- data/lib/roo/version.rb +1 -1
- data/roo.gemspec +1 -1
- data/spec/lib/roo/base_spec.rb +19 -2
- data/spec/lib/roo/excelx_spec.rb +13 -10
- data/spec/lib/roo/openoffice_spec.rb +18 -1
- data/test/excelx/cell/test_base.rb +64 -0
- data/test/excelx/cell/test_boolean.rb +38 -0
- data/test/excelx/cell/test_date.rb +43 -0
- data/test/excelx/cell/test_datetime.rb +48 -0
- data/test/excelx/cell/test_empty.rb +8 -0
- data/test/excelx/cell/test_number.rb +58 -0
- data/test/excelx/cell/test_string.rb +30 -0
- data/test/excelx/cell/test_time.rb +33 -0
- data/test/test_roo.rb +14 -8
- metadata +23 -2
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'roo/excelx/cell/base'
|
2
|
+
require 'roo/excelx/cell/datetime'
|
3
|
+
require 'roo/excelx/cell/time'
|
4
|
+
require 'roo/link'
|
5
|
+
|
6
|
+
class TestRooExcelxCellTime < Minitest::Test
|
7
|
+
def time
|
8
|
+
Roo::Excelx::Cell::Time
|
9
|
+
end
|
10
|
+
|
11
|
+
def base_date
|
12
|
+
Date.new(1899, 12, 30)
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_formatted_value
|
16
|
+
value = '0.0751' # 6488.64 seconds, or 1:48:08.64
|
17
|
+
[
|
18
|
+
['h:mm', '1:48'],
|
19
|
+
['h:mm:ss', '1:48:09'],
|
20
|
+
['mm:ss', '48:09'],
|
21
|
+
['[h]:mm:ss', '[1]:48:09'],
|
22
|
+
['mmss.0', '4809.0'] # Cell::Time always get rounded to the nearest second.
|
23
|
+
].each do |style_format, result|
|
24
|
+
cell = time.new(value, nil, [:numeric_or_formula, style_format], 6, nil, base_date, nil)
|
25
|
+
assert_equal result, cell.formatted_value, "Style=#{style_format} is not properly formatted"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_value
|
30
|
+
cell = time.new('0.0751', nil, [:numeric_or_formula, 'h:mm'], 6, nil, base_date, nil)
|
31
|
+
assert_kind_of Fixnum, cell.value
|
32
|
+
end
|
33
|
+
end
|
data/test/test_roo.rb
CHANGED
@@ -249,9 +249,9 @@ class TestRoo < Minitest::Test
|
|
249
249
|
assert_equal "1:string",oo.cell(2, 3)+":"+oo.celltype(2, 3).to_s
|
250
250
|
|
251
251
|
# Cells values in row 3:
|
252
|
-
assert_equal "1
|
253
|
-
assert_equal "3
|
254
|
-
assert_equal "1
|
252
|
+
assert_equal "1:float",oo.cell(3, 1).to_s+":"+oo.celltype(3, 1).to_s
|
253
|
+
assert_equal "3:float",oo.cell(3, 2).to_s+":"+oo.celltype(3, 2).to_s
|
254
|
+
assert_equal "1:float",oo.cell(3, 3).to_s+":"+oo.celltype(3, 3).to_s
|
255
255
|
|
256
256
|
# Cells values in row 4:
|
257
257
|
assert_equal "A:string",oo.cell(4, 1)+":"+oo.celltype(4, 1).to_s
|
@@ -1161,8 +1161,14 @@ Sheet 3:
|
|
1161
1161
|
def test_cell_boolean
|
1162
1162
|
with_each_spreadsheet(:name=>'boolean', :format=>[:openoffice, :excelx]) do |oo|
|
1163
1163
|
if oo.class == Roo::Excelx
|
1164
|
-
assert_equal
|
1165
|
-
assert_equal
|
1164
|
+
assert_equal true, oo.cell(1, 1), "failure in #{oo.class}"
|
1165
|
+
assert_equal false, oo.cell(2, 1), "failure in #{oo.class}"
|
1166
|
+
|
1167
|
+
cell = oo.sheet_for(oo.default_sheet).cells[[1, 1,]]
|
1168
|
+
assert_equal 'TRUE', cell.formatted_value
|
1169
|
+
|
1170
|
+
cell = oo.sheet_for(oo.default_sheet).cells[[2, 1,]]
|
1171
|
+
assert_equal 'FALSE', cell.formatted_value
|
1166
1172
|
else
|
1167
1173
|
assert_equal "true", oo.cell(1,1), "failure in "+oo.class.to_s
|
1168
1174
|
assert_equal "false", oo.cell(2,1), "failure in "+oo.class.to_s
|
@@ -1307,12 +1313,12 @@ Sheet 3:
|
|
1307
1313
|
assert_equal 13, oo.d4 # cell(4,'D')
|
1308
1314
|
assert_equal 14, oo.e4 # cell(4,'E')
|
1309
1315
|
assert_equal 'ABC', oo.c6('Sheet5')
|
1316
|
+
assert_equal 41, oo.a12
|
1310
1317
|
|
1311
|
-
|
1312
|
-
assert_raises(NoMethodError) {
|
1318
|
+
assert_raises(NoMethodError) do
|
1313
1319
|
# a42a is not a valid cell name, should raise ArgumentError
|
1314
1320
|
assert_equal 9999, oo.a42a
|
1315
|
-
|
1321
|
+
end
|
1316
1322
|
end
|
1317
1323
|
end
|
1318
1324
|
|
metadata
CHANGED
@@ -1,17 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Preymesser
|
8
8
|
- Hugh McGowan
|
9
9
|
- Ben Woosley
|
10
10
|
- Oleksandr Simonov
|
11
|
+
- Steven Daniels
|
11
12
|
autorequire:
|
12
13
|
bindir: bin
|
13
14
|
cert_chain: []
|
14
|
-
date: 2015-
|
15
|
+
date: 2015-10-31 00:00:00.000000000 Z
|
15
16
|
dependencies:
|
16
17
|
- !ruby/object:Gem::Dependency
|
17
18
|
name: nokogiri
|
@@ -110,11 +111,23 @@ files:
|
|
110
111
|
- lib/roo/base.rb
|
111
112
|
- lib/roo/constants.rb
|
112
113
|
- lib/roo/csv.rb
|
114
|
+
- lib/roo/errors.rb
|
113
115
|
- lib/roo/excelx.rb
|
114
116
|
- lib/roo/excelx/cell.rb
|
117
|
+
- lib/roo/excelx/cell/base.rb
|
118
|
+
- lib/roo/excelx/cell/boolean.rb
|
119
|
+
- lib/roo/excelx/cell/date.rb
|
120
|
+
- lib/roo/excelx/cell/datetime.rb
|
121
|
+
- lib/roo/excelx/cell/empty.rb
|
122
|
+
- lib/roo/excelx/cell/number.rb
|
123
|
+
- lib/roo/excelx/cell/string.rb
|
124
|
+
- lib/roo/excelx/cell/time.rb
|
115
125
|
- lib/roo/excelx/comments.rb
|
126
|
+
- lib/roo/excelx/coordinate.rb
|
116
127
|
- lib/roo/excelx/extractor.rb
|
128
|
+
- lib/roo/excelx/format.rb
|
117
129
|
- lib/roo/excelx/relationships.rb
|
130
|
+
- lib/roo/excelx/shared.rb
|
118
131
|
- lib/roo/excelx/shared_strings.rb
|
119
132
|
- lib/roo/excelx/sheet.rb
|
120
133
|
- lib/roo/excelx/sheet_doc.rb
|
@@ -142,6 +155,14 @@ files:
|
|
142
155
|
- spec/lib/roo/utils_spec.rb
|
143
156
|
- spec/spec_helper.rb
|
144
157
|
- test/all_ss.rb
|
158
|
+
- test/excelx/cell/test_base.rb
|
159
|
+
- test/excelx/cell/test_boolean.rb
|
160
|
+
- test/excelx/cell/test_date.rb
|
161
|
+
- test/excelx/cell/test_datetime.rb
|
162
|
+
- test/excelx/cell/test_empty.rb
|
163
|
+
- test/excelx/cell/test_number.rb
|
164
|
+
- test/excelx/cell/test_string.rb
|
165
|
+
- test/excelx/cell/test_time.rb
|
145
166
|
- test/test_helper.rb
|
146
167
|
- test/test_roo.rb
|
147
168
|
homepage: http://github.com/roo-rb/roo
|