Skip to content

Instantly share code, notes, and snippets.

@codenamev
Forked from jnicklas/wait_steps.rb
Last active October 6, 2015 18:12
Show Gist options
  • Save codenamev/ab68adc152e9ea5e2866 to your computer and use it in GitHub Desktop.
Save codenamev/ab68adc152e9ea5e2866 to your computer and use it in GitHub Desktop.
Capybara Javascript become_true RSpec matcher
require "timeout"
module WaitSteps
extend RSpec::Matchers::DSL
matcher :become_true do
match do |block|
begin
Timeout.timeout(ENV['CAPYBARA_TIMEOUT'] || Capybara.default_wait_time) do
sleep(0.1) until value = block.call
value
end
rescue TimeoutError
false
end
end
def supports_block_expectations?
true
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment