artdeco 1.3.0 → 1.3.1
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/lib/artdeco/version.rb +1 -1
- data/test/artdeco_test.rb +80 -64
- metadata +1 -1
data/lib/artdeco/version.rb
CHANGED
data/test/artdeco_test.rb
CHANGED
@@ -11,6 +11,9 @@ class ArtdecoTest < MiniTest::Unit::TestCase
|
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
+
class SubFoo < Foo
|
15
|
+
end
|
16
|
+
|
14
17
|
class FooHelper
|
15
18
|
def hi
|
16
19
|
end
|
@@ -42,97 +45,110 @@ class ArtdecoTest < MiniTest::Unit::TestCase
|
|
42
45
|
end
|
43
46
|
|
44
47
|
def test_decorate_model
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
+
model = Foo.new
|
49
|
+
controller = FakeController.new
|
50
|
+
Artdeco.decorate model, controller
|
48
51
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
+
assert_respond_to model, :h
|
53
|
+
assert_respond_to model, :ho
|
54
|
+
assert_respond_to model, :decorate
|
52
55
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
+
h = model.h
|
57
|
+
assert_equal FooHelper, h.class
|
58
|
+
assert_respond_to h, :hi
|
56
59
|
end
|
57
60
|
|
58
61
|
def test_decorate_model_with_given_decorator
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
+
model = Foo.new
|
63
|
+
controller = FakeController.new
|
64
|
+
Artdeco.decorate model, controller, decorators: BlaDecorator
|
62
65
|
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
+
assert_respond_to model, :h
|
67
|
+
assert_respond_to model, :bla
|
68
|
+
assert_respond_to model, :decorate
|
66
69
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
+
h = model.h
|
71
|
+
assert_equal FooHelper, h.class
|
72
|
+
assert_respond_to h, :hi
|
70
73
|
end
|
71
74
|
|
72
75
|
def test_decorate_model_with_given_decorators
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
76
|
+
model = Foo.new
|
77
|
+
controller = FakeController.new
|
78
|
+
Artdeco.decorate model, controller, decorators: [BlaDecorator, FooDecorator]
|
79
|
+
|
80
|
+
assert_respond_to model, :h
|
81
|
+
assert_respond_to model, :ho
|
82
|
+
assert_respond_to model, :bla
|
83
|
+
assert_respond_to model, :decorate
|
84
|
+
|
85
|
+
h = model.h
|
86
|
+
assert_equal FooHelper, h.class
|
87
|
+
assert_respond_to h, :hi
|
85
88
|
end
|
86
89
|
|
87
90
|
def test_decorated_model_can_decorate
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
other = Foo.new
|
93
|
-
model.decorate other
|
91
|
+
model = Foo.new
|
92
|
+
controller = FakeController.new
|
93
|
+
model = Artdeco.decorate model, controller
|
94
94
|
|
95
|
-
|
96
|
-
|
97
|
-
assert_respond_to other, :decorate
|
95
|
+
other = Foo.new
|
96
|
+
model.decorate other
|
98
97
|
|
99
|
-
|
100
|
-
|
98
|
+
assert_respond_to other, :h
|
99
|
+
assert_respond_to other, :ho
|
100
|
+
assert_respond_to other, :decorate
|
101
101
|
|
102
|
+
h = other.h
|
103
|
+
assert_equal FooHelper, h.class
|
102
104
|
|
103
|
-
|
104
|
-
|
105
|
+
another = Foo.new
|
106
|
+
model.decorate another, BlaDecorator
|
105
107
|
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
108
|
+
assert_respond_to another, :h
|
109
|
+
assert_respond_to another, :bla
|
110
|
+
assert !another.respond_to?(:ho)
|
111
|
+
assert_respond_to another, :decorate
|
110
112
|
|
111
|
-
|
112
|
-
|
113
|
+
h = another.h
|
114
|
+
assert_equal FooHelper, h.class
|
113
115
|
end
|
114
116
|
|
115
117
|
def decorator_with_hash_argument
|
116
|
-
|
117
|
-
|
118
|
+
model = Foo.new
|
119
|
+
Artdeco.decorate model, view_context: FooHelper.new, params: {}
|
118
120
|
|
119
|
-
|
120
|
-
|
121
|
-
|
121
|
+
assert_respond_to model, :h
|
122
|
+
assert_respond_to model, :ho
|
123
|
+
assert_respond_to model, :decorate
|
122
124
|
|
123
|
-
|
124
|
-
|
125
|
-
|
125
|
+
h = model.h
|
126
|
+
assert_equal FooHelper, h.class
|
127
|
+
assert_respond_to h, :hi
|
126
128
|
end
|
127
129
|
|
128
130
|
def test_decorate_enums
|
129
|
-
|
130
|
-
|
131
|
+
models = [Foo.new, Foo.new]
|
132
|
+
Artdeco.decorate models, view_context: FooHelper.new, params: {}
|
131
133
|
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
134
|
+
models.each do |model|
|
135
|
+
assert_respond_to model, :h
|
136
|
+
assert_respond_to model, :ho
|
137
|
+
assert_respond_to model, :decorate
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
def test_decorate_inherited
|
142
|
+
model = SubFoo.new
|
143
|
+
|
144
|
+
controller = FakeController.new
|
145
|
+
Artdeco.decorate model, controller
|
146
|
+
|
147
|
+
assert_respond_to model, :h
|
148
|
+
assert_respond_to model, :ho
|
149
|
+
assert_respond_to model, :decorate
|
150
|
+
|
151
|
+
h = model.h
|
152
|
+
assert_equal FooHelper, h.class
|
137
153
|
end
|
138
154
|
end
|