Fix format function {{, }} are escapes (#752)

* Fix format function {{, }} are escapes

Added some tests for some corner cases

* Update format function added 2 error checks
This commit is contained in:
ChristopherHX
2021-08-09 17:19:10 +02:00
committed by GitHub
parent 0ff204b615
commit 43d46aa62f
2 changed files with 38 additions and 6 deletions

View File

@@ -110,6 +110,14 @@ func TestEvaluate(t *testing.T) {
{"env.key", "value", ""},
{"secrets.CASE_INSENSITIVE_SECRET", "value", ""},
{"secrets.case_insensitive_secret", "value", ""},
{"format('{{0}}', 'test')", "{0}", ""},
{"format('{{{0}}}', 'test')", "{test}", ""},
{"format('}}')", "}", ""},
{"format('echo Hello {0} ${{Test}}', 'World')", "echo Hello World ${Test}", ""},
{"format('echo Hello {0} ${{Test}}', github.undefined_property)", "echo Hello ${Test}", ""},
{"format('echo Hello {0}{1} ${{Te{0}st}}', github.undefined_property, 'World')", "echo Hello World ${Test}", ""},
{"format('{0}', '{1}', 'World')", "{1}", ""},
{"format('{{{0}', '{1}', 'World')", "{{1}", ""},
}
for _, table := range tables {