diff options
| author | Matt Robinson <matt@puppetlabs.com> | 2010-12-02 10:34:11 -0800 |
|---|---|---|
| committer | Matt Robinson <matt@puppetlabs.com> | 2010-12-02 10:34:11 -0800 |
| commit | ab7de670a13eff599b6b725513fcb8a67e12136b (patch) | |
| tree | 196e54e1c09fa26888fddfbd93fde17ea4c8b8ba | |
| parent | ddeba8bc48f34571328e714a46f4a6c08a79db58 (diff) | |
| parent | 094a5c85fc9b4b1bd00f14193abdf23839905dc7 (diff) | |
| download | puppet-ab7de670a13eff599b6b725513fcb8a67e12136b.tar.gz puppet-ab7de670a13eff599b6b725513fcb8a67e12136b.tar.xz puppet-ab7de670a13eff599b6b725513fcb8a67e12136b.zip | |
Merge branch 'ticket/next/5211' into next
* ticket/next/5211:
(#5211) Added patch and tests for checking the size of the arrary which is returned
| -rw-r--r-- | lib/puppet/provider/augeas/augeas.rb | 7 | ||||
| -rw-r--r-- | spec/unit/provider/augeas/augeas_spec.rb | 24 |
2 files changed, 30 insertions, 1 deletions
diff --git a/lib/puppet/provider/augeas/augeas.rb b/lib/puppet/provider/augeas/augeas.rb index 7dbd06240..461968245 100644 --- a/lib/puppet/provider/augeas/augeas.rb +++ b/lib/puppet/provider/augeas/augeas.rb @@ -213,7 +213,12 @@ Puppet::Type.type(:augeas).provide(:augeas) do fail("Invalid command: #{cmd_array.join(" ")}") if clause_array.length != 2 comparator = clause_array.shift arg = clause_array.shift - return_value = (result.size.send(comparator, arg)) + case comparator + when "!=" + return_value = !(result.size.send(:==, arg)) + else + return_value = (result.size.send(comparator, arg)) + end when "include" arg = clause_array.shift return_value = result.include?(arg) diff --git a/spec/unit/provider/augeas/augeas_spec.rb b/spec/unit/provider/augeas/augeas_spec.rb index 07b632083..0cedbdbc3 100644 --- a/spec/unit/provider/augeas/augeas_spec.rb +++ b/spec/unit/provider/augeas/augeas_spec.rb @@ -316,6 +316,30 @@ describe provider_class do provider.stubs(:get_augeas_version).returns("0.3.5") provider.need_to_run?.should == false end + + #Ticket 5211 testing + it "should return true when a size != the provided value" do + resource = stub("resource") + resource.stubs(:[]).returns(false).then.returns("match path size != 17").then.returns("") + provider = provider_class.new(resource) + augeas_stub = stub("augeas", :match => ["set", "of", "values"]) + augeas_stub.stubs("close") + provider.aug= augeas_stub + provider.stubs(:get_augeas_version).returns("0.3.5") + provider.need_to_run?.should == true + end + + #Ticket 5211 testing + it "should return false when a size doeas equal the provided value" do + resource = stub("resource") + resource.stubs(:[]).returns(false).then.returns("match path size != 3").then.returns("") + provider = provider_class.new(resource) + augeas_stub = stub("augeas", :match => ["set", "of", "values"]) + augeas_stub.stubs("close") + provider.aug= augeas_stub + provider.stubs(:get_augeas_version).returns("0.3.5") + provider.need_to_run?.should == false + end end describe "augeas execution integration" do |
