class FlashResponderTest

Public Instance Methods

assert_flash_now(k) click to toggle source

If we have flash.now, it's always marked as used. Rails 4.1 has string keys, whereas 3.2 and 4.0 has symbols, so we need to test both.

# File test/flash_responder_test.rb, line 196
def assert_flash_now(k)
  assert flash.used_keys.include?(k.to_sym) || flash.used_keys.include?(k.to_s),
   "Expected #{k} to be in flash.now, but it's not."
end
assert_not_flash_now(k) click to toggle source
# File test/flash_responder_test.rb, line 201
def assert_not_flash_now(k)
  assert flash[k], "Expected #{k} to be set"
  assert !flash.used_keys.include?(k.to_sym),
   "Expected #{k} to not be in flash.now, but it is."
end
setup() click to toggle source
# File test/flash_responder_test.rb, line 68
def setup
  Responders::FlashResponder.flash_keys = [ :success, :failure ]
  @controller.stubs(:polymorphic_url).returns("/")
end
test_does_not_overwrite_the_flash_if_already_set() click to toggle source
# File test/flash_responder_test.rb, line 108
def test_does_not_overwrite_the_flash_if_already_set
  post :create, :set_flash => true
  assert_equal "Flash is set", flash[:success]
end
test_does_not_set_flash_if_flash_false_is_given() click to toggle source
# File test/flash_responder_test.rb, line 103
def test_does_not_set_flash_if_flash_false_is_given
  post :create, :flash => false
  assert flash.empty?
end
test_does_not_set_flash_message_on_get_requests() click to toggle source
# File test/flash_responder_test.rb, line 83
def test_does_not_set_flash_message_on_get_requests
  get :new
  assert flash.empty?
end
test_does_not_set_flash_message_to_now_with_errors_and_redirect() click to toggle source
# File test/flash_responder_test.rb, line 183
def test_does_not_set_flash_message_to_now_with_errors_and_redirect
  delete :with_html, :fail => true
  assert_not_flash_now :failure
  assert_equal "<strong>OH NOES!</strong> You did it wrong!", flash[:failure]
end
test_escapes_html_interpolations() click to toggle source
# File test/flash_responder_test.rb, line 172
def test_escapes_html_interpolations
  Responders::FlashResponder.flash_keys = [ :xss, :xss ]
  post :with_html
  assert_equal "<strong>Yay!</strong> &lt;script&gt;alert(1)&lt;/script&gt;", flash[:xss]
end
test_never_set_flash_now() click to toggle source
# File test/flash_responder_test.rb, line 189
def test_never_set_flash_now
  post :flexible, :fail => true, :responder_options => { :flash_now => false, :alert => "Warning" }
  assert_not_flash_now :failure
end
test_sets_failure_flash_message_on_not_get_requests() click to toggle source
# File test/flash_responder_test.rb, line 78
def test_sets_failure_flash_message_on_not_get_requests
  post :create, :fail => true
  assert_equal "Resource could not be created", flash[:failure]
end
test_sets_flash_message_can_be_set_to_now() click to toggle source
# File test/flash_responder_test.rb, line 124
def test_sets_flash_message_can_be_set_to_now
  post :create, :flash_now => true
  assert_equal "Resource created with success", @controller.flash.now[:success]
  assert_flash_now :success
end
test_sets_flash_message_can_be_set_to_now_only_on_failure() click to toggle source
# File test/flash_responder_test.rb, line 135
def test_sets_flash_message_can_be_set_to_now_only_on_failure
  post :create, :flash_now => :on_failure
  assert_not_flash_now :success
end
test_sets_flash_message_can_be_set_to_now_only_on_success() click to toggle source
# File test/flash_responder_test.rb, line 130
def test_sets_flash_message_can_be_set_to_now_only_on_success
  post :create, :flash_now => :on_success
  assert_equal "Resource created with success", @controller.flash.now[:success]
end
test_sets_flash_message_even_if_block_is_given() click to toggle source
# File test/flash_responder_test.rb, line 113
def test_sets_flash_message_even_if_block_is_given
  post :with_block
  assert_equal "Resource with block created with success", flash[:success]
end
test_sets_flash_message_for_the_current_controller() click to toggle source
# File test/flash_responder_test.rb, line 88
def test_sets_flash_message_for_the_current_controller
  put :update, :fail => true
  assert_equal "Oh no! We could not update your address!", flash[:failure]
end
test_sets_flash_message_with_interpolation_options() click to toggle source
# File test/flash_responder_test.rb, line 98
def test_sets_flash_message_with_interpolation_options
  delete :destroy
  assert_equal "Successfully deleted the address at Ocean Avenue", flash[:success]
end
test_sets_flash_message_with_resource_name() click to toggle source
# File test/flash_responder_test.rb, line 93
def test_sets_flash_message_with_resource_name
  put :update
  assert_equal "Nice! Address was updated with success!", flash[:success]
end
test_sets_flash_now_on_failure_by_default() click to toggle source
# File test/flash_responder_test.rb, line 178
def test_sets_flash_now_on_failure_by_default
  post :another, :fail => true
  assert_flash_now :failure
end
test_sets_html_using_actions_scope() click to toggle source
# File test/flash_responder_test.rb, line 167
def test_sets_html_using_actions_scope
  post :with_html, :fail => true
  assert_equal "<strong>OH NOES!</strong> You did it wrong!", flash[:failure]
end
test_sets_html_using_controller_scope() click to toggle source
# File test/flash_responder_test.rb, line 162
def test_sets_html_using_controller_scope
  post :with_html
  assert_equal "<strong>Yay!</strong> You did it!", flash[:success]
end
test_sets_message_based_on_alert_key() click to toggle source
# File test/flash_responder_test.rb, line 156
def test_sets_message_based_on_alert_key
  Responders::FlashResponder.flash_keys = [ :notice, :alert ]
  post :another, :fail => true
  assert_equal "Warning, warning!", flash[:alert]
end
test_sets_message_based_on_alert_key_with_custom_keys() click to toggle source
# File test/flash_responder_test.rb, line 145
def test_sets_message_based_on_alert_key_with_custom_keys
  post :another, :fail => true
  assert_equal "Warning, warning!", flash[:failure]
end
test_sets_message_based_on_notice_key() click to toggle source
# File test/flash_responder_test.rb, line 150
def test_sets_message_based_on_notice_key
  Responders::FlashResponder.flash_keys = [ :notice, :alert ]
  post :another
  assert_equal "Yes, notice this!", flash[:notice]
end
test_sets_message_based_on_notice_key_with_custom_keys() click to toggle source
# File test/flash_responder_test.rb, line 140
def test_sets_message_based_on_notice_key_with_custom_keys
  post :another
  assert_equal "Yes, notice this!", flash[:success]
end
test_sets_now_flash_message_on_javascript_requests() click to toggle source
# File test/flash_responder_test.rb, line 118
def test_sets_now_flash_message_on_javascript_requests
  post :create, :format => :js
  assert_equal "Resource created with success", flash[:success]
  assert_flash_now :success
end
test_sets_success_flash_message_on_non_get_requests() click to toggle source
# File test/flash_responder_test.rb, line 73
def test_sets_success_flash_message_on_non_get_requests
  post :create
  assert_equal "Resource created with success", flash[:success]
end