You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by "Assaf Arkin (JIRA)" <ji...@apache.org> on 2009/03/13 00:14:50 UTC
[jira] Resolved: (BUILDR-247) JtestR test framework does not pass
configured system properties to runner (Cause: OpenObject does not work
with Hash#only)
[ https://issues.apache.org/jira/browse/BUILDR-247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Assaf Arkin resolved BUILDR-247.
--------------------------------
Resolution: Fixed
> JtestR test framework does not pass configured system properties to runner (Cause: OpenObject does not work with Hash#only)
> ---------------------------------------------------------------------------------------------------------------------------
>
> Key: BUILDR-247
> URL: https://issues.apache.org/jira/browse/BUILDR-247
> Project: Buildr
> Issue Type: Bug
> Components: Core features, Test frameworks
> Affects Versions: 1.3.3
> Environment: Ruby 1.8.6.
> Reporter: Rhett Sutphin
> Fix For: 1.3.4
>
> Attachments: 0001-Fix-BUILDR-247-redefine-OpenObject-without-a-delega.patch
>
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.