1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
# frozen_string_literal: true
require "test_helper"
require "browser/rails"
require "sample_app"
class MiddlewareTest < Minitest::Test
include Rack::Test::Methods
def app
Rails.application
end
test "redirects with 302" do
get "/", {}, "HTTP_USER_AGENT" => "MSIE 6", "HTTP_ACCEPT" => "text/html"
assert_equal 302, last_response.status
end
test "redirects ie6 to upgrade path" do
get "/", {}, "HTTP_USER_AGENT" => "MSIE 6", "HTTP_ACCEPT" => "text/html"
follow_redirect!
assert_equal "UPGRADE: ie6", last_response.body
end
test "redirects ie7 to upgrade path" do
get "/", {}, "HTTP_USER_AGENT" => "MSIE 7", "HTTP_ACCEPT" => "text/html"
follow_redirect!
assert_equal "UPGRADE: ie7", last_response.body
end
test "redirects ie8 and returns 404" do
get "/", {}, "HTTP_USER_AGENT" => "MSIE 8", "HTTP_ACCEPT" => "text/html"
follow_redirect!
assert_equal 404, last_response.status
end
test "redirects ie8 with wildcard http accept" do
get "/", {}, "HTTP_USER_AGENT" => "MSIE 8", "HTTP_ACCEPT" => "*/*"
follow_redirect!
assert_equal 404, last_response.status
end
test "ignores non-html requests" do
get "/", {}, "HTTP_USER_AGENT" => "MSIE 6", "HTTP_ACCEPT" => "image/png"
assert_equal 200, last_response.status
end
end
|