teamcapybara--capybara/lib/capybara/spec/session/current_host_spec.rb

63 lines
2.8 KiB
Ruby

shared_examples_for "current_host" do
after do
Capybara.app_host = nil
end
describe '#current_host' do
it "is affected by visiting a page directly" do
@session.visit('http://capybara-testapp.heroku.com/host')
@session.body.should include('Current host is http://capybara-testapp.heroku.com')
@session.current_host.should == 'http://capybara-testapp.heroku.com'
end
it "returns to the app host when visiting a relative url" do
Capybara.app_host = "http://capybara1.elabs.se"
@session.visit('http://capybara-testapp.heroku.com/host')
@session.body.should include('Current host is http://capybara-testapp.heroku.com')
@session.current_host.should == 'http://capybara-testapp.heroku.com'
@session.visit('/host')
@session.body.should include('Current host is http://capybara1.elabs.se')
@session.current_host.should == 'http://capybara1.elabs.se'
end
it "is affected by setting Capybara.app_host" do
Capybara.app_host = "http://capybara-testapp.heroku.com"
@session.visit('/host')
@session.body.should include('Current host is http://capybara-testapp.heroku.com')
@session.current_host.should == 'http://capybara-testapp.heroku.com'
Capybara.app_host = "http://capybara1.elabs.se"
@session.visit('/host')
@session.body.should include('Current host is http://capybara1.elabs.se')
@session.current_host.should == 'http://capybara1.elabs.se'
end
it "is unaffected by following a relative link" do
@session.visit('http://capybara-testapp.heroku.com/host_links')
@session.click_link('Relative Host')
@session.body.should include('Current host is http://capybara-testapp.heroku.com')
@session.current_host.should == 'http://capybara-testapp.heroku.com'
end
it "is affected by following an absolute link" do
@session.visit('http://capybara-testapp.heroku.com/host_links')
@session.click_link('Absolute Host')
@session.body.should include('Current host is http://capybara2.elabs.se')
@session.current_host.should == 'http://capybara2.elabs.se'
end
it "is unaffected by posting through a relative form" do
@session.visit('http://capybara-testapp.heroku.com/host_links')
@session.click_button('Relative Host')
@session.body.should include('Current host is http://capybara-testapp.heroku.com')
@session.current_host.should == 'http://capybara-testapp.heroku.com'
end
it "is affected by posting through an absolute form" do
@session.visit('http://capybara-testapp.heroku.com/host_links')
@session.click_button('Absolute Host')
@session.body.should include('Current host is http://capybara2.elabs.se')
@session.current_host.should == 'http://capybara2.elabs.se'
end
end
end