teamcapybara--capybara/lib/capybara/spec/session/element/match_css_spec.rb

24 lines
795 B
Ruby

Capybara::SpecHelper.spec '#match_css?' do
before do
@session.visit('/with_html')
@element = @session.find(:css, 'span', text: '42')
end
it "should be true if the given selector matches the element" do
expect(@element).to match_css("span")
expect(@element).to match_css("span.number")
end
it "should be false if the given selector does not match" do
expect(@element).not_to match_css("div")
expect(@element).not_to match_css("p a#doesnotexist")
expect(@element).not_to match_css("p.nosuchclass")
end
it "should accept an optional filter block" do
# This would be better done with
expect(@element).to match_css('span') { |el| el[:class] == "number" }
expect(@element).not_to match_css('span') { |el| el[:class] == "not_number" }
end
end