+1 with one modification below On Aug 9, 2009, at 10:50 PM, Andrew Shafer wrote:
> > This change will effect all the properties implemented with list.rb > (groups, roles, auths, profiles). The change will match [] values for > should as insync when none exist. (so no more log message) > > Signed-off-by: Andrew Shafer <[email protected]> > --- > lib/puppet/property/list.rb | 6 +++--- > spec/unit/property/list.rb | 31 ++++++++++++++++++++++++++----- > 2 files changed, 29 insertions(+), 8 deletions(-) > > diff --git a/lib/puppet/property/list.rb b/lib/puppet/property/list.rb > index b7db8b4..31af76b 100644 > --- a/lib/puppet/property/list.rb > +++ b/lib/puppet/property/list.rb > @@ -65,10 +65,10 @@ module Puppet > end > > def prepare_is_for_comparison(is) > - if is.is_a? Array > - is = dearrayify(is) > + if is == :absent > + is = [] > end > - is > + dearrayify(is) > end > > def insync?(is) > diff --git a/spec/unit/property/list.rb b/spec/unit/property/list.rb > index 854ab48..57415f8 100644 > --- a/spec/unit/property/list.rb > +++ b/spec/unit/property/list.rb > @@ -118,14 +118,29 @@ describe list_class do > end > end > > + describe "when calling prepare_is_for_comparison" do > + it "should return '' when called with :absent" do > + @property.prepare_is_for_comparison(:absent).must > == '' > + end > + > + it "should call dearrayify" do > + @property.expects(:dearrayify) > + @property.prepare_is_for_comparison(:absent) > + end > + > + it "should return a sorted, comma delimited string when > called with Array" do > + > @property.prepare_is_for_comparison(["foo","bar"]).must == "bar,foo" > + end > + end > + These tests look to be redundant now, so if you can push a new fix with them removed, +1 > > describe "when calling insync?" do > it "should return true unless @should is defined and not > nil" do > - @property.insync?("foo") == true > + @property.must be_insync("foo") > end > > it "should return true unless the passed in values is > not nil" do > @property.should = "foo" > - @property.insync?(nil) == true > + @property.must be_insync(nil) > end > > it "should call prepare_is_for_comparison with value > passed in and should" do > @@ -135,16 +150,22 @@ describe list_class do > @property.insync?("bar") > end > > - it "should return true if prepared value == should > value" do > + it "should return true if 'is' value is array of comma > delimited should values" do > @property.should = "bar,foo" > @property.expects(:inclusive?).returns(true) > - @property.insync?(["bar","foo"]).must == true > + @property.must be_insync(["bar","foo"]) > + end > + > + it "should return true if 'is' value is :absent and > should value is empty string" do > + @property.should = "" > + @property.expects(:inclusive?).returns(true) > + @property.must be_insync([]) > end > > it "should return false if prepared value != should > value" do > @property.should = "bar,baz,foo" > @property.expects(:inclusive?).returns(true) > - @property.insync?(["bar","foo"]).must == false > + @property.must_not be_insync(["bar","foo"]) > end > end > > -- > 1.6.2 > > > > -- A Chemical Limerick: A mosquito cried out in pain: "A chemist has poisoned my brain!" The cause of his sorrow was para-dichloro diphenyltrichloroethane -- Dr. D. D. Perrin --------------------------------------------------------------------- Luke Kanies | http://reductivelabs.com | http://madstop.com --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
