Atlas › Test

TestParseDuration

Exact test identity: go.temporal.io/server/common/primitives/timestamp/TestParseDurationSuite/TestParseDuration

Package
go.temporal.io/server/common/primitives/timestamp
Suite / test hierarchy
TestParseDurationSuite/TestParseDuration
Test
TestParseDuration
Introduced at
parse_duration.go ×2 Frontier kind: Joint frontier
Covered ranges
4
Covered lines
6
Covered files
1

Covered source

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

go.temporal.io/server/common/primitives/timestamp/parse_duration.go 6 covered LOC · 4 ranges

Open complete file

22 // ParseDuration is like time.ParseDuration, but supports unit "d" for days
23 // (always interpreted as exactly 24 hours).
24 > func ParseDuration(s string) (time.Duration, error) { parse_duration.go
25 > s = reDays.ReplaceAllStringFunc(s, func(v string) string {
26 > fv, err := strconv.ParseFloat(strings.TrimSuffix(v, "d"), 64) parse_duration.go
27 > if err != nil {
28 return v // will cause time.ParseDuration to return an error
29 }
30 > return fmt.Sprintf("%fh", 24*fv) parse_duration.go
31 })
32 > return time.ParseDuration(s) parse_duration.go
33 }
34