From 0c5287a668025df8566f983057e228515862c84a Mon Sep 17 00:00:00 2001 From: Jon Moss Date: Mon, 21 Dec 2015 18:56:54 -0500 Subject: Add #== back to ActionDispatch::MiddlewareStack::Middleware This was causing bug #22738 to occur. Also added extra tests to make sure everything is A-OK. --- actionpack/lib/action_dispatch/middleware/stack.rb | 9 +++++++++ actionpack/test/dispatch/middleware_stack_test.rb | 12 ++++++++++++ 2 files changed, 21 insertions(+) diff --git a/actionpack/lib/action_dispatch/middleware/stack.rb b/actionpack/lib/action_dispatch/middleware/stack.rb index 44fc1ee736..0b4bee5462 100644 --- a/actionpack/lib/action_dispatch/middleware/stack.rb +++ b/actionpack/lib/action_dispatch/middleware/stack.rb @@ -14,6 +14,15 @@ module ActionDispatch def name; klass.name; end + def ==(middleware) + case middleware + when Middleware + klass == middleware.klass + when Class + klass == middleware + end + end + def inspect if klass.is_a?(Class) klass.to_s diff --git a/actionpack/test/dispatch/middleware_stack_test.rb b/actionpack/test/dispatch/middleware_stack_test.rb index 33aa616474..b8da0024de 100644 --- a/actionpack/test/dispatch/middleware_stack_test.rb +++ b/actionpack/test/dispatch/middleware_stack_test.rb @@ -131,4 +131,16 @@ class MiddlewareStackTest < ActiveSupport::TestCase assert_equal BazMiddleware, @stack.last.klass end end + + test "can check if Middleware are equal - Class" do + assert_equal BazMiddleware, BazMiddleware + end + + test "can check if Middleware are equal - Middleware" do + assert_equal @stack.middlewares.first, @stack.middlewares.first + end + + test "klass is correct" do + assert_equal @stack.middlewares.first.klass, FooMiddleware + end end -- cgit v1.2.3