teamcapybara--capybara/spec/timeout_spec.rb

29 lines
635 B
Ruby

require 'spec_helper'
require 'capybara'
require 'capybara/util/timeout'
module Capybara
describe '.timeout' do
it "should return result of yield if it returns true value within timeout" do
Capybara.timeout { "hello" }.should == "hello"
end
it "should keep trying within timeout" do
count = 0
Capybara.timeout { count += 1; count == 5 ? count : nil }.should == 5
end
it "should raise Capybara::TimeoutError if block fails to return true within timeout" do
running do
Capybara.timeout(0.1) { false }
end.should raise_error(::Capybara::TimeoutError)
end
end
end