Merge remote-tracking branch 'pr/56' into pull-56
[puppet_stdlib.git] / spec / unit / puppet / parser / functions / range_spec.rb
index 42751f4..5eb290f 100644 (file)
@@ -17,6 +17,21 @@ describe "the range function" do
     result.should(eq(['a','b','c','d']))
   end
 
+  it "should return a letter range given a step of 1" do
+    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(["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.should(eq([1,2,3,4]))
@@ -31,4 +46,20 @@ describe "the range function" 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","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.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