Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.3.3
-
None
-
Ruby 1.8.6.
Description
Properties configured with test.using(:jtestr, :properties =>
{ ... }) are not actually passed to the tests when they run.
Digging into the cause, it appears to come from Buildr::TestFramework::JRubyBased#run, so rspec testing is probably also affected. The root cause is that Hash#only doesn't work if the hash is an OpenObject. Here's a spec that fails:
describe "Hash#only" do
it "works with OpenObjects" do
OpenObject.new({:a => 1, :b => 2, :c => 3}).only(:a).should == { :a => 1 }
end
end
The result of only(:a) is actually an empty hash because OpenObject doesn't delegate has_key? to @hash. It seems like OpenObject either needs to delegate all of Hash's methods to it's internal @hash or it needs to get rid of it.