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 | 19 +++++++++++++++++-- 2 files changed, 20 insertions(+), 5 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..a5400ef 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 + describe "when calling insync?" do it "should return true unless @should is defined and not nil" do - @property.insync?("foo") == true + @property.insync?("foo").must == true end it "should return true unless the passed in values is not nil" do @property.should = "foo" - @property.insync?(nil) == true + @property.insync?(nil).must == true end it "should call prepare_is_for_comparison with value passed in and should" do -- 1.6.2 --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
