From 801f2c7c1eab3b2053244485c9800f850959cfef Mon Sep 17 00:00:00 2001 From: Elliot Winkler Date: Wed, 19 Nov 2014 16:17:48 -0700 Subject: [PATCH] Remove set_the_flash in favor of set_flash --- NEWS.md | 2 + .../action_controller/set_flash_matcher.rb | 10 - .../set_flash_matcher_spec.rb | 238 +++++++++--------- 3 files changed, 114 insertions(+), 136 deletions(-) diff --git a/NEWS.md b/NEWS.md index f968368e..8f354623 100644 --- a/NEWS.md +++ b/NEWS.md @@ -13,6 +13,8 @@ * `ensure_inclusion_of`, `ensure_exclusion_of`, and `ensure_length_of` have been removed in favor of their `validate_*` counterparts. +* `set_the_flash` has been removed in favor of `set_flash`. + # 2.8.0 ### Deprecations diff --git a/lib/shoulda/matchers/action_controller/set_flash_matcher.rb b/lib/shoulda/matchers/action_controller/set_flash_matcher.rb index 54b21655..47244f6e 100644 --- a/lib/shoulda/matchers/action_controller/set_flash_matcher.rb +++ b/lib/shoulda/matchers/action_controller/set_flash_matcher.rb @@ -149,16 +149,6 @@ module Shoulda SetFlashMatcher.new end - # @deprecated Use {#set_flash} instead. - # @return [SetFlashMatcher] - def set_the_flash - Shoulda::Matchers.warn_about_deprecated_method( - :set_the_flash, - :set_flash - ) - set_flash - end - # @private class SetFlashMatcher def initialize diff --git a/spec/unit/shoulda/matchers/action_controller/set_flash_matcher_spec.rb b/spec/unit/shoulda/matchers/action_controller/set_flash_matcher_spec.rb index 0428f7fd..f6b0e8a1 100644 --- a/spec/unit/shoulda/matchers/action_controller/set_flash_matcher_spec.rb +++ b/spec/unit/shoulda/matchers/action_controller/set_flash_matcher_spec.rb @@ -1,147 +1,133 @@ require 'unit_spec_helper' -describe Shoulda::Matchers::ActionController, type: :controller do - describe '#set_the_flash' do - it 'is deprecated in favor of #set_flash' do - expect { set_the_flash }.to deprecate(:set_the_flash, :set_flash) +describe Shoulda::Matchers::ActionController::SetFlashMatcher, type: :controller do + it 'fails with unmatchable #to' do + expect { set_flash.to(1) }.to raise_error('cannot match against 1') + end + + context 'a controller that sets a flash message' do + it 'accepts setting any flash message' do + expect(controller_with_flash(notice: 'hi')).to set_flash end - it 'still works regardless' do - silence_warnings do - expect(controller_with_flash(notice: 'hi')).to set_the_flash - end + it 'accepts setting the exact flash message' do + expect(controller_with_flash(notice: 'hi')).to set_flash.to('hi') + end + + it 'accepts setting a matched flash message' do + expect(controller_with_flash(notice: 'hello')).to set_flash.to(/he/) + end + + it 'rejects setting a different flash message' do + expect(controller_with_flash(notice: 'hi')). + not_to set_flash.to('other') + end + + it 'rejects setting a different pattern' do + expect(controller_with_flash(notice: 'hi')). + not_to set_flash.to(/other/) end end - describe '#set_flash' do - it 'fails with unmatchable #to' do - expect { set_flash.to(1) }.to raise_error('cannot match against 1') + context 'a controller that sets a flash.now message' do + it 'rejects setting any flash message' do + expect(controller_with_flash_now).not_to set_flash end - context 'a controller that sets a flash message' do - it 'accepts setting any flash message' do - expect(controller_with_flash(notice: 'hi')).to set_flash - end - - it 'accepts setting the exact flash message' do - expect(controller_with_flash(notice: 'hi')).to set_flash.to('hi') - end - - it 'accepts setting a matched flash message' do - expect(controller_with_flash(notice: 'hello')).to set_flash.to(/he/) - end - - it 'rejects setting a different flash message' do - expect(controller_with_flash(notice: 'hi')). - not_to set_flash.to('other') - end - - it 'rejects setting a different pattern' do - expect(controller_with_flash(notice: 'hi')). - not_to set_flash.to(/other/) - end + it 'accepts setting any flash.now message' do + expect(controller_with_flash_now).to set_flash.now end - context 'a controller that sets a flash.now message' do - it 'rejects setting any flash message' do - expect(controller_with_flash_now).not_to set_flash - end - - it 'accepts setting any flash.now message' do - expect(controller_with_flash_now).to set_flash.now - end - - it 'accepts setting the exact flash.now message' do - expect(controller_with_flash_now(notice: 'hi')). - to set_flash.now.to('hi') - end - - it 'accepts setting a matched flash.now message' do - expect(controller_with_flash_now(notice: 'flasher')). - to set_flash.now.to(/lash/) - end - - it 'rejects setting a different flash.now message' do - expect(controller_with_flash_now(notice: 'hi')). - not_to set_flash.now.to('other') - end - - it 'rejects setting a different flash.now pattern' do - expect(controller_with_flash_now(notice: 'hi')). - not_to set_flash.now.to(/other/) - end + it 'accepts setting the exact flash.now message' do + expect(controller_with_flash_now(notice: 'hi')). + to set_flash.now.to('hi') end - context 'a controller that sets flash messages for multiple keys' do - it 'accepts flash message for either key' do - controller = controller_with_flash(notice: 'one', alert: 'two') - - expect(controller).to set_flash[:notice] - expect(controller).to set_flash[:alert] - end - - it 'rejects a flash message that is not one of the set keys' do - expect(controller_with_flash(notice: 'one', alert: 'two')). - not_to set_flash[:warning] - end - - it 'accepts exact flash message of notice' do - expect(controller_with_flash(notice: 'one', alert: 'two')). - to set_flash[:notice].to('one') - end - - it 'accepts setting a matched flash message of notice' do - expect(controller_with_flash(notice: 'one', alert: 'two')). - to set_flash[:notice].to(/on/) - end - - it 'rejects setting a different flash message of notice' do - expect(controller_with_flash(notice: 'one', alert: 'two')). - not_to set_flash[:notice].to('other') - end - - it 'rejects setting a different pattern' do - expect(controller_with_flash(notice: 'one', alert: 'two')). - not_to set_flash[:notice].to(/other/) - end + it 'accepts setting a matched flash.now message' do + expect(controller_with_flash_now(notice: 'flasher')). + to set_flash.now.to(/lash/) end - context 'a controller that sets flash and flash.now' do - it 'accepts setting any flash.now message' do - controller = build_fake_response do - flash.now[:notice] = 'value' - flash[:success] = 'great job' - end - - expect(controller).to set_flash.now - expect(controller).to set_flash - end - - it 'accepts setting a matched flash.now message' do - controller = build_fake_response do - flash.now[:notice] = 'value' - flash[:success] = 'great job' - end - - expect(controller).to set_flash.now.to(/value/) - expect(controller).to set_flash.to(/great/) - end - - it 'rejects setting a different flash.now message' do - controller = build_fake_response do - flash.now[:notice] = 'value' - flash[:success] = 'great job' - end - - expect(controller).not_to set_flash.now.to('other') - expect(controller).not_to set_flash.to('other') - end + it 'rejects setting a different flash.now message' do + expect(controller_with_flash_now(notice: 'hi')). + not_to set_flash.now.to('other') end - context 'a controller that does not set a flash message' do - it 'rejects setting any flash message' do - expect(controller_with_no_flashes).not_to set_flash + it 'rejects setting a different flash.now pattern' do + expect(controller_with_flash_now(notice: 'hi')). + not_to set_flash.now.to(/other/) + end + end + + context 'a controller that sets flash messages for multiple keys' do + it 'accepts flash message for either key' do + controller = controller_with_flash(notice: 'one', alert: 'two') + + expect(controller).to set_flash[:notice] + expect(controller).to set_flash[:alert] + end + + it 'rejects a flash message that is not one of the set keys' do + expect(controller_with_flash(notice: 'one', alert: 'two')). + not_to set_flash[:warning] + end + + it 'accepts exact flash message of notice' do + expect(controller_with_flash(notice: 'one', alert: 'two')). + to set_flash[:notice].to('one') + end + + it 'accepts setting a matched flash message of notice' do + expect(controller_with_flash(notice: 'one', alert: 'two')). + to set_flash[:notice].to(/on/) + end + + it 'rejects setting a different flash message of notice' do + expect(controller_with_flash(notice: 'one', alert: 'two')). + not_to set_flash[:notice].to('other') + end + + it 'rejects setting a different pattern' do + expect(controller_with_flash(notice: 'one', alert: 'two')). + not_to set_flash[:notice].to(/other/) + end + end + + context 'a controller that sets flash and flash.now' do + it 'accepts setting any flash.now message' do + controller = build_fake_response do + flash.now[:notice] = 'value' + flash[:success] = 'great job' end + + expect(controller).to set_flash.now + expect(controller).to set_flash + end + + it 'accepts setting a matched flash.now message' do + controller = build_fake_response do + flash.now[:notice] = 'value' + flash[:success] = 'great job' + end + + expect(controller).to set_flash.now.to(/value/) + expect(controller).to set_flash.to(/great/) + end + + it 'rejects setting a different flash.now message' do + controller = build_fake_response do + flash.now[:notice] = 'value' + flash[:success] = 'great job' + end + + expect(controller).not_to set_flash.now.to('other') + expect(controller).not_to set_flash.to('other') + end + end + + context 'a controller that does not set a flash message' do + it 'rejects setting any flash message' do + expect(controller_with_no_flashes).not_to set_flash end end