Module: Cornucopia::Capybara::MatcherExtensions
- Included in:
- Capybara::Node::Document, Capybara::Node::Element
- Defined in:
- lib/cornucopia/capybara/matcher_extensions.rb
Instance Method Summary collapse
- #__cornucopia_assert_selector_function(assert_selector_function, *args) ⇒ Object
- #assert_no_selector(*args) ⇒ Object
- #assert_selector(*args) ⇒ Object
- #has_no_selector?(*args) ⇒ Boolean
- #has_selector?(*args) ⇒ Boolean
Instance Method Details
#__cornucopia_assert_selector_function(assert_selector_function, *args) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/cornucopia/capybara/matcher_extensions.rb', line 36 def __cornucopia_assert_selector_function(assert_selector_function, *args) retry_count = 0 result = nil unless [:has_selector?, :has_no_selector?].include?(assert_selector_function) = (*args) end begin retry_count += 1 result = send("__cornucopia_orig_#{assert_selector_function}", *args) rescue Selenium::WebDriver::Error::StaleElementReferenceError retry if __cornucopia__retry_selector(retry_count, ) result = __cornucopia__analyze_selector(assert_selector_function, , *args) rescue Exception result = __cornucopia__analyze_selector(assert_selector_function, , *args) end result end |
#assert_no_selector(*args) ⇒ Object
11 12 13 |
# File 'lib/cornucopia/capybara/matcher_extensions.rb', line 11 def assert_no_selector(*args) __cornucopia_assert_selector_function(:assert_no_selector, *args) end |
#assert_selector(*args) ⇒ Object
7 8 9 |
# File 'lib/cornucopia/capybara/matcher_extensions.rb', line 7 def assert_selector(*args) __cornucopia_assert_selector_function(:assert_selector, *args) end |
#has_no_selector?(*args) ⇒ Boolean
26 27 28 29 30 31 32 33 34 |
# File 'lib/cornucopia/capybara/matcher_extensions.rb', line 26 def has_no_selector?(*args) new_args = args.dup = (new_args.pop if new_args.length > 1 && new_args[-1].is_a?(Hash)) || {} if Cornucopia::Util::Configuration.ignore_has_selector_errors = { __cornucopia_no_analysis: true }.merge end __cornucopia_assert_selector_function(:has_no_selector?, *new_args, ) end |
#has_selector?(*args) ⇒ Boolean
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/cornucopia/capybara/matcher_extensions.rb', line 15 def has_selector?(*args) new_args = args.dup = (new_args.pop if new_args.length > 1 && new_args[-1].is_a?(Hash)) || {} if Cornucopia::Util::Configuration.ignore_has_selector_errors = { __cornucopia_no_analysis: true }.merge end __cornucopia_assert_selector_function(:has_selector?, *new_args, ) end |