+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
-~----------~----~----~----~------~----~------~--~---

Reply via email to