// 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 ( "os" "testing" "github.com/gin-gonic/gin/binding/common" "github.com/stretchr/testify/assert" ) func init() { os.Setenv(EnvGinMode, TestMode) } func TestSetMode(t *testing.T) { assert.Equal(t, testCode, ginMode) assert.Equal(t, TestMode, Mode()) os.Unsetenv(EnvGinMode) SetMode("") assert.Equal(t, debugCode, ginMode) assert.Equal(t, DebugMode, Mode()) SetMode(DebugMode) assert.Equal(t, debugCode, ginMode) assert.Equal(t, DebugMode, Mode()) SetMode(ReleaseMode) assert.Equal(t, releaseCode, ginMode) assert.Equal(t, ReleaseMode, Mode()) SetMode(TestMode) assert.Equal(t, testCode, ginMode) assert.Equal(t, TestMode, Mode()) assert.Panics(t, func() { SetMode("unknown") }) } func TestEnableJsonDecoderUseNumber(t *testing.T) { assert.False(t, common.EnableDecoderUseNumber) EnableJsonDecoderUseNumber() 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 }