gin/mode_test.go

56 lines
1.2 KiB
Go
Raw Normal View History

2015-04-08 15:24:49 +03:00
// Copyright 2014 Manu Martinez-Almeida. All rights reserved.
// Use of this source code is governed by a MIT style
// license that can be found in the LICENSE file.
package gin
import (
2017-07-05 15:37:28 +03:00
"os"
2015-04-08 15:24:49 +03:00
"testing"
2019-04-17 17:10:21 +03:00
"github.com/gin-gonic/gin/binding/common"
2015-04-08 15:24:49 +03:00
"github.com/stretchr/testify/assert"
)
func init() {
os.Setenv(EnvGinMode, TestMode)
2015-04-08 15:24:49 +03:00
}
func TestSetMode(t *testing.T) {
assert.Equal(t, testCode, ginMode)
assert.Equal(t, TestMode, Mode())
os.Unsetenv(EnvGinMode)
2017-07-05 16:05:02 +03:00
SetMode("")
assert.Equal(t, debugCode, ginMode)
assert.Equal(t, DebugMode, Mode())
2015-04-08 15:24:49 +03:00
SetMode(DebugMode)
assert.Equal(t, debugCode, ginMode)
assert.Equal(t, DebugMode, Mode())
2015-04-08 15:24:49 +03:00
SetMode(ReleaseMode)
assert.Equal(t, releaseCode, ginMode)
assert.Equal(t, ReleaseMode, Mode())
2015-04-08 15:24:49 +03:00
SetMode(TestMode)
assert.Equal(t, testCode, ginMode)
assert.Equal(t, TestMode, Mode())
2015-04-08 15:24:49 +03:00
assert.Panics(t, func() { SetMode("unknown") })
}
func TestEnableJsonDecoderUseNumber(t *testing.T) {
2019-04-17 17:10:21 +03:00
assert.False(t, common.EnableDecoderUseNumber)
EnableJsonDecoderUseNumber()
2019-04-17 17:10:21 +03:00
assert.True(t, common.EnableDecoderUseNumber)
}
func TestDisableBindValidation(t *testing.T) {
bckp := common.Validator
assert.NotNil(t, common.Validator)
DisableBindValidation()
assert.Nil(t, common.Validator)
common.Validator = bckp
}