Fragment caching is broken on edge rails

As far as I can tell, it's not possible to do :
<% cache("stuff") do %>
   <%= something_expensive() %>
<% end %>
in a view on edge rails, without it raising an exception. That
sounds
unlikely, I know - I find it hard to believe that such an obvious bug
would have lasted so long. ('long' being a relative term, of
course - 6 days is an eternity in edge rails timescales!)

The ticket is here - http://dev.rubyonrails.org/ticket/10733. Is
anyone on edge rails using fragment caching without problems?

And assuming this is a bug, can anything be done to improve cache
testing so it catches stuff like this?

The ticket is here -http://dev.rubyonrails.org/ticket/10733. Is
anyone on edge rails using fragment caching without problems?

I've applied mindforge's fix.

And assuming this is a bug, can anything be done to improve cache
testing so it catches stuff like this?

Certainly. Please do investigate a patch that adds more test cases.
Thanks!

Well, FWIW I've added some basic functional tests for caching, that
use a controller to do caching in the 'real world' way, rather than
@store.write. Adds a bit of extra test coverage, and gives a failing
test case for my cache problem.
It's still up at the original ticket - http://dev.rubyonrails.org/ticket/10733