Assert_tag problem in integration tests

This seems like a bug, but maybe I’m missing
something. Calls to assert_tag that come after the
second get() call do not check the most recent
response! Am I doing something wrong?

ses = open_session
ses.get 'post/jay'
# this works fine
ses.assert_tag :content => 'hello from jay'
ses.get 'post/matt'
#this fails, but should pass
ses.assert_tag :content => 'hello from matt'

Now here is the weirdest part. Notice in the error
message that it shows the right html output and makes
it clear that it should pass. If I change ‘matt’ to
‘jay’ in the second assertion it works so it’s also
clear that it’s testing against the first response and
not the second. How do I assert against the second
response?

  1. Failure:
    test_int_sess(IntSessTest)
    [test/integration/int_sess_test.rb:13:in
    `test_int_sess’
    expected tag, but no tag found matching
    {:content=>“hello from matt”} in:
    “hello from matt”.
    is not true.

more detailed pastie link Parked at Loopia


Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around

I found the answer already. It is a bug.

http://dev.rubyonrails.org/ticket/4810
and
http://dev.rubyonrails.org/ticket/6834

There is a work around in the first ticket