diff --git a/tests/acceptance/10_files/templating/mustache_render_quote.cf b/tests/acceptance/10_files/templating/mustache_render_quote.cf new file mode 100644 index 0000000000..f90bd2d213 --- /dev/null +++ b/tests/acceptance/10_files/templating/mustache_render_quote.cf @@ -0,0 +1,75 @@ +####################################################### +# +# Acceptance test to ensure that mustache renders quotes in variables +# correctly. +# +# Redmine: https://dev.cfengine.com/issues/6516 +####################################################### + +body common control +{ + inputs => { "../../default.cf.sub" }; + bundlesequence => { default("$(this.promise_filename)") }; + version => "1.0"; + +} + +####################################################### + +bundle agent init +{ + vars: + "variable_containing_double_quote" string => 'Something "special" with quotes'; + "variable_containing_single_quote" string => "Something 'special' with quotes"; + + files: + "$(G.testfile)" + delete => init_delete; +} + +body delete init_delete +{ + dirlinks => "delete"; + rmdirs => "true"; +} + +####################################################### + +bundle agent test +{ + vars: + "template_file" string => "$(this.promise_filename).mustache"; + + files: + "$(G.testfile)" + create => "true", + edit_template => "$(template_file)", + template_method => "mustache"; + + reports: + DEBUG:: + "Rendering template file $(template_file) to $(G.testfile)"; +} + +####################################################### + +bundle agent check +{ + vars: + "expect" string => readfile("$(this.promise_filename).expected", 4000); + "actual" string => readfile("$(G.testfile)", 4000); + + classes: + "ok" expression => regcmp("$(expect)", "$(actual)"); + + reports: + DEBUG:: + "expect: '$(expect)'"; + "actual: '$(actual)'"; + ok:: + "$(this.promise_filename) Pass"; + !ok:: + "$(this.promise_filename) FAIL"; +} +### PROJECT_ID: core +### CATEGORY_ID: 27 diff --git a/tests/acceptance/10_files/templating/mustache_render_quote.cf.expected b/tests/acceptance/10_files/templating/mustache_render_quote.cf.expected new file mode 100644 index 0000000000..07f7535a17 --- /dev/null +++ b/tests/acceptance/10_files/templating/mustache_render_quote.cf.expected @@ -0,0 +1,2 @@ +Something "special" with quotes +Something 'special' with quotes diff --git a/tests/acceptance/10_files/templating/mustache_render_quote.cf.mustache b/tests/acceptance/10_files/templating/mustache_render_quote.cf.mustache new file mode 100644 index 0000000000..9a6a177c71 --- /dev/null +++ b/tests/acceptance/10_files/templating/mustache_render_quote.cf.mustache @@ -0,0 +1,2 @@ +{{vars.init.variable_containing_double_quote}} +{{vars.init.variable_containing_single_quote}}