Sha256: bf49074d777274b897aa6e90d28644d9cd1d0163b048a24df6e30aa262454987

Contents?: true

Size: 1.46 KB

Versions: 5

Compression:

Stored size: 1.46 KB

Contents

# frozen_string_literal: true

require 'spec_helper'

RSpec.describe Capybara::Selector::FilterSet do
  after do
    Capybara::Selector::FilterSet.remove(:test)
  end

  it "allows node filters" do
    fs = Capybara::Selector::FilterSet.add(:test) do
      node_filter(:node_test, :boolean) { |_node, _value| true }
      expression_filter(:expression_test, :boolean) { |_expr, _value| true }
    end

    expect(fs.node_filters.keys).to include(:node_test)
    expect(fs.node_filters.keys).not_to include(:expression_test)
  end

  it "allows expression filters" do
    fs = Capybara::Selector::FilterSet.add(:test) do
      node_filter(:node_test, :boolean) { |_node, _value| true }
      expression_filter(:expression_test, :boolean) { |_expr, _value| true }
    end

    expect(fs.expression_filters.keys).to include(:expression_test)
    expect(fs.expression_filters.keys).not_to include(:node_test)
  end

  it "allows node filter and expression filter with the same name" do
    fs = Capybara::Selector::FilterSet.add(:test) do
      node_filter(:test, :boolean) { |_node, _value| true }
      expression_filter(:test, :boolean) { |_expr, _value| true }
    end

    expect(fs.expression_filters[:test]).not_to eq fs.node_filters[:test]
  end

  it "allows `filter` as an alias of `node_filter`" do
    fs = Capybara::Selector::FilterSet.add(:test) do
      filter(:node_test, :boolean) { |_node, _value| true }
    end

    expect(fs.node_filters.keys).to include(:node_test)
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
tdiary-5.0.9 vendor/bundle/gems/capybara-3.2.1/spec/filter_set_spec.rb
capybara-3.3.1 spec/filter_set_spec.rb
capybara-3.3.0 spec/filter_set_spec.rb
capybara-3.2.1 spec/filter_set_spec.rb
capybara-3.2.0 spec/filter_set_spec.rb