diff options
-rw-r--r-- | lib/puppet/property.rb | 6 | ||||
-rwxr-xr-x | spec/unit/property.rb | 16 |
2 files changed, 18 insertions, 4 deletions
diff --git a/lib/puppet/property.rb b/lib/puppet/property.rb index 4b58abd1f..5e616c396 100644 --- a/lib/puppet/property.rb +++ b/lib/puppet/property.rb @@ -122,14 +122,14 @@ class Puppet::Property < Puppet::Parameter end # How should a property change be printed as a string? - def change_to_s(currentvalue, newvalue) + def change_to_s(current_value, newvalue) begin - if currentvalue == :absent + if current_value == :absent return "defined '#{name}' as '#{should_to_s(newvalue)}'" elsif newvalue == :absent or newvalue == [:absent] return "undefined '#{name}' from '#{is_to_s(current_value)}'" else - return "#{name} changed '#{is_to_s(currentvalue)}' to '#{should_to_s(newvalue)}'" + return "#{name} changed '#{is_to_s(current_value)}' to '#{should_to_s(newvalue)}'" end rescue Puppet::Error, Puppet::DevError raise diff --git a/spec/unit/property.rb b/spec/unit/property.rb index 64bad19d1..d99f42a4a 100755 --- a/spec/unit/property.rb +++ b/spec/unit/property.rb @@ -1,4 +1,4 @@ -#!/usr/bin/env ruby" +#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../spec_helper' require 'puppet/property' @@ -399,4 +399,18 @@ describe Puppet::Property do end end end + + describe "when producing a change log" do + it "should say 'defined' when the current value is 'absent'" do + @property.change_to_s(:absent, "foo").should =~ /^defined/ + end + + it "should say 'undefined' when the new value is 'absent'" do + @property.change_to_s("foo", :absent).should =~ /^undefined/ + end + + it "should say 'changed' when neither value is 'absent'" do + @property.change_to_s("foo", "bar").should =~ /changed/ + end + end end |