1
0
mirror of https://github.com/pocketbase/pocketbase.git synced 2025-03-20 14:31:09 +02:00
pocketbase/core/validators/equal_test.go
2024-09-29 21:09:46 +03:00

63 lines
1.2 KiB
Go

package validators_test
import (
"fmt"
"testing"
"github.com/pocketbase/pocketbase/core/validators"
)
func Equal(t *testing.T) {
t.Parallel()
strA := "abc"
strB := "abc"
strC := "123"
var strNilPtr *string
var strNilPtr2 *string
scenarios := []struct {
valA any
valB any
expectError bool
}{
{nil, nil, false},
{"", "", false},
{"", "456", true},
{"123", "", true},
{"123", "456", true},
{"123", "123", false},
{true, false, true},
{false, true, true},
{false, false, false},
{true, true, false},
{0, 0, false},
{0, 1, true},
{1, 2, true},
{1, 1, false},
{&strA, &strA, false},
{&strA, &strB, false},
{&strA, &strC, true},
{"abc", &strA, false},
{&strA, "abc", false},
{"abc", &strC, true},
{"test", 123, true},
{nil, 123, true},
{nil, strA, true},
{nil, &strA, true},
{nil, strNilPtr, false},
{strNilPtr, strNilPtr2, false},
}
for i, s := range scenarios {
t.Run(fmt.Sprintf("%d_%v_%v", i, s.valA, s.valB), func(t *testing.T) {
err := validators.Equal(s.valA)(s.valB)
hasErr := err != nil
if hasErr != s.expectError {
t.Fatalf("Expected hasErr to be %v, got %v (%v)", s.expectError, hasErr, err)
}
})
}
}