mirror of
https://github.com/go-gitea/gitea.git
synced 2025-11-20 15:39:37 +01:00
153 lines
3.6 KiB
Go
153 lines
3.6 KiB
Go
// Copyright 2023 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package config
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestValue_parse(t *testing.T) {
|
|
tests := []struct {
|
|
name string // description of this test case
|
|
// Named input parameters for target function.
|
|
key string
|
|
valStr string
|
|
want bool
|
|
}{
|
|
{
|
|
name: "Parse Invert Retrieval",
|
|
key: "picture.disable_gravatar",
|
|
valStr: "false",
|
|
want: true,
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
value := ValueJSON[bool]("picture.disable_gravatar").Invert()
|
|
got := value.parse(tt.key, tt.valStr)
|
|
|
|
if got != tt.want {
|
|
t.Errorf("parse() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestValue_getKey(t *testing.T) {
|
|
tests := []struct {
|
|
name string // description of this test case
|
|
valueClass *Value[bool]
|
|
want string
|
|
}{
|
|
{
|
|
name: "Custom dynKey name",
|
|
valueClass: ValueJSON[bool]("picture.enable_gravatar").SelectFrom("picture.disable_gravatar"),
|
|
want: "picture.disable_gravatar",
|
|
},
|
|
{
|
|
name: "Normal dynKey name",
|
|
valueClass: ValueJSON[bool]("picture.disable_gravatar"),
|
|
want: "picture.disable_gravatar",
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
got := tt.valueClass.getKey()
|
|
|
|
if got != tt.want {
|
|
t.Errorf("getKey() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestValue_invert(t *testing.T) {
|
|
tests := []struct {
|
|
name string // description of this test case
|
|
// Named input parameters for target function.
|
|
valueClass *Value[bool]
|
|
want bool
|
|
}{
|
|
{
|
|
name: "Invert typed true",
|
|
valueClass: ValueJSON[bool]("picture.enable_gravatar").WithDefault(true).Invert(),
|
|
want: false,
|
|
},
|
|
{
|
|
name: "Invert typed false",
|
|
valueClass: ValueJSON[bool]("picture.enable_gravatar").WithDefault(false).Invert(),
|
|
want: true,
|
|
},
|
|
{
|
|
name: "Invert typed Does not invert",
|
|
valueClass: ValueJSON[bool]("picture.enable_gravatar").WithDefault(false),
|
|
want: false,
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
got := tt.valueClass.invert(tt.valueClass.def)
|
|
|
|
if got != tt.want {
|
|
t.Errorf("invert() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestValue_invertBoolStr(t *testing.T) {
|
|
tests := []struct {
|
|
name string // description of this test case
|
|
// Named input parameters for target function.
|
|
valueClass *Value[bool]
|
|
val string
|
|
want string
|
|
}{
|
|
{
|
|
name: "Invert boolean string true",
|
|
valueClass: ValueJSON[bool]("picture.enable_gravatar"),
|
|
val: "true",
|
|
want: "false",
|
|
},
|
|
{
|
|
name: "Invert boolean string false",
|
|
valueClass: ValueJSON[bool]("picture.enable_gravatar"),
|
|
val: "false",
|
|
want: "true",
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
got := tt.valueClass.invertBoolStr(tt.val)
|
|
if got != tt.want {
|
|
t.Errorf("invertBoolStr() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestValue_SelectFromKey(t *testing.T) {
|
|
tests := []struct {
|
|
name string // description of this test case
|
|
// Named input parameters for target function.
|
|
valueClass *Value[bool]
|
|
want string
|
|
}{
|
|
{
|
|
name: "SelectFrom set and get",
|
|
valueClass: ValueJSON[bool]("picture.enable_gravatar").SelectFrom("picture.disable_gravatar"),
|
|
want: "picture.disable_gravatar",
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
got := tt.valueClass.SelectFromKey()
|
|
|
|
if got != tt.want {
|
|
t.Errorf("SelectFromKey() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|