mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
fix(audit): ensure template creation errors are audited (#7315)
This commit is contained in:
+12
-3
@@ -17,10 +17,19 @@ func NilOrEmpty(s *string) bool {
|
||||
return s == nil || *s == ""
|
||||
}
|
||||
|
||||
// NilToEmpty coalesces a nil str to the empty string.
|
||||
func NilToEmpty(s *string) string {
|
||||
// NilToEmpty coalesces a nil value to the empty value.
|
||||
func NilToEmpty[T any](s *T) T {
|
||||
var def T
|
||||
if s == nil {
|
||||
return ""
|
||||
return def
|
||||
}
|
||||
return *s
|
||||
}
|
||||
|
||||
// NilToDefault coalesces a nil value to the provided default value.
|
||||
func NilToDefault[T any](s *T, def T) T {
|
||||
if s == nil {
|
||||
return def
|
||||
}
|
||||
return *s
|
||||
}
|
||||
|
||||
@@ -52,6 +52,28 @@ func Test_NilOrEmpty(t *testing.T) {
|
||||
assert.False(t, ptr.NilOrEmpty(&nonEmptyString))
|
||||
}
|
||||
|
||||
func Test_NilToEmpty(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
assert.False(t, ptr.NilToEmpty((*bool)(nil)))
|
||||
assert.Empty(t, ptr.NilToEmpty((*int64)(nil)))
|
||||
assert.Empty(t, ptr.NilToEmpty((*string)(nil)))
|
||||
assert.Equal(t, true, ptr.NilToEmpty(ptr.Ref(true)))
|
||||
}
|
||||
|
||||
func Test_NilToDefault(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
assert.True(t, ptr.NilToDefault(ptr.Ref(true), false))
|
||||
assert.True(t, ptr.NilToDefault((*bool)(nil), true))
|
||||
|
||||
assert.Equal(t, int64(4), ptr.NilToDefault(ptr.Ref[int64](4), 5))
|
||||
assert.Equal(t, int64(5), ptr.NilToDefault((*int64)(nil), 5))
|
||||
|
||||
assert.Equal(t, "hi", ptr.NilToDefault((*string)(nil), "hi"))
|
||||
assert.Equal(t, "hello", ptr.NilToDefault(ptr.Ref("hello"), "hi"))
|
||||
}
|
||||
|
||||
func Test_NilOrZero(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user