summaryrefslogtreecommitdiffstats
path: root/modules/log/flags_test.go
blob: a101c42a787e50624518170ce7e0329794469056 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Copyright 2023 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT

package log

import (
	"testing"

	"code.gitea.io/gitea/modules/json"

	"github.com/stretchr/testify/assert"
	"github.com/stretchr/testify/require"
)

func TestFlags(t *testing.T) {
	assert.EqualValues(t, Ldefault, Flags{}.Bits())
	assert.EqualValues(t, 0, FlagsFromString("").Bits())
	assert.EqualValues(t, Lgopid, FlagsFromString("", Lgopid).Bits())
	assert.EqualValues(t, 0, FlagsFromString("none", Lgopid).Bits())
	assert.EqualValues(t, Ldate|Ltime, FlagsFromString("date,time", Lgopid).Bits())

	assert.EqualValues(t, "stdflags", FlagsFromString("stdflags").String())
	assert.EqualValues(t, "medfile", FlagsFromString("medfile").String())

	bs, err := json.Marshal(FlagsFromString("utc,level"))
	require.NoError(t, err)
	assert.EqualValues(t, `"level,utc"`, string(bs))
	var flags Flags
	require.NoError(t, json.Unmarshal(bs, &flags))
	assert.EqualValues(t, LUTC|Llevel, flags.Bits())
}