2010-09-17 18:56:32 -05:00
|
|
|
require 'spec_helper'
|
2009-12-31 13:56:23 -05:00
|
|
|
|
|
|
|
require 'capybara'
|
2010-07-10 03:06:44 +02:00
|
|
|
require 'capybara/util/timeout'
|
2009-12-31 13:56:23 -05:00
|
|
|
|
|
|
|
module Capybara
|
2010-09-15 18:19:50 +02:00
|
|
|
|
2010-07-09 20:30:50 +02:00
|
|
|
describe '.timeout' do
|
2010-09-15 18:19:50 +02:00
|
|
|
|
2009-12-31 13:56:23 -05:00
|
|
|
it "should return result of yield if it returns true value within timeout" do
|
2010-07-09 20:30:50 +02:00
|
|
|
Capybara.timeout { "hello" }.should == "hello"
|
2009-12-31 13:56:23 -05:00
|
|
|
end
|
2010-09-15 18:19:50 +02:00
|
|
|
|
2009-12-31 13:56:23 -05:00
|
|
|
it "should keep trying within timeout" do
|
|
|
|
count = 0
|
2010-07-09 20:30:50 +02:00
|
|
|
Capybara.timeout { count += 1; count == 5 ? count : nil }.should == 5
|
2009-12-31 13:56:23 -05:00
|
|
|
end
|
2010-09-15 18:19:50 +02:00
|
|
|
|
2009-12-31 13:56:23 -05:00
|
|
|
it "should raise Capybara::TimeoutError if block fails to return true within timeout" do
|
2010-09-15 18:19:50 +02:00
|
|
|
running do
|
2010-07-09 20:30:50 +02:00
|
|
|
Capybara.timeout(0.1) { false }
|
2009-12-31 13:56:23 -05:00
|
|
|
end.should raise_error(::Capybara::TimeoutError)
|
|
|
|
end
|
2010-09-15 18:19:50 +02:00
|
|
|
|
2009-12-31 13:56:23 -05:00
|
|
|
end
|
2010-09-15 18:19:50 +02:00
|
|
|
|
2009-12-31 13:56:23 -05:00
|
|
|
end
|
2010-09-15 18:19:50 +02:00
|
|
|
|