I'm unsure how to check a few things related to lists of items. In this specific case, I have a articles with title and abstract. When there are no articles, I'd like to ensure that there *is* a list on the page, but that it does not contain any articles. When there are articles, they should be displayed in such a way that their attributes are not mixed.
For the empty list check I've come up with this, however, I noticed that the capybara README advises against "x.should_not have_y". Is there a better way? Then /^I should see an empty article list$/ do with_scope("#articles") do page.should_not have_css("li") end end For checking existing articles like this <ul id="articles"> <li> <span class="title">Article 1</span> <span class="abstract">foo bar</span> </li> <li> ... </li> </ul> I have this broken step Then /^I should see an article with title "([^\"]*)" and abstract "([^\"]*)"$/ do |title, abstract| with_scope('#articles li') do with_scope('.title') { page.should have_content(title) } with_scope('.abstract') { page.should have_content(abstract) } end end It is broken in that it does not ensure that corresponding titles and abstracts are within the same LI. I understand why it doesn't work, for with_scope just builds up a scope chain. Unfortunately, I don't see how to get the check I want. Michael -- Michael Schuerig mailto:mich...@schuerig.de http://www.schuerig.de/michael/ _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users