require 'abstract_unit' class BestStandardsSupportTest < ActiveSupport::TestCase def test_with_best_standards_support _, headers, _ = app(true, {}).call({}) assert_equal "IE=Edge,chrome=1", headers["X-UA-Compatible"] end def test_with_builtin_best_standards_support _, headers, _ = app(:builtin, {}).call({}) assert_equal "IE=Edge", headers["X-UA-Compatible"] end def test_without_best_standards_support _, headers, _ = app(false, {}).call({}) assert_equal nil, headers["X-UA-Compatible"] end def test_appends_to_app_headers_without_duplication_after_multiple_requests app_headers = { "X-UA-Compatible" => "requiresActiveX=true" } _, headers, _ = app(true, app_headers).call({}) _, headers, _ = app(true, app_headers).call({}) expects = "requiresActiveX=true,IE=Edge,chrome=1" assert_equal expects, headers["X-UA-Compatible"] end private def app(type, headers) app = proc { [200, headers, "response"] } ActionDispatch::BestStandardsSupport.new(app, type) end end