# frozen_string_literal: true Capybara::SpecHelper.spec '#match_xpath?' do before do @session.visit('/with_html') @element = @session.find(:css, 'span.number') end it "should be true if the given selector is on the page" do expect(@element).to match_xpath("//span") expect(@element).to match_xpath("//span[@class='number']") end it "should be false if the given selector is not on the page" do expect(@element).not_to match_xpath("//abbr") expect(@element).not_to match_xpath("//div") expect(@element).not_to match_xpath("//span[@class='not_a_number']") end it "should use xpath even if default selector is CSS" do Capybara.default_selector = :css expect(@element).not_to have_xpath("//span[@class='not_a_number']") expect(@element).not_to have_xpath("//div[@class='number']") end end