teamcapybara--capybara/spec/timeout_spec.rb

29 lines
635 B
Ruby
Raw Normal View History

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