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 @@
-
Inside element with hidden ancestor
+
Inside element with hidden ancestor
\ No newline at end of file