mattermost/server/public/model/builtin_test.go
Agniva De Sarker c3ed07e679
OSF: Used model.NewPointer everywhere (#27838)
```release-note
NONE
```
2024-08-06 09:15:00 +05:30

39 lines
751 B
Go

package model
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestSafeDereference(t *testing.T) {
t.Run("any", func(t *testing.T) {
s := SafeDereference[any](nil)
assert.Nil(t, s)
})
t.Run("struct", func(t *testing.T) {
s := SafeDereference[struct{}](nil)
assert.Equal(t, struct{}{}, s)
s = SafeDereference(&struct{}{})
assert.Equal(t, struct{}{}, s)
})
t.Run("string", func(t *testing.T) {
s := SafeDereference[string](nil)
assert.Equal(t, "", s)
s = SafeDereference(NewPointer("foo"))
assert.Equal(t, "foo", s)
})
t.Run("string pointer", func(t *testing.T) {
s := SafeDereference[*string](nil)
assert.Nil(t, s)
f := NewPointer("foo")
s = SafeDereference(&f)
assert.Equal(t, f, s)
})
}