Sha256: 76264db2df8810d28a560719118d45333e49ef18d4be96123c9d80b448d12d75

Contents?: true

Size: 782 Bytes

Versions: 82

Compression:

Stored size: 782 Bytes

Contents

# frozen_string_literal: true

require 'capybara/selector/filters/base'

module Capybara
  class Selector
    module Filters
      class NodeFilter < Base
        def initialize(name, matcher, block, **options)
          super
          @block = if boolean?
            proc do |node, value|
              error_cnt = errors.size
              block.call(node, value).tap do |res|
                add_error("Expected #{name} #{value} but it wasn't") if !res && error_cnt == errors.size
              end
            end
          else
            block
          end
        end

        def matches?(node, name, value, context = nil)
          apply(node, name, value, true, context)
        rescue Capybara::ElementNotFound
          false
        end
      end
    end
  end
end

Version data entries

82 entries across 69 versions & 6 rubygems

Version Path
tdiary-5.1.2 vendor/bundle/ruby/2.7.0/gems/capybara-3.32.2/lib/capybara/selector/filters/node_filter.rb
capybara-3.32.2 lib/capybara/selector/filters/node_filter.rb
capybara-3.32.1 lib/capybara/selector/filters/node_filter.rb
capybara-3.32.0 lib/capybara/selector/filters/node_filter.rb
tdiary-5.1.1 vendor/bundle/ruby/2.7.0/gems/capybara-3.31.0/lib/capybara/selector/filters/node_filter.rb
tdiary-5.1.1 vendor/bundle/ruby/2.6.0/gems/capybara-3.29.0/lib/capybara/selector/filters/node_filter.rb
capybara-3.31.0 lib/capybara/selector/filters/node_filter.rb
capybara-3.30.0 lib/capybara/selector/filters/node_filter.rb
tdiary-5.1.0 vendor/bundle/gems/capybara-3.29.0/lib/capybara/selector/filters/node_filter.rb
chatops-rpc-0.0.2 fixtures/chatops-controller-example/vendor/bundle/ruby/2.5.0/gems/capybara-3.29.0/lib/capybara/selector/filters/node_filter.rb
chatops-rpc-0.0.1 fixtures/chatops-controller-example/vendor/bundle/ruby/2.5.0/gems/capybara-3.29.0/lib/capybara/selector/filters/node_filter.rb
capybara-3.29.0 lib/capybara/selector/filters/node_filter.rb
capybara-3.28.0 lib/capybara/selector/filters/node_filter.rb
capybara-3.27.0 lib/capybara/selector/filters/node_filter.rb
capybara-3.26.0 lib/capybara/selector/filters/node_filter.rb
capybara-3.25.0 lib/capybara/selector/filters/node_filter.rb
capybara-3.24.0 lib/capybara/selector/filters/node_filter.rb
capybara-3.23.0 lib/capybara/selector/filters/node_filter.rb
capybara-3.22.0 lib/capybara/selector/filters/node_filter.rb
capybara-3.21.0 lib/capybara/selector/filters/node_filter.rb