mirror of
https://github.com/thoughtbot/capybara-webkit
synced 2023-03-27 23:22:28 -04:00
Resize window spec uses AppRunner
This commit is contained in:
parent
c1682d2bfd
commit
3bc96bcb19
1 changed files with 26 additions and 37 deletions
|
@ -2,58 +2,47 @@ require 'spec_helper'
|
|||
require 'capybara/webkit/driver'
|
||||
|
||||
describe Capybara::Webkit::Driver, "#resize_window(width, height)" do
|
||||
include AppRunner
|
||||
|
||||
before(:all) do
|
||||
app = lambda do |env|
|
||||
body = <<-HTML
|
||||
<html>
|
||||
<body>
|
||||
<h1 id="dimentions">UNKNOWN</h1>
|
||||
let(:driver) do
|
||||
driver_for_html(<<-HTML)
|
||||
<html>
|
||||
<body>
|
||||
<h1 id="dimentions">UNKNOWN</h1>
|
||||
|
||||
<script>
|
||||
window.onload = window.onresize = function(){
|
||||
document.getElementById("dimentions").innerHTML = "[" + window.innerWidth + "x" + window.innerHeight + "]";
|
||||
};
|
||||
</script>
|
||||
<script>
|
||||
window.onload = window.onresize = function(){
|
||||
document.getElementById("dimentions").innerHTML = "[" + window.innerWidth + "x" + window.innerHeight + "]";
|
||||
};
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
HTML
|
||||
|
||||
[
|
||||
200,
|
||||
{ 'Content-Type' => 'text/html', 'Content-Length' => body.length.to_s },
|
||||
[body]
|
||||
]
|
||||
end
|
||||
|
||||
@driver = Capybara::Webkit::Driver.new(app, :browser => $webkit_browser)
|
||||
</body>
|
||||
</html>
|
||||
HTML
|
||||
end
|
||||
|
||||
DEFAULT_DIMENTIONS = "[1680x1050]"
|
||||
|
||||
it "resizes the window to the specified size" do
|
||||
@driver.visit("/")
|
||||
driver.visit("#{AppRunner.app_host}/")
|
||||
|
||||
@driver.resize_window(800, 600)
|
||||
@driver.html.should include("[800x600]")
|
||||
driver.resize_window(800, 600)
|
||||
driver.html.should include("[800x600]")
|
||||
|
||||
@driver.resize_window(300, 100)
|
||||
@driver.html.should include("[300x100]")
|
||||
driver.resize_window(300, 100)
|
||||
driver.html.should include("[300x100]")
|
||||
end
|
||||
|
||||
it "resizes the window to the specified size even before the document has loaded" do
|
||||
@driver.resize_window(800, 600)
|
||||
@driver.visit("/")
|
||||
@driver.html.should include("[800x600]")
|
||||
driver.resize_window(800, 600)
|
||||
driver.visit("#{AppRunner.app_host}/")
|
||||
driver.html.should include("[800x600]")
|
||||
end
|
||||
|
||||
it "resets the window to the default size when the driver is reset" do
|
||||
@driver.resize_window(800, 600)
|
||||
@driver.reset!
|
||||
@driver.visit("/")
|
||||
@driver.html.should include(DEFAULT_DIMENTIONS)
|
||||
driver.resize_window(800, 600)
|
||||
driver.reset!
|
||||
driver.visit("#{AppRunner.app_host}/")
|
||||
driver.html.should include(DEFAULT_DIMENTIONS)
|
||||
end
|
||||
|
||||
after(:all) { @driver.reset! }
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue