Atlas › Test

TestParseHHMMSSDuration

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

Package
go.temporal.io/server/common/primitives/timestamp
Suite / test hierarchy
TestParseDurationSuite/TestParseHHMMSSDuration
Test
TestParseHHMMSSDuration
Introduced at
parse_duration.go ×1 Frontier kind: Joint frontier
Covered ranges
9
Covered lines
16
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 16 covered LOC · 9 ranges

Open complete file

53 }
54
55 > func ParseHHMMSSDuration(d string) (time.Duration, error) { parse_duration.go
56 > var hours, minutes, seconds time.Duration
57 > _, err := fmt.Sscanf(d, "%d:%d:%d", &hours, &minutes, &seconds)
58 > if err != nil {
59 > return 0, errInvalidDuration parse_duration.go
60 > }
61 > if hours < 0 { parse_duration.go
62 > return 0, errInvalidDurationHours parse_duration.go
63 > }
64 > if minutes < 0 || minutes > 59 { parse_duration.go
65 > return 0, errInvalidDurationMinutes parse_duration.go
66 > }
67 > if seconds < 0 || seconds > 59 { parse_duration.go
68 > return 0, errInvalidDurationSeconds parse_duration.go
69 > }
70
71 > return hours*time.Hour + minutes*time.Minute + seconds*time.Second, nil parse_duration.go
72 }