mirror of
https://github.com/datarhei/core.git
synced 2025-10-05 16:07:07 +08:00
Fix placeholder parsing
This commit is contained in:
@@ -42,7 +42,7 @@ type replacer struct {
|
|||||||
func New() Replacer {
|
func New() Replacer {
|
||||||
r := &replacer{
|
r := &replacer{
|
||||||
replacers: make(map[string]replace),
|
replacers: make(map[string]replace),
|
||||||
re: regexp.MustCompile(`{([a-z:]+)(?:\^(.))?(?:,(.*?))?}`),
|
re: regexp.MustCompile(`{([a-z]+(?::[0-9A-Za-z]+)?)(?:\^(.))?(?:,(.*?))?}`),
|
||||||
templateRe: regexp.MustCompile(`{([a-z:]+)}`),
|
templateRe: regexp.MustCompile(`{([a-z:]+)}`),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -148,9 +148,16 @@ func TestReplaceGlob(t *testing.T) {
|
|||||||
},
|
},
|
||||||
nil,
|
nil,
|
||||||
)
|
)
|
||||||
|
r.RegisterReplaceFunc(
|
||||||
|
"foo:123",
|
||||||
|
func(params map[string]string, config *app.Config, section string) string {
|
||||||
|
return "Hello 456"
|
||||||
|
},
|
||||||
|
nil,
|
||||||
|
)
|
||||||
|
|
||||||
replaced := r.Replace("{foo:baz}, {foo:bar}", "foo:*", "", nil, nil, "")
|
replaced := r.Replace("{foo:baz}, {foo:bar}, {foo:123}", "foo:*", "", nil, nil, "")
|
||||||
require.Equal(t, "Hello foobaz, Hello foobar", replaced)
|
require.Equal(t, "Hello foobaz, Hello foobar, Hello 456", replaced)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestParseParams(t *testing.T) {
|
func TestParseParams(t *testing.T) {
|
||||||
|
Reference in New Issue
Block a user