’ do
432 do_xhr @xhr_params
433 response.should have_rjs
434 # response.should have_rjs(:hide, ‘map-filter-errors’)
435 end
I just discovered that I need to pass :chained_replace_html to #have_rjs , like so:
response.should have_rjs(:chained_replace_html, :hide, ‘map-filter-
errors’)
However, after googling around and looking through the source for #assert_select_rjs , I have no idea what :chained_replace_html does,
nor why :hide is insufficient. Would someone mind enlightening me?
However, after googling around and looking through the source for #assert_select_rjs , I have no idea what :chained_replace_html does, nor why
:hide is insufficient. Would someone mind enlightening me?
I’m not sure why that is offhand, still waking up this fine Monday
morning, but I’d recommend throwing this question to the rails mailing
list if nobody responds here.
I just discovered that I need to pass :chained_replace_html to
I’m not sure why that is offhand, still waking up this fine Monday
morning, but I’d recommend throwing this question to the rails mailing
list if nobody responds here.
I’m not sure why that is offhand, still waking up this fine Monday
morning, but I’d recommend throwing this question to the rails mailing
list if nobody responds here.
Cheers,
David
…
I’m not sure what you meant by “why that is offhand”…
That’s a common US expression meaning “without looking into it” or
“off the top of my head”.
I think it’s a parsing problem, rather than an idiom problem. I think he
read it as if “offhand” were the object of “that is offhand,” which
doesn’t make much sense.
How about this:
“Offhand, I’m not sure why that is true (still waking up this fine
Monday morning), but I’d recommend throwing this question to the rails
mailing list if nobody responds here.”
I think it’s a parsing problem, rather than an idiom problem. I
think he
read it as if “offhand” were the object of “that is offhand,” which
doesn’t make much sense.
However, after googling around and looking through the source for #assert_select_rjs , I have no idea what :chained_replace_html does, nor why
:hide is insufficient. Would someone mind enlightening me?
The problem has to do with the javascript that is produced by Rails.
You can do things in RJS in one of two ways.
Way #1:
page[:some_id].hide
Way #2
page.hide :some_id
Based on which way you go Rails will generate Element.hide(‘some_id’)
or $(‘some_id’).hide() IIRC. assert_rjs uses regular expressions to
match against the generated javascript. The fugliness that are these
regular expressions require that two different patterns exist to match
against the generated javascript correctly.
Having chained_replace_html is a hack to separate the regular
expressions based on if you used Way #1 or Way #2.
I have stopped relying on using RJS selectors to test against
generated JavaScript. I have also stopped relying on RJS for the most
part, and instead am doing a lot of UJS and JSON (thx Mark VanHolstyn
for enlightening me on this). I’m not saying that you shouldn’t do
this, but that I’ve hit the problem you’re facing, and I don’t think
using regular expressions from the bowels of Rails for asserting
against generated javascript is the way to go,
Having chained_replace_html is a hack to separate the regular
expressions based on if you used Way #1 or Way #2.
Interesting. Thanks for that explanation.
I have stopped relying on using RJS selectors to test against
generated JavaScript. I have also stopped relying on RJS for the most
part, and instead am doing a lot of UJS and JSON (thx Mark VanHolstyn
for enlightening me on this). I’m not saying that you shouldn’t do
this, but that I’ve hit the problem you’re facing, and I don’t think
using regular expressions from the bowels of Rails for asserting
against generated javascript is the way to go,
I’ll take a look into UJS and JSON. Were there any articles, blog
posts, etc that you found particularly helpful?
Cheers,
Nick
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.