Adjust to use default URI.escape escape list
Conform to RFC per comments on: https://github.com/puppetlabs/puppetlabs-stdlib/pull/164 Conflicts: lib/puppet/parser/functions/uriescape.rb spec/unit/puppet/parser/functions/uriescape_spec.rb
This commit is contained in:
parent
e0d4588bd2
commit
b2e23dc65b
2 changed files with 3 additions and 4 deletions
|
@ -15,7 +15,6 @@ module Puppet::Parser::Functions
|
|||
|
||||
value = arguments[0]
|
||||
klass = value.class
|
||||
unsafe = ":/?#[]@!$&'()*+,;= "
|
||||
|
||||
unless [Array, String].include?(klass)
|
||||
raise(Puppet::ParseError, 'uriescape(): Requires either ' +
|
||||
|
@ -26,7 +25,7 @@ module Puppet::Parser::Functions
|
|||
# Numbers in Puppet are often string-encoded which is troublesome ...
|
||||
result = value.collect { |i| i.is_a?(String) ? URI.escape(i,unsafe) : i }
|
||||
else
|
||||
result = URI.escape(value,unsafe)
|
||||
result = URI.escape(value)
|
||||
end
|
||||
|
||||
return result
|
||||
|
|
|
@ -13,8 +13,8 @@ describe "the uriescape function" do
|
|||
end
|
||||
|
||||
it "should uriescape a string" do
|
||||
result = scope.function_uriescape([":/?#[]@!$&'()*+,;= "])
|
||||
result.should(eq('%3A%2F%3F%23%5B%5D%40%21%24%26%27%28%29%2A%2B%2C%3B%3D%20'))
|
||||
result = scope.function_uriescape([":/?#[]@!$&'()*+,;= \"{}"])
|
||||
result.should(eq(':/?%23[]@!$&\'()*+,;=%20%22%7B%7D'))
|
||||
end
|
||||
|
||||
it "should do nothing if a string is already safe" do
|
||||
|
|
Loading…
Reference in a new issue