Have_tag and img's

I’m specing some xhtml (which I don’t normally do, so forgive me if
this is basic).

I’ve got the following spec:

   it "should build xhtml form pieces" do
     @captcha.should_receive(:request_image).and_return @image
     @captcha.vidoop_captcha().should have_tag "div.captcha" do
       with_tag 

“img[src=http://api.vidoop.com/vs/captchas/cpt123/image
]”
with_tag “input[type=hidden][name=captcha_id]”
with_tag “input[name=captcha]”
end
end

@captcha.vidoop_captcha is returning the following html:

foo bar

And my error is:
‘Vidoop::Captcha::Helper rendering a catpcha should build xhtml form
pieces’ FAILED
Expected at least 1 element matching
“img[src=‘http://api.vidoop.com/vs/captchas/cpt123/image
]”, found 0.
is not true.

I’ve tried with_tag as simple as “img” but even that isn’t matching.
The rest of the spec passes.

Any ideas?
Thanks,
BJ Clark

BJ Clark wrote:

      with_tag "input[type=hidden][name=captcha_id]"
      with_tag "input[name=captcha]"
    end
  end

I suspect the XPath predicate should be [@name=‘captcha’], but I don’t
know
with_tag shortcuts.

You might also try (>cough<) my assert_xhtml:

@captcha.vidoop_captcha().should be_html_with{
div :id => :captcha do
img :src => ‘http://api.vidoop.com/vs/captchas/cpt123/image
input :type => :hidden, :name => :captcha_id
input :name => :captcha
end
end

I invented it specifically to solve the verbosity problem you
encountered. gem
install nokogiri assert2, and require ‘assert2/xhtml’.

If it fails, it prints out the HTML pattern it sought, and the sample
HTML from
your production code.


Phlip

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs