From 195ca3717881775b04b9520778c279075be69e13 Mon Sep 17 00:00:00 2001 From: Jonas Nicklas Date: Fri, 25 Dec 2009 18:50:01 +0100 Subject: [PATCH] Fix failing specs --- lib/capybara/driver/selenium_driver.rb | 2 +- lib/capybara/dsl.rb | 10 ++++++---- lib/capybara/session.rb | 15 +++++++-------- spec/drivers_spec.rb | 5 ++--- spec/views/with_html.erb | 2 +- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/lib/capybara/driver/selenium_driver.rb b/lib/capybara/driver/selenium_driver.rb index d2c81ad5..3fc0ab59 100644 --- a/lib/capybara/driver/selenium_driver.rb +++ b/lib/capybara/driver/selenium_driver.rb @@ -44,7 +44,7 @@ class Capybara::Driver::Selenium < Capybara::Driver::Base end def visible? - node.displayed? + node.displayed? and node.displayed? != "false" end private diff --git a/lib/capybara/dsl.rb b/lib/capybara/dsl.rb index 00210103..0c1cc398 100644 --- a/lib/capybara/dsl.rb +++ b/lib/capybara/dsl.rb @@ -47,10 +47,12 @@ module Capybara end SESSION_METHODS = [ - :visit, :current_url, :body, :click_link, :click_button, :drag, :fill_in, :choose, :has_xpath?, :has_css?, - :check, :uncheck, :attach_file, :select, :has_content?, :within, :within_fieldset, - :within_table, :save_and_open_page, :find, :find_field, :find_link, :find_button, - :field_labeled, :all, :wait_for, :wait_for_condition, :evaluate_script, :click + :visit, :current_url, :body, :click_link, :click_button, :drag, :fill_in, + :choose, :has_xpath?, :has_css?, :check, :uncheck, :attach_file, :select, + :has_content?, :within, :within_fieldset, :within_table, + :save_and_open_page, :find, :find_field, :find_link, :find_button, + :field_labeled, :all, :wait_for, :wait_for_condition, :evaluate_script, + :click, :wait_until ] SESSION_METHODS.each do |method| class_eval <<-RUBY, __FILE__, __LINE__+1 diff --git a/lib/capybara/session.rb b/lib/capybara/session.rb index 985e6338..f0b0cb63 100644 --- a/lib/capybara/session.rb +++ b/lib/capybara/session.rb @@ -155,16 +155,15 @@ module Capybara def wait_until(timeout = Capybara.default_wait_timeout, &block) return yield unless driver.wait? - + returned = nil - - Timeout.timeout(timeout) do - until returned = yield - sleep(0.1) - end + Timeout.timeout(timeout) do + sleep(0.1) until returned = yield end - - returned + rescue Timeout::Error + return false + else + return returned end def evaluate_script(script) diff --git a/spec/drivers_spec.rb b/spec/drivers_spec.rb index 4d087a1a..7833bdef 100644 --- a/spec/drivers_spec.rb +++ b/spec/drivers_spec.rb @@ -64,11 +64,10 @@ shared_examples_for 'driver' do end it "should extract node visibility" do - @driver.find('//a')[0].should be_visible - @driver.find('//*[@id="hidden"]')[0].should_not be_visible - @driver.find('//*[@id="hidden_via_ancestor"]')[0].should_not be_visible + @driver.find('//div[@id="hidden"]')[0].should_not be_visible + @driver.find('//div[@id="hidden_via_ancestor"]')[0].should_not be_visible end end end diff --git a/spec/views/with_html.erb b/spec/views/with_html.erb index 20767206..2da4833d 100644 --- a/spec/views/with_html.erb +++ b/spec/views/with_html.erb @@ -19,5 +19,5 @@

\ No newline at end of file