]> gitweb.fluxo.info Git - puppet-stdlib.git/commitdiff
Merge remote-tracking branch 'pr/56' into pull-56
authorAdrien Thebo <git@somethingsinistral.net>
Tue, 28 May 2013 18:03:51 +0000 (11:03 -0700)
committerAdrien Thebo <git@somethingsinistral.net>
Tue, 28 May 2013 18:07:41 +0000 (11:07 -0700)
Conflicts:
lib/puppet/parser/functions/range.rb
spec/unit/puppet/parser/functions/range_spec.rb

1  2 
lib/puppet/parser/functions/range.rb
spec/unit/puppet/parser/functions/range_spec.rb

index 825617b383011ba01298d951787b050ff2c149a1,03ab9e96a41c4f13c75be37a96f36fd202f54f5f..0849491ace1ca8328430a38032b0f84468093b50
@@@ -24,9 -19,12 +24,16 @@@ integers automatically
  
  Will return: ["a","b","c"]
  
 +    range("host01", "host10")
 +
 +Will return: ["host01", "host02", ..., "host09", "host10"]
++
+ Passing a third argument will cause the generated range to step by that 
+ interval, e.g.
+     range("0", "9", "2")
+ Will return: [0,2,4,6,8]
      EOS
    ) do |arguments|
  
index 42751f460b05e075b57eaf263163bd19b1b23417,24cc3917083071373ee039303f8e8223b53cfc29..5eb290fd6cd105a8eba641df0dbba7eee447d081
@@@ -17,18 -23,39 +17,49 @@@ describe "the range function" d
      result.should(eq(['a','b','c','d']))
    end
  
 -    result = @scope.function_range(["a","d","1"])
+   it "should return a letter range given a step of 1" do
 -    result = @scope.function_range(["a","d","2"])
++    result = scope.function_range(["a","d","1"])
+     result.should(eq(['a','b','c','d']))
+   end
+   it "should return a stepped letter range" do
 -    result = @scope.function_range(["1","4","-2"])
++    result = scope.function_range(["a","d","2"])
+     result.should(eq(['a','c']))
+   end
+   it "should return a stepped letter range given a negative step" do
++    result = scope.function_range(["a","d","-2"])
+     result.should(eq(['a','c']))
+   end
    it "should return a number range" do
 -    result = @scope.function_range(["1","4"])
 +    result = scope.function_range(["1","4"])
      result.should(eq([1,2,3,4]))
    end
  
 -    result = @scope.function_range(["1","4","1"])
 +  it "should work with padded hostname like strings" do
 +    expected = ("host01".."host10").to_a
 +    scope.function_range(["host01","host10"]).should eq expected
 +  end
 +
 +  it "should coerce zero padded digits to integers" do
 +    expected = (0..10).to_a
 +    scope.function_range(["00", "10"]).should eq expected
 +  end
++
+   it "should return a number range given a step of 1" do
 -    result = @scope.function_range(["1","4","2"])
++    result = scope.function_range(["1","4","1"])
+     result.should(eq([1,2,3,4]))
+   end
+   it "should return a stepped number range" do
 -    result = @scope.function_range(["1","4","-2"])
++    result = scope.function_range(["1","4","2"])
+     result.should(eq([1,3]))
+   end
+   it "should return a stepped number range given a negative step" do
++    result = scope.function_range(["1","4","-2"])
+     result.should(eq([1,3]))
+   end
  end