osheet 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/lib/osheet/cell.rb +5 -1
- data/lib/osheet/column.rb +1 -0
- data/lib/osheet/markup_element.rb +22 -0
- data/lib/osheet/meta_element.rb +1 -1
- data/lib/osheet/partial.rb +24 -0
- data/lib/osheet/partial_set.rb +57 -0
- data/lib/osheet/row.rb +1 -0
- data/lib/osheet/template.rb +10 -24
- data/lib/osheet/template_set.rb +6 -12
- data/lib/osheet/version.rb +1 -1
- data/lib/osheet/{template_handler → view_handler}/rails.rb +0 -0
- data/lib/osheet/{template_handler → view_handler}/tilt.rb +0 -0
- data/lib/osheet/view_handler.rb +2 -0
- data/lib/osheet/workbook.rb +9 -0
- data/lib/osheet/worksheet.rb +5 -1
- data/lib/osheet/xmlss_writer/elements.rb +1 -0
- data/lib/osheet.rb +9 -6
- data/test/cell_test.rb +69 -29
- data/test/column_test.rb +67 -36
- data/test/env.rb +1 -0
- data/test/partial_set_test.rb +84 -0
- data/test/partial_test.rb +66 -0
- data/test/rails/three/Gemfile.lock +1 -1
- data/test/rails/three/app/views/things/index.xls.osheet +0 -2
- data/test/rails/two/Gemfile.lock +1 -1
- data/test/row_test.rb +69 -38
- data/test/style_test.rb +37 -16
- data/test/template_set_test.rb +34 -15
- data/test/template_test.rb +28 -44
- data/test/workbook_test.rb +143 -97
- data/test/worksheet_test.rb +87 -47
- data/test/xmlss_writer/elements_test.rb +3 -1
- metadata +14 -7
- data/lib/osheet/template_handler.rb +0 -2
@@ -0,0 +1,84 @@
|
|
1
|
+
require "test/helper"
|
2
|
+
require "osheet/partial_set"
|
3
|
+
|
4
|
+
module Osheet
|
5
|
+
|
6
|
+
class PartialSetTest < Test::Unit::TestCase
|
7
|
+
context "Osheet::PartialSet" do
|
8
|
+
subject { PartialSet.new }
|
9
|
+
|
10
|
+
should "be a Hash" do
|
11
|
+
assert_kind_of ::Hash, subject
|
12
|
+
end
|
13
|
+
|
14
|
+
should_have_instance_method :<<
|
15
|
+
should_have_reader :get
|
16
|
+
|
17
|
+
should "verify set objs are partials" do
|
18
|
+
assert_raises ArgumentError do
|
19
|
+
subject.send(:verify, {})
|
20
|
+
end
|
21
|
+
assert_nothing_raised do
|
22
|
+
subject.send(:verify, Partial.new(:poo) {})
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
class PartialSetKeyTest < Test::Unit::TestCase
|
30
|
+
context "A partial set" do
|
31
|
+
subject { PartialSet.new }
|
32
|
+
|
33
|
+
should "key using name values" do
|
34
|
+
assert_equal 'poo', subject.send(:key, :poo)
|
35
|
+
end
|
36
|
+
|
37
|
+
should "key on partial objs" do
|
38
|
+
assert_equal 'poo', subject.send(:partial_key, Partial.new(:poo) {})
|
39
|
+
end
|
40
|
+
|
41
|
+
should "init the key in the set when verifying" do
|
42
|
+
key = subject.send(:verify, Partial.new(:thing) {})
|
43
|
+
assert_equal 'thing', key
|
44
|
+
assert_equal({'thing' => nil}, subject)
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
class PartialSetPushTest < Test::Unit::TestCase
|
51
|
+
context "A partial set" do
|
52
|
+
subject { PartialSet.new }
|
53
|
+
should "push partials onto the set" do
|
54
|
+
assert_nothing_raised do
|
55
|
+
subject << Partial.new(:poo) {}
|
56
|
+
subject << Partial.new(:not_poo) {}
|
57
|
+
subject << Partial.new(:awesome) {}
|
58
|
+
subject << Partial.new(:poo) {}
|
59
|
+
end
|
60
|
+
|
61
|
+
assert_equal 3, subject.keys.size
|
62
|
+
assert subject["poo"]
|
63
|
+
assert_kind_of Partial, subject["poo"]
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
class PartialSetLookupTest < Test::Unit::TestCase
|
70
|
+
context "A partial set" do
|
71
|
+
subject { PartialSet.new }
|
72
|
+
|
73
|
+
should "lookup a partial by name" do
|
74
|
+
p = Partial.new(:poo) {}
|
75
|
+
subject << p
|
76
|
+
assert_equal p, subject.get(:poo)
|
77
|
+
assert_equal p, subject.get('poo')
|
78
|
+
assert_equal nil, subject.get(:ugh)
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require "test/helper"
|
2
|
+
require "osheet/partial"
|
3
|
+
|
4
|
+
module Osheet
|
5
|
+
class PartialTest < Test::Unit::TestCase
|
6
|
+
|
7
|
+
context "Osheet::Partial" do
|
8
|
+
subject do
|
9
|
+
Partial.new(:thing) {}
|
10
|
+
end
|
11
|
+
|
12
|
+
should_have_accessor :name
|
13
|
+
|
14
|
+
should "be a Proc" do
|
15
|
+
assert_kind_of ::Proc, subject
|
16
|
+
end
|
17
|
+
|
18
|
+
should "convert the name arg to a string and store off" do
|
19
|
+
assert_equal 'thing', subject.name
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
class PartialNameTest < Test::Unit::TestCase
|
26
|
+
context "A named partial" do
|
27
|
+
should "verify the name argument" do
|
28
|
+
assert_raises ArgumentError do
|
29
|
+
Partial.new([]) {}
|
30
|
+
end
|
31
|
+
assert_raises ArgumentError do
|
32
|
+
Partial.new(1) {}
|
33
|
+
end
|
34
|
+
assert_nothing_raised do
|
35
|
+
Partial.new(:poo) {}
|
36
|
+
end
|
37
|
+
assert_nothing_raised do
|
38
|
+
Partial.new('poo') {}
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
class PartialBindingTest < Test::Unit::TestCase
|
46
|
+
context "a partial defined w/ a block" do
|
47
|
+
should "access instance vars from that block's binding" do
|
48
|
+
@test = 'test thing'
|
49
|
+
@workbook = Workbook.new {
|
50
|
+
partial(:stuff) {
|
51
|
+
worksheet(:thing) { name @test }
|
52
|
+
}
|
53
|
+
|
54
|
+
add(:stuff)
|
55
|
+
}
|
56
|
+
|
57
|
+
assert !@workbook.worksheets.first.send(:instance_variable_get, "@test").nil?
|
58
|
+
assert_equal @test, @workbook.worksheets.first.send(:instance_variable_get, "@test")
|
59
|
+
assert_equal @test.object_id, @workbook.worksheets.first.send(:instance_variable_get, "@test").object_id
|
60
|
+
assert_equal @test, @workbook.worksheets.first.attributes[:name]
|
61
|
+
assert_equal @test.object_id, @workbook.worksheets.first.attributes[:name].object_id
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
data/test/rails/two/Gemfile.lock
CHANGED
data/test/row_test.rb
CHANGED
@@ -2,8 +2,8 @@ require "test/helper"
|
|
2
2
|
require 'osheet/row'
|
3
3
|
|
4
4
|
module Osheet
|
5
|
-
class RowTest < Test::Unit::TestCase
|
6
5
|
|
6
|
+
class RowTest < Test::Unit::TestCase
|
7
7
|
context "Osheet::Row" do
|
8
8
|
subject { Row.new }
|
9
9
|
|
@@ -16,6 +16,8 @@ module Osheet
|
|
16
16
|
should_have_instance_methods :hidden, :hidden?
|
17
17
|
should_have_instance_method :meta
|
18
18
|
|
19
|
+
should_hm(Row, :cells, Cell)
|
20
|
+
|
19
21
|
should "set it's defaults" do
|
20
22
|
assert_equal nil, subject.send(:get_ivar, "height")
|
21
23
|
assert_equal false, subject.send(:get_ivar, "autofit")
|
@@ -27,47 +29,56 @@ module Osheet
|
|
27
29
|
assert_equal nil, subject.meta
|
28
30
|
end
|
29
31
|
|
30
|
-
|
31
|
-
|
32
|
-
Row.new do
|
33
|
-
style_class "poo"
|
34
|
-
height 100
|
35
|
-
autofit true
|
36
|
-
hidden true
|
37
|
-
meta(
|
38
|
-
{}
|
39
|
-
)
|
40
|
-
end
|
41
|
-
end
|
32
|
+
end
|
33
|
+
end
|
42
34
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
35
|
+
class RowAttributeTest < Test::Unit::TestCase
|
36
|
+
context "a row that has attributes" do
|
37
|
+
subject do
|
38
|
+
Row.new do
|
39
|
+
style_class "poo"
|
40
|
+
height 100
|
41
|
+
autofit true
|
42
|
+
hidden true
|
43
|
+
meta(
|
44
|
+
{}
|
45
|
+
)
|
50
46
|
end
|
47
|
+
end
|
51
48
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
49
|
+
should "should set them correctly" do
|
50
|
+
assert_equal 100, subject.send(:get_ivar, "height")
|
51
|
+
assert_equal true, subject.send(:get_ivar, "autofit")
|
52
|
+
assert subject.autofit?
|
53
|
+
assert_equal true, subject.send(:get_ivar, "hidden")
|
54
|
+
assert subject.hidden?
|
55
|
+
assert_equal({}, subject.meta)
|
56
|
+
end
|
60
57
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
end
|
65
|
-
assert_equal 'poo', subject.attributes[:style_class]
|
66
|
-
assert_equal 100, subject.attributes[:height]
|
67
|
-
assert_equal true, subject.attributes[:autofit]
|
68
|
-
assert_equal true, subject.attributes[:hidden]
|
58
|
+
should "know it's attribute(s)" do
|
59
|
+
[:style_class, :height, :autofit, :hidden].each do |a|
|
60
|
+
assert subject.attributes.has_key?(a)
|
69
61
|
end
|
62
|
+
assert_equal 'poo', subject.attributes[:style_class]
|
63
|
+
assert_equal 100, subject.attributes[:height]
|
64
|
+
assert_equal true, subject.attributes[:autofit]
|
65
|
+
assert_equal true, subject.attributes[:hidden]
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
class RowDataTest < Test::Unit::TestCase
|
72
|
+
context "A row" do
|
73
|
+
subject { Row.new }
|
70
74
|
|
75
|
+
should "set it's height" do
|
76
|
+
subject.height(false)
|
77
|
+
assert_equal false, subject.height
|
78
|
+
subject.height(180)
|
79
|
+
assert_equal 180, subject.height
|
80
|
+
subject.height(nil)
|
81
|
+
assert_equal 180, subject.height
|
71
82
|
end
|
72
83
|
|
73
84
|
should "cast autofit and hidden to bool" do
|
@@ -76,10 +87,30 @@ module Osheet
|
|
76
87
|
assert_kind_of ::TrueClass, rw.send(:get_ivar, "hidden")
|
77
88
|
end
|
78
89
|
|
79
|
-
should_hm(Row, :cells, Cell)
|
80
|
-
|
81
90
|
end
|
91
|
+
end
|
92
|
+
|
93
|
+
class RowPartialTest < Test::Unit::TestCase
|
94
|
+
context "A workbook that defines column partials" do
|
95
|
+
subject do
|
96
|
+
Workbook.new {
|
97
|
+
partial(:row_stuff) {
|
98
|
+
height 200
|
99
|
+
meta 'awesome'
|
100
|
+
}
|
101
|
+
|
102
|
+
worksheet { row {
|
103
|
+
add :row_stuff
|
104
|
+
} }
|
105
|
+
}
|
106
|
+
end
|
82
107
|
|
108
|
+
should "add it's partials to it's markup" do
|
109
|
+
assert_equal 200, subject.worksheets.first.rows.first.height
|
110
|
+
assert_equal 'awesome', subject.worksheets.first.rows.first.meta
|
111
|
+
end
|
112
|
+
|
113
|
+
end
|
83
114
|
end
|
84
115
|
|
85
116
|
class RowBindingTest < Test::Unit::TestCase
|
data/test/style_test.rb
CHANGED
@@ -2,8 +2,8 @@ require "test/helper"
|
|
2
2
|
require "osheet/style"
|
3
3
|
|
4
4
|
module Osheet
|
5
|
-
class StyleTest < Test::Unit::TestCase
|
6
5
|
|
6
|
+
class StyleTest < Test::Unit::TestCase
|
7
7
|
context "Osheet::Style" do
|
8
8
|
subject { Style.new('.test') }
|
9
9
|
|
@@ -12,19 +12,6 @@ module Osheet
|
|
12
12
|
should_have_instance_methods :border, :border_left, :border_top, :border_right, :border_bottom
|
13
13
|
should_have_instance_method :match?
|
14
14
|
|
15
|
-
should "verify the selector" do
|
16
|
-
['poo', '#poo', 'poo poo', 'poo > poo', :poo, 123].each do |s|
|
17
|
-
assert_raises ArgumentError do
|
18
|
-
Style.new(s)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
['.poo', '.poo.poo', '.poo-poo', '.poo_poo'].each do |s|
|
22
|
-
assert_nothing_raised do
|
23
|
-
Style.new(s)
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
15
|
should "set it's defaults" do
|
29
16
|
assert_equal 1, subject.selectors.size
|
30
17
|
assert_equal '.test', subject.selectors.first
|
@@ -43,7 +30,35 @@ module Osheet
|
|
43
30
|
end
|
44
31
|
end
|
45
32
|
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
class StyleSelectorTest < Test::Unit::TestCase
|
37
|
+
context "A Style" do
|
38
|
+
subject { Style.new('.test') }
|
39
|
+
|
40
|
+
should "complain about bad selectors" do
|
41
|
+
['poo', '#poo', 'poo poo', 'poo > poo', :poo, 123].each do |s|
|
42
|
+
assert_raises ArgumentError do
|
43
|
+
Style.new(s)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
should "not complain about good selectors" do
|
49
|
+
['.poo', '.poo.poo', '.poo-poo', '.poo_poo'].each do |s|
|
50
|
+
assert_nothing_raised do
|
51
|
+
Style.new(s)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
end
|
46
58
|
|
59
|
+
class StyleCollectorTest < Test::Unit::TestCase
|
60
|
+
context "A Style" do
|
61
|
+
subject { Style.new }
|
47
62
|
|
48
63
|
[ :align, :font, :bg,
|
49
64
|
:border_left, :border_top, :border_right, :border_bottom
|
@@ -55,7 +70,7 @@ module Osheet
|
|
55
70
|
end
|
56
71
|
end
|
57
72
|
|
58
|
-
should "set all border positions to the same styles using 'border' macro" do
|
73
|
+
should "set all border positions to the same styles using 'border' macro collector" do
|
59
74
|
args = [:thick, '#FF00FF', :dot]
|
60
75
|
subject.border *args
|
61
76
|
[ :border_left, :border_top, :border_right, :border_bottom].each do |a|
|
@@ -63,6 +78,13 @@ module Osheet
|
|
63
78
|
end
|
64
79
|
end
|
65
80
|
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
class StyleMatcherTest < Test::Unit::TestCase
|
85
|
+
context "A Style" do
|
86
|
+
subject { Style.new }
|
87
|
+
|
66
88
|
should "match on style class strings" do
|
67
89
|
a = Style.new('.awesome') {}
|
68
90
|
at = Style.new('.awesome.thing') {}
|
@@ -87,7 +109,6 @@ module Osheet
|
|
87
109
|
end
|
88
110
|
|
89
111
|
end
|
90
|
-
|
91
112
|
end
|
92
113
|
|
93
114
|
class StyleBindingTest < Test::Unit::TestCase
|
data/test/template_set_test.rb
CHANGED
@@ -7,20 +7,11 @@ module Osheet
|
|
7
7
|
context "Osheet::TemplateSet" do
|
8
8
|
subject { TemplateSet.new }
|
9
9
|
|
10
|
-
should "be a
|
11
|
-
assert_kind_of
|
10
|
+
should "be a PartialSet" do
|
11
|
+
assert_kind_of PartialSet, subject
|
12
12
|
end
|
13
13
|
|
14
|
-
|
15
|
-
should_have_reader :get
|
16
|
-
|
17
|
-
should "key templates using their element and name" do
|
18
|
-
assert_equal [:row, :poo], subject.send(:key, :row, :poo)
|
19
|
-
assert_equal [:row, :row], subject.send(:key, :row, :row)
|
20
|
-
assert_equal ['row', 'poo'], subject.send(:template_key, Template.new(:row, :poo) {})
|
21
|
-
end
|
22
|
-
|
23
|
-
should "verify Template objs" do
|
14
|
+
should "verify set objs are templates" do
|
24
15
|
assert_raises ArgumentError do
|
25
16
|
subject.send(:verify, {})
|
26
17
|
end
|
@@ -29,7 +20,22 @@ module Osheet
|
|
29
20
|
end
|
30
21
|
end
|
31
22
|
|
32
|
-
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
class TemplateSetKeyTest < Test::Unit::TestCase
|
27
|
+
context "A template set" do
|
28
|
+
subject { TemplateSet.new }
|
29
|
+
|
30
|
+
should "key templates using an array of their element and name" do
|
31
|
+
assert_equal ['row','poo'], subject.send(:key, :row, :poo)
|
32
|
+
end
|
33
|
+
|
34
|
+
should "key on templates objs" do
|
35
|
+
assert_equal ['row', 'poo'], subject.send(:template_key, Template.new(:row, :poo) {})
|
36
|
+
end
|
37
|
+
|
38
|
+
should "init the key in the set when verifying" do
|
33
39
|
key = subject.send(:verify, Template.new(:row, :poo) {})
|
34
40
|
assert_equal ['row', 'poo'], key
|
35
41
|
assert_equal({
|
@@ -37,6 +43,12 @@ module Osheet
|
|
37
43
|
}, subject)
|
38
44
|
end
|
39
45
|
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
class TemplateSetPushTest < Test::Unit::TestCase
|
50
|
+
context "A template set" do
|
51
|
+
subject { TemplateSet.new }
|
40
52
|
should "push templates onto the set" do
|
41
53
|
assert_nothing_raised do
|
42
54
|
subject << Template.new(:row, :poo) {}
|
@@ -60,7 +72,14 @@ module Osheet
|
|
60
72
|
assert_kind_of Template, subject["column"]["not_awesome"]
|
61
73
|
end
|
62
74
|
|
63
|
-
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
class TemplateSetLookupTest < Test::Unit::TestCase
|
79
|
+
context "A template set" do
|
80
|
+
subject { TemplateSet.new }
|
81
|
+
|
82
|
+
should "lookup a template by element, name" do
|
64
83
|
t = Template.new(:row, :poo) {}
|
65
84
|
subject << t
|
66
85
|
assert_equal t, subject.get(:row, :poo)
|
@@ -71,6 +90,6 @@ module Osheet
|
|
71
90
|
end
|
72
91
|
|
73
92
|
end
|
74
|
-
|
75
93
|
end
|
94
|
+
|
76
95
|
end
|
data/test/template_test.rb
CHANGED
@@ -2,33 +2,32 @@ require "test/helper"
|
|
2
2
|
require "osheet/template"
|
3
3
|
|
4
4
|
module Osheet
|
5
|
-
class TemplateTest < Test::Unit::TestCase
|
6
5
|
|
6
|
+
class TemplateTest < Test::Unit::TestCase
|
7
7
|
context "Osheet::Template" do
|
8
8
|
subject do
|
9
|
-
Template.new('column', :thing) {
|
10
|
-
width 100
|
11
|
-
meta(
|
12
|
-
:thing => a_thing
|
13
|
-
)
|
14
|
-
}
|
9
|
+
Template.new('column', :thing) {}
|
15
10
|
end
|
16
11
|
|
17
12
|
should "define what elements it is valid for" do
|
18
13
|
assert_equal ['worksheet', 'column', 'row', 'cell'], Template::ELEMENTS
|
19
14
|
end
|
20
15
|
|
21
|
-
|
16
|
+
should_have_accessor :element
|
22
17
|
|
23
|
-
should "be a
|
24
|
-
assert_kind_of
|
18
|
+
should "be a Partial" do
|
19
|
+
assert_kind_of Partial, subject
|
25
20
|
end
|
26
21
|
|
27
|
-
should "convert the element
|
22
|
+
should "convert the element ars to string and store off" do
|
28
23
|
assert_equal 'column', subject.element
|
29
|
-
assert_equal 'thing', subject.name
|
30
24
|
end
|
31
25
|
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
class TemplateElementTest < Test::Unit::TestCase
|
30
|
+
context "a template" do
|
32
31
|
should "verify the element argument" do
|
33
32
|
assert_raises ArgumentError do
|
34
33
|
Template.new({}, :poo) {}
|
@@ -43,40 +42,25 @@ module Osheet
|
|
43
42
|
end
|
44
43
|
end
|
45
44
|
|
46
|
-
should "verify the name argument" do
|
47
|
-
assert_raises ArgumentError do
|
48
|
-
Template.new('worksheet', []) {}
|
49
|
-
end
|
50
|
-
assert_raises ArgumentError do
|
51
|
-
Template.new('worksheet', 1) {}
|
52
|
-
end
|
53
|
-
assert_nothing_raised do
|
54
|
-
Template.new('worksheet', :poo) {}
|
55
|
-
end
|
56
|
-
assert_nothing_raised do
|
57
|
-
Template.new('worksheet', 'poo') {}
|
58
|
-
end
|
59
|
-
end
|
60
45
|
end
|
61
|
-
|
62
46
|
end
|
63
47
|
|
64
|
-
class
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
end
|
48
|
+
# class TemplateBindingTest < Test::Unit::TestCase
|
49
|
+
# context "a template defined w/ a block" do
|
50
|
+
# should "access instance vars from that block's binding" do
|
51
|
+
# @test = 'test thing'
|
52
|
+
# @workbook = Workbook.new {
|
53
|
+
# template('worksheet', :thing) { name @test }
|
54
|
+
# worksheet(:thing)
|
55
|
+
# }
|
56
|
+
#
|
57
|
+
# assert !@workbook.worksheets.first.send(:instance_variable_get, "@test").nil?
|
58
|
+
# assert_equal @test, @workbook.worksheets.first.send(:instance_variable_get, "@test")
|
59
|
+
# assert_equal @test.object_id, @workbook.worksheets.first.send(:instance_variable_get, "@test").object_id
|
60
|
+
# assert_equal @test, @workbook.worksheets.first.attributes[:name]
|
61
|
+
# assert_equal @test.object_id, @workbook.worksheets.first.attributes[:name].object_id
|
62
|
+
# end
|
63
|
+
# end
|
64
|
+
# end
|
81
65
|
|
82
66
|
end
|