Merge pull request #448 from DavidS/fix_range
range(): fix TypeError(can't convert nil into Integer) when using range ...
This commit is contained in:
commit
4f6c6fa3e5
2 changed files with 10 additions and 3 deletions
|
@ -47,7 +47,7 @@ Will return: [0,2,4,6,8]
|
|||
|
||||
type = '..' # Use the simplest type of Range available in Ruby
|
||||
|
||||
else # arguments.size == 0
|
||||
else # arguments.size == 1
|
||||
value = arguments[0]
|
||||
|
||||
if m = value.match(/^(\w+)(\.\.\.?|\-)(\w+)$/)
|
||||
|
@ -55,7 +55,7 @@ Will return: [0,2,4,6,8]
|
|||
stop = m[3]
|
||||
|
||||
type = m[2]
|
||||
|
||||
step = 1
|
||||
elsif value.match(/^.+$/)
|
||||
raise(Puppet::ParseError, "range(): Unable to compute range " +
|
||||
"from the value: #{value}")
|
||||
|
@ -78,7 +78,7 @@ Will return: [0,2,4,6,8]
|
|||
when '...' then (start ... stop) # Exclusive of last element
|
||||
end
|
||||
|
||||
result = range.step(step).collect { |i| i }
|
||||
result = range.step(step).to_a
|
||||
|
||||
return result
|
||||
end
|
||||
|
|
|
@ -68,6 +68,13 @@ describe "the range function" do
|
|||
end
|
||||
end
|
||||
|
||||
describe 'with a ruby-like range' do
|
||||
it "returns a number range" do
|
||||
result = scope.function_range(["1..4"])
|
||||
expect(result).to eq [1,2,3,4]
|
||||
end
|
||||
end
|
||||
|
||||
describe 'with a numeric range' do
|
||||
it "returns a range of numbers" do
|
||||
expected = (1..10).to_a
|
||||
|
|
Loading…
Reference in a new issue