osheet 0.5.0 → 0.6.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.
- 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
|