[rspec-users] [RSpec] Cloning objects and leaking state

Nick Hoffman nick at deadorange.com
Tue Jan 27 14:48:31 EST 2009


G'day folks. I've been beating my head on this one problem for a  
couple of hours, and have managed to figure out what's causing it.  
However, I don't understand why it's happening, nor do I know how to  
solve or get around it.

One of my methods clones an arg, and it seems that doing so causes  
state to leak out. I discovered this because changing this:
   new_subtitle = subtitle.clone
to this:
   new_subtitle = subtitle
causes the problem to disappear.

Before we get into the code snippets, are there any known caveats,  
warnings, or problems with writing specs that cover the cloning or  
duplication of objects?

Here's the code, specs, and spec output:
http://gist.github.com/53482

As you can see, in the "should clone ..." example, the expectation on  
line 24 succeeds, but the same expectation on line 28 fails. After  
that, the same expectation fails in the "should not leak state" example.

Any idea what's going on? I'd appreciate any help at all. Thanks,
Nick


More information about the rspec-users mailing list