Hello,
On Dec 10, 2008, at 10:27 AM, Andrei E. wrote:
–
Andrei
I tend not to use rjs much, but what I suspect you are looking for is
the response to contain a particular snippet of Javascript. So, it
might look sort of like:
it “should send Javascript to reset the form” do
post :action_that_resets_the_form
response.should have_text(/$(‘form’).reset()/)
end
Does this sound like what you are looking for?
Thank you for your help. I still need a bit of help on calling have_text
correctly.
I tried your version and it failed. Then I tried a couple of variations
of
this:
response.should have_text(/$(‘Form’).reset(“tag_form”)/) but I got
this
error message:
expected /$(‘Form’).reset(“tag_form”)/, got
“Element.update(“tag_list”,
“”);\nElement.toggle(“add_tag”);\nElement.toggle(“new_tag”);\nForm.reset(“tag_form”);”
Also tried:
response.should have_text(/Form.reset(“tag_form”)/) That also failed.
Any
ideas?
What you are looking for is the string:
Form.reset(“tag_form”)
Ignore the escaping backslashes in the output from the matcher. To
tell have_text that it can appear anyplace in the body of the
response, use the regex /Form.reset(“tag_form”)/ in your call to
have_text.
So, this should work:
response.should have_text(/Form.reset(“tag_form”)/)
Hope this works for you. Oh, and you might want to branch out and make
sure that the content-type is text/javascript.
-s