mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-29 22:06:38 +08:00
aa4faddade
Result: {"status":"keep","total_issues":8,"golint_canonicalheader":0,"golint_errname":0,"golint_errorlint":1,"golint_exhaustive":0,"golint_forcetypeassert":0,"golint_gosec":0,"golint_intrange":0,"golint_modernize":3,"golint_nilnil":3,"golint_perfsprint":0,"golint_prealloc":0,"golint_recvcheck":1,"golint_usestdlibvars":0,"golint_wastedassign":0,"golint_total":8,"golint_test_testifylint":0,"golint_test_thelper":0,"golint_test_usetesting":0,"golint_test_total":0,"golint_vetx_total":0,"eslint_problems":0,"eslint_errors":0,"eslint_warnings":0,"tsc_errors":0,"vitest_failed":0,"vitest_total":116,"measure_s":81}
57 lines
1.3 KiB
Go
57 lines
1.3 KiB
Go
// Copyright 2026 Arctel.net
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package config
|
|
|
|
import (
|
|
"encoding/json"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestMillisecondDurationUnmarshalJSON(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
input string
|
|
want time.Duration
|
|
wantErr bool
|
|
}{
|
|
{name: "null", input: "null", want: 0},
|
|
{name: "empty", input: `""`, want: 0},
|
|
{name: "integer milliseconds", input: "30000", want: 30 * time.Second},
|
|
{name: "duration string", input: `"5s"`, want: 5 * time.Second},
|
|
{name: "invalid number", input: "not-a-number", wantErr: true},
|
|
{name: "invalid duration string", input: `"not-a-duration"`, wantErr: true},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
var d MillisecondDuration
|
|
err := json.Unmarshal([]byte(tt.input), &d)
|
|
if tt.wantErr {
|
|
if err == nil {
|
|
t.Fatal("expected error")
|
|
}
|
|
return
|
|
}
|
|
if err != nil {
|
|
t.Fatalf("unexpected error: %v", err)
|
|
}
|
|
if d.Duration() != tt.want {
|
|
t.Fatalf("got %s, want %s", d, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestMillisecondDurationMarshalJSON(t *testing.T) {
|
|
d := MillisecondDuration(7 * time.Second)
|
|
data, err := json.Marshal(d)
|
|
if err != nil {
|
|
t.Fatalf("Marshal failed: %v", err)
|
|
}
|
|
if string(data) != "7000" {
|
|
t.Fatalf("unexpected marshaled value: %s", string(data))
|
|
}
|
|
}
|