test/artdeco_test.rb in artdeco-1.3.0 vs test/artdeco_test.rb in artdeco-1.3.1
- old
+ new
@@ -9,10 +9,13 @@
class Foo
def foo
end
end
+ class SubFoo < Foo
+ end
+
class FooHelper
def hi
end
end
@@ -40,99 +43,112 @@
view_content.send *args
end
end
def test_decorate_model
- model = Foo.new
- controller = FakeController.new
- Artdeco.decorate model, controller
+ model = Foo.new
+ controller = FakeController.new
+ Artdeco.decorate model, controller
- assert_respond_to model, :h
- assert_respond_to model, :ho
- assert_respond_to model, :decorate
+ assert_respond_to model, :h
+ assert_respond_to model, :ho
+ assert_respond_to model, :decorate
- h = model.h
- assert_equal FooHelper, h.class
- assert_respond_to h, :hi
+ h = model.h
+ assert_equal FooHelper, h.class
+ assert_respond_to h, :hi
end
def test_decorate_model_with_given_decorator
- model = Foo.new
- controller = FakeController.new
- Artdeco.decorate model, controller, decorators: BlaDecorator
+ model = Foo.new
+ controller = FakeController.new
+ Artdeco.decorate model, controller, decorators: BlaDecorator
- assert_respond_to model, :h
- assert_respond_to model, :bla
- assert_respond_to model, :decorate
+ assert_respond_to model, :h
+ assert_respond_to model, :bla
+ assert_respond_to model, :decorate
- h = model.h
- assert_equal FooHelper, h.class
- assert_respond_to h, :hi
+ h = model.h
+ assert_equal FooHelper, h.class
+ assert_respond_to h, :hi
end
def test_decorate_model_with_given_decorators
- model = Foo.new
- controller = FakeController.new
- Artdeco.decorate model, controller, decorators: [BlaDecorator, FooDecorator]
+ model = Foo.new
+ controller = FakeController.new
+ Artdeco.decorate model, controller, decorators: [BlaDecorator, FooDecorator]
- assert_respond_to model, :h
- assert_respond_to model, :ho
- assert_respond_to model, :bla
- assert_respond_to model, :decorate
+ assert_respond_to model, :h
+ assert_respond_to model, :ho
+ assert_respond_to model, :bla
+ assert_respond_to model, :decorate
- h = model.h
- assert_equal FooHelper, h.class
- assert_respond_to h, :hi
+ h = model.h
+ assert_equal FooHelper, h.class
+ assert_respond_to h, :hi
end
def test_decorated_model_can_decorate
- model = Foo.new
- controller = FakeController.new
- model = Artdeco.decorate model, controller
+ model = Foo.new
+ controller = FakeController.new
+ model = Artdeco.decorate model, controller
- other = Foo.new
- model.decorate other
+ other = Foo.new
+ model.decorate other
- assert_respond_to other, :h
- assert_respond_to other, :ho
- assert_respond_to other, :decorate
+ assert_respond_to other, :h
+ assert_respond_to other, :ho
+ assert_respond_to other, :decorate
- h = other.h
- assert_equal FooHelper, h.class
+ h = other.h
+ assert_equal FooHelper, h.class
+ another = Foo.new
+ model.decorate another, BlaDecorator
- another = Foo.new
- model.decorate another, BlaDecorator
+ assert_respond_to another, :h
+ assert_respond_to another, :bla
+ assert !another.respond_to?(:ho)
+ assert_respond_to another, :decorate
- assert_respond_to another, :h
- assert_respond_to another, :bla
- assert !another.respond_to?(:ho)
- assert_respond_to another, :decorate
-
- h = another.h
- assert_equal FooHelper, h.class
+ h = another.h
+ assert_equal FooHelper, h.class
end
def decorator_with_hash_argument
- model = Foo.new
- Artdeco.decorate model, view_context: FooHelper.new, params: {}
+ model = Foo.new
+ Artdeco.decorate model, view_context: FooHelper.new, params: {}
- assert_respond_to model, :h
- assert_respond_to model, :ho
- assert_respond_to model, :decorate
+ assert_respond_to model, :h
+ assert_respond_to model, :ho
+ assert_respond_to model, :decorate
- h = model.h
- assert_equal FooHelper, h.class
- assert_respond_to h, :hi
+ h = model.h
+ assert_equal FooHelper, h.class
+ assert_respond_to h, :hi
end
def test_decorate_enums
- models = [Foo.new, Foo.new]
- Artdeco.decorate models, view_context: FooHelper.new, params: {}
+ models = [Foo.new, Foo.new]
+ Artdeco.decorate models, view_context: FooHelper.new, params: {}
- models.each do |model|
- assert_respond_to model, :h
- assert_respond_to model, :ho
- assert_respond_to model, :decorate
- end
+ models.each do |model|
+ assert_respond_to model, :h
+ assert_respond_to model, :ho
+ assert_respond_to model, :decorate
+ end
+ end
+
+ def test_decorate_inherited
+ model = SubFoo.new
+
+ controller = FakeController.new
+ Artdeco.decorate model, controller
+
+ assert_respond_to model, :h
+ assert_respond_to model, :ho
+ assert_respond_to model, :decorate
+
+ h = model.h
+ assert_equal FooHelper, h.class
end
end