On May 15, 2012, at 12:47 AM, Patrick J. Collins wrote:
> Capybara has two methods:
>
> page.has_button?
>
> and
>
> page.has_link?
>
> ... I am wondering, how can I make a helper method that will be
> satisfied by one or the other? In other words, I want to be able to do:
>
> page.should have_link_or_button("blah")
>
> def have_link_or_button(locator)
> have_link(locator) || have_button(locator)
> end
>
> But that doesn't work... Is there any way to do this?
>
> Patrick J. Collins
> http://collinatorstudios.com
>
> _______________________________________________
> rspec-users mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/rspec-users
You need a custom matcher, something like this:
RSpec::Matchers.define :have_link_or_button do |locator|
match do |page|
page.has_button?(locator) || page.has_link?(locator)
end
end
BTW, I believe Capybara has a method that checks for a button *or* link - look
into that.
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users