Sha256: 3e18865132cf8ae099c9abd356cf70a13308029d2f3d00a70d9793dd56486ce7

Contents?: true

Size: 1.37 KB

Versions: 10

Compression:

Stored size: 1.37 KB

Contents

module Merb::Test::Unit::ControllerAsserts
  include Test::Unit::Assertions
  include Merb::Test::ControllerHelper
    
  def assert_redirect(target)
    assert([307, *(300..305)].include?(target.respond_to?(:status) ? target.status : target), redirect_failure_message(target))
  end
  
  def assert_redirect_to(expected, target)
    location = target.headers['Location']
    
    assert_redirect(target)
    assert_equal(expected, location, redirect_to_failure_message(expected, location))
  end
  
  def assert_success(target)
    assert((200..207).include?(target.respond_to?(:status) ? target.status : target), success_failure_message(target))
  end
  
  def assert_missing(target)
    assert((400..417).include?(target.respond_to?(:status) ? target.status : target), missing_failure_message(target))
  end
  
  private
    def redirect_failure_message(target)
      "expected#{target_message(target)} to redirect"
    end
    
    def redirect_to_failure_message(expected, location)
      "expected a redirect to <#{expected}>, but found one to #{location}"
    end
    
    def success_failure_message(target)
      "expected#{target_message(target)} to be successful"
    end
    
    def missing_failure_message(target)
      "expected#{target_message(target)} to be missing"
    end
    
    def target_message(target)
      " #{@target.inspect}" if target.respond_to?(:status)
    end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
merb_test_unit-0.9.12 lib/asserts/controller_asserts.rb
merb_test_unit-0.9.13 lib/asserts/controller_asserts.rb
merb_test_unit-0.9.5 lib/asserts/controller_asserts.rb
merb_test_unit-0.9.11 lib/asserts/controller_asserts.rb
merb_test_unit-0.9.10 lib/asserts/controller_asserts.rb
merb_test_unit-0.9.4 lib/asserts/controller_asserts.rb
merb_test_unit-0.9.7 lib/asserts/controller_asserts.rb
merb_test_unit-0.9.6 lib/asserts/controller_asserts.rb
merb_test_unit-0.9.9 lib/asserts/controller_asserts.rb
merb_test_unit-0.9.8 lib/asserts/controller_asserts.rb