]> gitweb.fluxo.info Git - puppet-stdlib.git/commitdiff
Some improvements to values_at tests.
authorKen Barber <ken@bob.sh>
Fri, 29 Jul 2011 20:17:19 +0000 (21:17 +0100)
committerKen Barber <ken@bob.sh>
Fri, 29 Jul 2011 20:17:19 +0000 (21:17 +0100)
spec/unit/parser/functions/values_at_spec.rb

index ec8730b3318a44a03cd28fb7601c757d5293c368..6c45316c143b1898c797abf0c06864102f0f38cd 100644 (file)
@@ -18,9 +18,28 @@ describe "the values_at function" do
     lambda { @scope.function_values_at([]) }.should( raise_error(Puppet::ParseError))
   end
 
+  it "should raise a ParseError if you try to use a range where stop is greater then start" do
+    lambda { @scope.function_values_at([['a','b'],["3-1"]]) }.should( raise_error(Puppet::ParseError))
+  end
+
   it "should return a value at from an array" do
     result = @scope.function_values_at([['a','b','c'],"1"])
     result.should(eq(['b']))
   end
 
+  it "should return a value at from an array when passed a range" do
+    result = @scope.function_values_at([['a','b','c'],"0-1"])
+    result.should(eq(['a','b']))
+  end
+
+  it "should return chosen values from an array when passed number of indexes" do
+    result = @scope.function_values_at([['a','b','c'],["0","2"]])
+    result.should(eq(['a','c']))
+  end
+
+  it "should return chosen values from an array when passed ranges and multiple indexes" do
+    result = @scope.function_values_at([['a','b','c','d','e','f','g'],["0","2","4-5"]])
+    result.should(eq(['a','c','e','f']))
+  end
+
 end