Ruby 2.x doesn't support non-class/module arguments to rescue clauses.
Ruby 1.9 only supported it due to what is now considered a regression:
https://bugs.ruby-lang.org/issues/4438
Remove string arguments from rescue clauses to prevent TypeErrors from
being raised during rescue attempts.
Squashed commit of the following:
commit fb88141863
Author: Jarl Friis <jarl@softace.dk>
Date: Mon Sep 3 22:06:07 2012 +0200
Improved implementation. Removing need for YAML. Extending the driver API to take an Array when 'multiple' attribute is present.
commit 977f1c50c2
Author: Jarl Friis <jarl@softace.dk>
Date: Mon Sep 3 11:56:04 2012 +0200
Changing decision criteria to support 1.8.7
commit b217deef4a
Author: Jarl Friis <jarl@softace.dk>
Date: Mon Sep 3 10:38:16 2012 +0200
Support for 'multiple' attribute in input tags, see https://github.com/jnicklas/capybara/issues/778
commit 155b9fcf79
Author: Jarl Friis <jarl@softace.dk>
Date: Mon Sep 3 10:33:00 2012 +0200
Test that demonstrates lack of support for 'multiple' attribute in input tags, see https://github.com/jnicklas/capybara/issues/778
Conflicts:
lib/capybara/node/actions.rb
lib/capybara/selenium/node.rb
lib/capybara/spec/session/attach_file_spec.rb
With browser-based drivers, the has_value?, has_select?, and
has_checked_field? matchers (and their negative counterparts)
did not always work correctly. It is not possible to determine
the dynamic state of inputs purely with XPath, because XPath
has access only to the value, selected, and checked _attributes_,
and only the corresponding _properties_ change in response to
user input. This commit replaces the pure XPath implementation
with one that retrieves all matching inputs and then filters the
results using driver-specific means that do reflect user input.
This means that we can move the find object into
Capybara::Node instead of Capybara::Driver::Node
which gives us AJAX waiting and preference for
exact matches for free.