Skip to content

Commit

Permalink
Add escaping for $ to class and define examples
Browse files Browse the repository at this point in the history
  • Loading branch information
willaerk committed Jan 20, 2013
1 parent 01e315b commit 573598c
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 3 deletions.
7 changes: 5 additions & 2 deletions lib/rspec-puppet/example/class_example_group.rb
Expand Up @@ -43,8 +43,11 @@ def catalogue
if !self.respond_to?(:params) || params == {}
code = import_str + "include #{klass_name}"
else
code = import_str + 'class' + " { \"" + klass_name + "\": " + params.keys.map { |r| "#{r.to_s} => #{params[r].inspect}"
}.join(',' ) + " }"
param_str = params.keys.map { |r|
param_val = escape_special_chars(params[r].inspect)
"#{r.to_s} => #{param_val}"
}.join(',')
code = import_str + 'class' + " { \"" + klass_name + "\": " + param_str + " }"
end
code = pre_cond + "\n" + code

Expand Down
3 changes: 2 additions & 1 deletion lib/rspec-puppet/example/define_example_group.rb
Expand Up @@ -32,7 +32,8 @@ def catalogue

if self.respond_to? :params
param_str = params.keys.map { |r|
"#{r.to_s} => #{params[r].inspect}"
param_val = escape_special_chars(params[r].inspect)
"#{r.to_s} => #{param_val}"
}.join(', ')
else
param_str = ""
Expand Down
5 changes: 5 additions & 0 deletions lib/rspec-puppet/support.rb
Expand Up @@ -29,5 +29,10 @@ def munge_facts(facts)
facts.keys.each { |key| output[key.to_s] = facts[key] }
output
end

def escape_special_chars(string)
string.gsub!(/\$/, "\\$")
string
end
end
end

0 comments on commit 573598c

Please sign in to comment.