1
0
Fork 0
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:
Matthew Horan 2012-11-17 11:12:08 -05:00
parent c1682d2bfd
commit 3bc96bcb19

View file

@ -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