+2! That's going to fix #2860 as well. On Wed, Dec 30, 2009 at 9:29 PM, Jesse Wolfe <[email protected]> wrote: > There was an intermittent bug in Puppet::Parser::Resource::Reference, > during initialization, and object could sometimes have its title set > before its type is set. This prevented the title from going through > type-specific canonicalization. > > Signed-off-by: Jesse Wolfe <[email protected]> > --- > lib/puppet/resource/reference.rb | 4 ++++ > spec/unit/parser/resource.rb | 11 +++++++++++ > spec/unit/parser/resource/reference.rb | 7 +++++++ > 3 files changed, 22 insertions(+), 0 deletions(-) > > diff --git a/lib/puppet/resource/reference.rb > b/lib/puppet/resource/reference.rb > index dce4449..eddb2d9 100644 > --- a/lib/puppet/resource/reference.rb > +++ b/lib/puppet/resource/reference.rb > @@ -50,6 +50,10 @@ class Puppet::Resource::Reference > # LAK:NOTE See http://snurl.com/21zf8 [groups_google_com] > x = @type = value.to_s.split("::").collect { |s| s.capitalize > }.join("::") > end > + > + if @title > + self.title = @title > + end > end > > # Convert to the reference format that TransObject uses. Yay backward > diff --git a/spec/unit/parser/resource.rb b/spec/unit/parser/resource.rb > index 3f08de9..d41d4f4 100755 > --- a/spec/unit/parser/resource.rb > +++ b/spec/unit/parser/resource.rb > @@ -101,6 +101,17 @@ describe Puppet::Parser::Resource do > end > end > > + describe "when refering to a resource with name canonicalization" do > + before do > + �...@arguments = {:type => "file", :title => "/path/", :scope => > stub('scope', :source => mock('source'))} > + end > + > + it "should canonicalize its own name" do > + res = Puppet::Parser::Resource.new(@arguments) > + res.ref.should == "File[/path]" > + end > + end > + > describe "when evaluating" do > before do > @type = Puppet::Parser::Resource > diff --git a/spec/unit/parser/resource/reference.rb > b/spec/unit/parser/resource/reference.rb > index a703f92..19fe076 100755 > --- a/spec/unit/parser/resource/reference.rb > +++ b/spec/unit/parser/resource/reference.rb > @@ -49,6 +49,13 @@ describe Puppet::Parser::Resource::Reference do > ref = @type.new(:type => "file", :title => "/tmp/yay/") > ref.to_s.should == "File[/tmp/yay]" > end > + > + it "should canonize resource reference values without order > dependencies" do > + args = [[:title, "/tmp/yay/"], [:type, "file"]] > + ref = @type.new(args) > + ref.to_s.should == "File[/tmp/yay]" > + end > + > end > > describe Puppet::Parser::Resource::Reference, " when modeling defined types" > do > -- > 1.6.5 > > -- > > You received this message because you are subscribed to the Google Groups > "Puppet Developers" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/puppet-dev?hl=en. > > >
-- ----------------------------------------------------------- The power of accurate observation is commonly called cynicism by those who have not got it. ~George Bernard Shaw ------------------------------------------------------------ -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
