Raise errors with the requested URL and not the last loaded URL
This commit is contained in:
parent
85ac9c17d5
commit
7a8cd4cc2f
|
@ -546,17 +546,42 @@ describe Capybara::Driver::Webkit do
|
||||||
end
|
end
|
||||||
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
|
context "slow error app" do
|
||||||
before(:all) do
|
before(:all) do
|
||||||
@app = lambda do |env|
|
@app = lambda do |env|
|
||||||
if env['PATH_INFO'] == "/error"
|
if env['PATH_INFO'] == "/error"
|
||||||
puts "time for an error"
|
|
||||||
body = "error"
|
body = "error"
|
||||||
sleep(1)
|
sleep(1)
|
||||||
puts "done with error"
|
|
||||||
[304, {}, []]
|
[304, {}, []]
|
||||||
else
|
else
|
||||||
puts "time for great success"
|
|
||||||
body = <<-HTML
|
body = <<-HTML
|
||||||
<html><body>
|
<html><body>
|
||||||
<form action="/error"><input type="submit"/></form>
|
<form action="/error"><input type="submit"/></form>
|
||||||
|
|
|
@ -87,6 +87,6 @@ bool WebPage::isLoading() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
QString WebPage::failureString() {
|
QString WebPage::failureString() {
|
||||||
return QString("Unable to load URL: ") + currentFrame()->url().toString();
|
return QString("Unable to load URL: ") + currentFrame()->requestedUrl().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue