spreadsheet 0.7.3 → 0.7.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/History.txt +5 -0
- data/Manifest.txt +4 -2
- data/lib/spreadsheet/excel/row.rb +6 -0
- data/lib/spreadsheet.rb +1 -1
- data/test/data/test_borders.xls +0 -0
- data/test/excel/row.rb +5 -0
- data/test/format.rb +87 -0
- data/test/integration.rb +31 -0
- metadata +8 -6
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
@@ -44,14 +44,15 @@ lib/spreadsheet/workbook.rb
|
|
44
44
|
lib/spreadsheet/worksheet.rb
|
45
45
|
lib/spreadsheet/writer.rb
|
46
46
|
spreadsheet.gemspec
|
47
|
+
test/data/test_borders.xls
|
47
48
|
test/data/test_changes.xls
|
48
49
|
test/data/test_copy.xls
|
49
50
|
test/data/test_datetime.xls
|
50
51
|
test/data/test_empty.xls
|
51
52
|
test/data/test_formula.xls
|
52
53
|
test/data/test_long_sst_record.xls
|
53
|
-
test/data/test_merged_cells.xls
|
54
54
|
test/data/test_merged_and_protected.xls
|
55
|
+
test/data/test_merged_cells.xls
|
55
56
|
test/data/test_missing_row.xls
|
56
57
|
test/data/test_version_excel5.xls
|
57
58
|
test/data/test_version_excel95.xls
|
@@ -61,9 +62,10 @@ test/excel/row.rb
|
|
61
62
|
test/excel/writer/workbook.rb
|
62
63
|
test/excel/writer/worksheet.rb
|
63
64
|
test/font.rb
|
65
|
+
test/format.rb
|
64
66
|
test/integration.rb
|
65
67
|
test/row.rb
|
66
68
|
test/suite.rb
|
67
69
|
test/workbook.rb
|
68
|
-
test/worksheet.rb
|
69
70
|
test/workbook_protection.rb
|
71
|
+
test/worksheet.rb
|
@@ -42,6 +42,12 @@ class Row < Spreadsheet::Row
|
|
42
42
|
enriched_data idx, at(idx)
|
43
43
|
end
|
44
44
|
end
|
45
|
+
##
|
46
|
+
# Returns data as an array. If a cell is formatted as a Date or DateTime, the
|
47
|
+
# decoded Date or DateTime value is returned.
|
48
|
+
def to_a
|
49
|
+
self[0...length]
|
50
|
+
end
|
45
51
|
private
|
46
52
|
def _date data # :nodoc:
|
47
53
|
return data if data.is_a?(Date)
|
data/lib/spreadsheet.rb
CHANGED
Binary file
|
data/test/excel/row.rb
CHANGED
@@ -18,6 +18,11 @@ class TestRow < Test::Unit::TestCase
|
|
18
18
|
row = Row.new @worksheet, 0, [nil, 27627.6789]
|
19
19
|
assert_equal Date.new(1975,8,21), row.date(1)
|
20
20
|
end
|
21
|
+
def test_to_a
|
22
|
+
row = Row.new @worksheet, 0, [nil, 1, 27627.6789]
|
23
|
+
row.set_format(2, Format.new(:number_format => 'DD.MM.YYYY'))
|
24
|
+
assert_equal [nil, 1, Date.new(1975, 8, 21)], row.to_a
|
25
|
+
end
|
21
26
|
def test_datetime
|
22
27
|
row = Row.new @worksheet, 0, [nil, 27627.765]
|
23
28
|
d1 = DateTime.new(1975,8,21) + 0.765
|
data/test/format.rb
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# TestFormat -- Spreadsheet -- 06.11.2012 -- mina.git@naguib.ca
|
3
|
+
|
4
|
+
$: << File.expand_path('../lib', File.dirname(__FILE__))
|
5
|
+
|
6
|
+
require 'test/unit'
|
7
|
+
require 'spreadsheet'
|
8
|
+
|
9
|
+
module Spreadsheet
|
10
|
+
class TestFormat < Test::Unit::TestCase
|
11
|
+
def setup
|
12
|
+
@format = Format.new
|
13
|
+
end
|
14
|
+
def test_date?
|
15
|
+
assert_equal false, @format.date?
|
16
|
+
@format.number_format = "hms"
|
17
|
+
assert_equal false, @format.date?
|
18
|
+
@format.number_format = "Y"
|
19
|
+
assert_equal true, @format.date?
|
20
|
+
@format.number_format = "YMD"
|
21
|
+
assert_equal true, @format.date?
|
22
|
+
end
|
23
|
+
def test_date_or_time?
|
24
|
+
assert_equal false, @format.date_or_time?
|
25
|
+
@format.number_format = "hms"
|
26
|
+
assert_equal true, @format.date_or_time?
|
27
|
+
@format.number_format = "YMD"
|
28
|
+
assert_equal true, @format.date_or_time?
|
29
|
+
@format.number_format = "hmsYMD"
|
30
|
+
assert_equal true, @format.date_or_time?
|
31
|
+
end
|
32
|
+
def test_datetime?
|
33
|
+
assert_equal false, @format.datetime?
|
34
|
+
@format.number_format = "H"
|
35
|
+
assert_equal false, @format.datetime?
|
36
|
+
@format.number_format = "S"
|
37
|
+
assert_equal false, @format.datetime?
|
38
|
+
@format.number_format = "Y"
|
39
|
+
assert_equal false, @format.datetime?
|
40
|
+
@format.number_format = "HSYMD"
|
41
|
+
assert_equal true, @format.datetime?
|
42
|
+
end
|
43
|
+
def test_time?
|
44
|
+
assert_equal false, @format.time?
|
45
|
+
@format.number_format = "YMD"
|
46
|
+
assert_equal false, @format.time?
|
47
|
+
@format.number_format = "hmsYMD"
|
48
|
+
assert_equal true, @format.time?
|
49
|
+
@format.number_format = "h"
|
50
|
+
assert_equal true, @format.time?
|
51
|
+
@format.number_format = "hm"
|
52
|
+
assert_equal true, @format.time?
|
53
|
+
@format.number_format = "hms"
|
54
|
+
assert_equal true, @format.time?
|
55
|
+
end
|
56
|
+
def test_borders?
|
57
|
+
assert_equal [:none, :none, :none, :none], @format.border
|
58
|
+
@format.border = :thick
|
59
|
+
assert_equal [:thick, :thick, :thick, :thick], @format.border
|
60
|
+
@format.left = :hair
|
61
|
+
assert_equal [:thick, :thick, :thick, :hair], @format.border
|
62
|
+
@format.right = :hair
|
63
|
+
assert_equal [:thick, :thick, :hair, :hair], @format.border
|
64
|
+
@format.top = :hair
|
65
|
+
assert_equal [:thick, :hair, :hair, :hair], @format.border
|
66
|
+
@format.bottom = :hair
|
67
|
+
assert_equal [:hair, :hair, :hair, :hair], @format.border
|
68
|
+
assert_raises(ArgumentError) do
|
69
|
+
@format.bottom = :bogus
|
70
|
+
end
|
71
|
+
assert_equal [:black, :black, :black, :black], @format.border_color
|
72
|
+
@format.border_color = :green
|
73
|
+
assert_equal [:green, :green, :green, :green], @format.border_color
|
74
|
+
@format.left_color = :red
|
75
|
+
assert_equal [:green, :green, :green, :red], @format.border_color
|
76
|
+
@format.right_color = :red
|
77
|
+
assert_equal [:green, :green, :red, :red], @format.border_color
|
78
|
+
@format.top_color = :red
|
79
|
+
assert_equal [:green, :red, :red, :red], @format.border_color
|
80
|
+
@format.bottom_color = :red
|
81
|
+
assert_equal [:red, :red, :red, :red], @format.border_color
|
82
|
+
assert_raises(ArgumentError) do
|
83
|
+
@format.bottom_color = :bogus
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
data/test/integration.rb
CHANGED
@@ -1233,6 +1233,37 @@ module Spreadsheet
|
|
1233
1233
|
sheet[0,0] # trigger read_worksheet
|
1234
1234
|
assert_equal [[2, 4, 1, 1], [3, 3, 2, 3]], sheet.merged_cells
|
1235
1235
|
end
|
1236
|
+
def test_read_borders
|
1237
|
+
path = File.join @data, 'test_borders.xls'
|
1238
|
+
book = Spreadsheet.open path
|
1239
|
+
assert_instance_of Excel::Workbook, book
|
1240
|
+
sheet = book.worksheet 0
|
1241
|
+
format = sheet.row(0).format 0
|
1242
|
+
assert_equal :none, format.left
|
1243
|
+
assert_equal :thin, format.top
|
1244
|
+
assert_equal :medium, format.right
|
1245
|
+
assert_equal :thick, format.bottom
|
1246
|
+
assert_equal :builtin_black, format.left_color
|
1247
|
+
assert_equal :red, format.top_color
|
1248
|
+
assert_equal :green, format.right_color
|
1249
|
+
assert_equal :yellow, format.bottom_color
|
1250
|
+
end
|
1251
|
+
def test_write_borders
|
1252
|
+
book = Spreadsheet::Workbook.new
|
1253
|
+
path = File.join @var, 'test_write_borders.xls'
|
1254
|
+
sheet1 = book.create_worksheet
|
1255
|
+
(sheet1.row(0).format 0).border = :hair
|
1256
|
+
(sheet1.row(0).format 0).border_color = :brown
|
1257
|
+
assert_nothing_raised do
|
1258
|
+
book.write path
|
1259
|
+
end
|
1260
|
+
book2 = Spreadsheet.open path
|
1261
|
+
assert_instance_of Excel::Workbook, book2
|
1262
|
+
sheet2 = book2.worksheet 0
|
1263
|
+
format = sheet2.row(0).format 0
|
1264
|
+
assert_equal :hair, format.left
|
1265
|
+
assert_equal :brown, format.top_color
|
1266
|
+
end
|
1236
1267
|
|
1237
1268
|
private
|
1238
1269
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spreadsheet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 11
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 7
|
9
|
-
-
|
10
|
-
version: 0.7.
|
9
|
+
- 4
|
10
|
+
version: 0.7.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Masaomi Hatakeyama, Zeno R.R. Davatz
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-06
|
18
|
+
date: 2012-10-06 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: ruby-ole
|
@@ -127,14 +127,15 @@ files:
|
|
127
127
|
- lib/spreadsheet/worksheet.rb
|
128
128
|
- lib/spreadsheet/writer.rb
|
129
129
|
- spreadsheet.gemspec
|
130
|
+
- test/data/test_borders.xls
|
130
131
|
- test/data/test_changes.xls
|
131
132
|
- test/data/test_copy.xls
|
132
133
|
- test/data/test_datetime.xls
|
133
134
|
- test/data/test_empty.xls
|
134
135
|
- test/data/test_formula.xls
|
135
136
|
- test/data/test_long_sst_record.xls
|
136
|
-
- test/data/test_merged_cells.xls
|
137
137
|
- test/data/test_merged_and_protected.xls
|
138
|
+
- test/data/test_merged_cells.xls
|
138
139
|
- test/data/test_missing_row.xls
|
139
140
|
- test/data/test_version_excel5.xls
|
140
141
|
- test/data/test_version_excel95.xls
|
@@ -144,12 +145,13 @@ files:
|
|
144
145
|
- test/excel/writer/workbook.rb
|
145
146
|
- test/excel/writer/worksheet.rb
|
146
147
|
- test/font.rb
|
148
|
+
- test/format.rb
|
147
149
|
- test/integration.rb
|
148
150
|
- test/row.rb
|
149
151
|
- test/suite.rb
|
150
152
|
- test/workbook.rb
|
151
|
-
- test/worksheet.rb
|
152
153
|
- test/workbook_protection.rb
|
154
|
+
- test/worksheet.rb
|
153
155
|
- .gemtest
|
154
156
|
homepage: https://github.com/zdavatz/spreadsheet
|
155
157
|
licenses: []
|