all: sync with master
This commit is contained in:
29
internal/next/jsonpatch/jsonpatch_test.go
Normal file
29
internal/next/jsonpatch/jsonpatch_test.go
Normal file
@@ -0,0 +1,29 @@
|
||||
package jsonpatch_test
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"testing"
|
||||
|
||||
"github.com/AdguardTeam/AdGuardHome/internal/next/jsonpatch"
|
||||
"github.com/AdguardTeam/golibs/testutil"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestNonRemovable(t *testing.T) {
|
||||
type T struct {
|
||||
Value jsonpatch.NonRemovable[int] `json:"value"`
|
||||
}
|
||||
|
||||
var v T
|
||||
|
||||
err := json.Unmarshal([]byte(`{"value":null}`), &v)
|
||||
testutil.AssertErrorMsg(t, "property cannot be removed", err)
|
||||
|
||||
err = json.Unmarshal([]byte(`{"value":42}`), &v)
|
||||
assert.NoError(t, err)
|
||||
|
||||
var got int
|
||||
v.Value.Set(&got)
|
||||
|
||||
assert.Equal(t, 42, got)
|
||||
}
|
||||
Reference in New Issue
Block a user