Thanks David. Those specs are very instructive. I have no idea what I was doing wrong before, but the behavior I'm seeing now is indeed consistent with the specs and matches what I had understood from the code I'd looked at (I suspect it'll stop working as soon as I send this :-) ).
Actually my situation is slightly more complex than what the specs cover. I have something like this - <div id="registration_link"> New user? Register <a href="/User/register">here</a> </div> and I'm testing it with a cucumber step that looks like this - Then /^the response should contain a link to new user registration$/ do @response.should have_tag('div', :id =>'registration_link', :content => 'New User? Register ') { |match| match.should have_tag('a', :href => '/User/register', :content => 'here') } end One of the things I was unsure about was whether I could mix both the text content and the second tag inside the outer element. Turns out that this works just fine with the test above. Also, have_tag ('div#registration_link'...) works just as well as have_tag('div', :id => 'registration_link'...) Mark. On Feb 3, 8:01 pm, David Chelimsky <dchelim...@gmail.com> wrote: > On Tue, Feb 3, 2009 at 7:52 PM, MarkMT <mark.thom...@ieee.org> wrote: > > This is really a webrat question, but I haven't had any reaction to > > this from the webrat group. Maybe someone here can offer a comment... > > > I've been fooling around with webrat view matchers in merb / cucumber > > and I'm trying to figure out whether the block parameter in have_tag > > actually does anything. I've tried passing a block with pure nonsense > > in it and the interpreter just seems to accept it and ignore it as if > > it doesn't exist. > > > Initially I had hoped there was something like 'with_tag' you could > > nest inside a block, but I guess that was a rails thing. However from > > my quick look at the code, although with fairly limited ruby > > experience, I got the impression that 'have_tag' passes any matching > > markup it finds into the block as a parameter. But none of my > > experiments have been able to confirm this. > > > Does anyone have first hand knowledge of / successful experience with > > have_tag with a block? > > Not first hand experience, but I'm looking at the specs in webrat: > > http://github.com/brynary/webrat/blob/e5ae16367cfd656617815fd9b9c405b... > > If you scroll down to describe "#have_tag", you'll see a couple of > examples. It looks like your instinct is at least close to correct. > > Can you post an example of what you're trying to do? > > > _______________________________________________ > > rspec-users mailing list > > rspec-us...@rubyforge.org > >http://rubyforge.org/mailman/listinfo/rspec-users > > _______________________________________________ > rspec-users mailing list > rspec-us...@rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users