1
0
Fork 0
mirror of https://github.com/teampoltergeist/poltergeist.git synced 2022-11-09 12:05:00 -05:00

Propagate headers to new windows

This commit is contained in:
Tony Novak 2018-02-02 11:22:27 -05:00
parent 13df4b67b0
commit 725f49f5de
5 changed files with 24 additions and 0 deletions

View file

@ -59,6 +59,8 @@ class Poltergeist.Browser
_page.urlBlacklist = page.urlBlacklist
_page.urlWhitelist = page.urlWhitelist
_page.setViewportSize(page.viewportSize())
_page.setUserAgent(page.getUserAgent())
_page.setCustomHeaders(page.getCustomHeaders())
@setupPageHandlers(_page)
@pages.push(_page)

View file

@ -438,6 +438,10 @@ Poltergeist.WebPage = (function() {
}, selector);
};
WebPage.prototype.getUserAgent = function() {
return this["native"]().settings.userAgent;
};
WebPage.prototype.setUserAgent = function(userAgent) {
return this["native"]().settings.userAgent = userAgent;
};

View file

@ -275,6 +275,9 @@ class Poltergeist.WebPage
, selector
)
getUserAgent: ->
this.native().settings.userAgent
setUserAgent: (userAgent) ->
this.native().settings.userAgent = userAgent

View file

@ -439,6 +439,20 @@ module Capybara::Poltergeist
@session.visit('/poltergeist/redirect_to_headers')
expect(@driver.body).not_to include('X_CUSTOM_HEADER: 1')
end
it 'persists headers across popup windows' do
@driver.headers = {
'Cookie' => 'foo=bar',
'Host' => 'foo.com',
'User-Agent' => 'foo'
}
@session.visit('/poltergeist/popup_headers')
@session.click_link 'pop up'
@session.switch_to_window @session.windows.last
expect(@driver.body).to include('USER_AGENT: foo')
expect(@driver.body).to include('COOKIE: foo=bar')
expect(@driver.body).to include('HOST: foo.com')
end
end
it 'supports clicking precise coordinates' do

View file

@ -0,0 +1 @@
<a href="headers" target="_blank">pop up</a>