Skip to content

Commit

Permalink
Raise errors with the requested URL and not the last loaded URL
Browse files Browse the repository at this point in the history
  • Loading branch information
jferris committed May 5, 2011
1 parent 85ac9c1 commit 7a8cd4c
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 4 deletions.
31 changes: 28 additions & 3 deletions spec/driver_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -546,17 +546,42 @@
end
end

context "error app" do
before(:all) do
@app = lambda do |env|
if env['PATH_INFO'] == "/error"
body = "error"
[404, {}, []]
else
body = <<-HTML
<html><body>
<form action="/error"><input type="submit"/></form>
</body></html>
HTML
[200,
{ 'Content-Type' => 'text/html', 'Content-Length' => body.length.to_s },
[body]]
end
end
end

it "raises a webkit error for the requested url" do
expect {
subject.find("//input").first.click
subject.find("//p")
}.
to raise_error(Capybara::Driver::Webkit::WebkitError, %r{/error})
end
end

context "slow error app" do
before(:all) do
@app = lambda do |env|
if env['PATH_INFO'] == "/error"
puts "time for an error"
body = "error"
sleep(1)
puts "done with error"
[304, {}, []]
else
puts "time for great success"
body = <<-HTML
<html><body>
<form action="/error"><input type="submit"/></form>
Expand Down
2 changes: 1 addition & 1 deletion src/WebPage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,6 @@ bool WebPage::isLoading() const {
}

QString WebPage::failureString() {
return QString("Unable to load URL: ") + currentFrame()->url().toString();
return QString("Unable to load URL: ") + currentFrame()->requestedUrl().toString();
}

0 comments on commit 7a8cd4c

Please sign in to comment.