mirror of
https://github.com/oauth2-proxy/oauth2-proxy.git
synced 2026-10-21 10:17:22 +02:00
feat: migrate all alpha config booleans to pointers
Signed-off-by: Jan Larwig <jan@larwig.com>
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
package ptr
|
||||
|
||||
// Ptr generically returns a pointer to the given value.
|
||||
func Ptr[T any](v T) *T {
|
||||
return &v
|
||||
}
|
||||
|
||||
// Deref returns the value of the pointer or def(ault) if nil.
|
||||
func Deref[T any](p *T, def T) T {
|
||||
if p == nil {
|
||||
return def
|
||||
}
|
||||
return *p
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package ptr
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestPtr(t *testing.T) {
|
||||
p := Ptr(42)
|
||||
assert.NotNil(t, p)
|
||||
assert.Equal(t, 42, *p)
|
||||
|
||||
s := Ptr("hello")
|
||||
assert.NotNil(t, s)
|
||||
assert.Equal(t, "hello", *s)
|
||||
|
||||
b := Ptr(true)
|
||||
assert.NotNil(t, b)
|
||||
assert.True(t, *b)
|
||||
}
|
||||
|
||||
func TestDeref(t *testing.T) {
|
||||
v := Deref(Ptr(99), 0)
|
||||
assert.Equal(t, 99, v)
|
||||
|
||||
v = Deref[int](nil, 123)
|
||||
assert.Equal(t, 123, v)
|
||||
|
||||
s := Deref[string](nil, "default")
|
||||
assert.Equal(t, "default", s)
|
||||
|
||||
b := Deref(Ptr(true), false)
|
||||
assert.True(t, b)
|
||||
|
||||
b = Deref[bool](nil, false)
|
||||
assert.False(t, b)
|
||||
}
|
||||
Reference in New Issue
Block a user