Atlas › Test

TestWildCardStringsToRegexp

Exact test identity: go.temporal.io/server/common/util/TestWildCardStringsToRegexp

Package
go.temporal.io/server/common/util
Suite / test hierarchy
TestWildCardStringsToRegexp
Test
TestWildCardStringsToRegexp
Introduced at
TestWildCardStringsToRegexp Frontier kind: Test frontier
Covered ranges
6
Covered lines
19
Covered files
1

Covered source

Expand a file to inspect source; the > gutter marks covered lines.

go.temporal.io/server/common/util/wildcard.go 19 covered LOC · 6 ranges

Open complete file

18 // WildCardStringToRegexps converts a given slices of string patterns to a slice of regular expressions matching
19 // wildcards (*) with any substring.
20 > func WildCardStringsToRegexp(patterns []string) (*regexp.Regexp, error) { wildcard.go
21 > var result strings.Builder
22 > result.WriteRune('^')
23 > for i, pattern := range patterns {
24 > result.WriteRune('(')
25 > first := true
26 > for literal := range strings.SplitSeq(pattern, "*") {
27 > if !first {
28 > // Replace * with .* wildcard.go
29 > result.WriteString(".*")
30 > }
31 > result.WriteString(regexp.QuoteMeta(literal)) wildcard.go
32 > first = false
33 }
34 > result.WriteRune(')') wildcard.go
35 > if i < len(patterns)-1 {
36 > result.WriteRune('|') wildcard.go
37 > }
38 }
39 > result.WriteRune('$') wildcard.go
40 > return regexp.Compile(result.String())
41 }
42