Skip to content

Instantly share code, notes, and snippets.

@nmk
Created March 5, 2012 12:21
Show Gist options
  • Save nmk/1978140 to your computer and use it in GitHub Desktop.
Save nmk/1978140 to your computer and use it in GitHub Desktop.
Testing headers with capybara Rack::Test browser
require 'sinatra'
get '/' do
%Q{
<html>
<head></head>
<body>
#{request.env['HTTP_ACCEPT_LANGUAGE']}
</body>
</html>
}
end
require 'capybara'
require 'capybara/dsl'
require 'minitest/autorun'
require_relative './app'
Capybara.register_driver(:rack_test_original_header) do |app|
Capybara::RackTest::Driver.new(app, headers: { 'Accept-Language' => 'sv' })
end
Capybara.register_driver(:rack_test_translated_header) do |app|
Capybara::RackTest::Driver.new(app, headers: { 'HTTP_ACCEPT_LANGUAGE' => 'sv' })
end
class AcceptLanguageHeaderTest < MiniTest::Unit::TestCase
include Capybara
def setup
Capybara.app = Sinatra::Application.new
end
def test_using_the_original_header
Capybara.current_driver = :rack_test_original_header
visit '/'
assert page.has_content?('sv')
end
def test_using_the_translated_header
Capybara.current_driver = :rack_test_translated_header
visit '/'
assert page.has_content?('sv')
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment