github.com/hellobchain/third_party@v0.0.0-20230331131523-deb0478a2e52/gin/mode_test.go (about) 1 // Copyright 2014 Manu Martinez-Almeida. All rights reserved. 2 // Use of this source code is governed by a MIT style 3 // license that can be found in the LICENSE file. 4 5 package gin 6 7 import ( 8 "os" 9 "testing" 10 11 "github.com/stretchr/testify/assert" 12 "github.com/hellobchain/third_party/gin/binding" 13 ) 14 15 func init() { 16 os.Setenv(EnvGinMode, TestMode) 17 } 18 19 func TestSetMode(t *testing.T) { 20 assert.Equal(t, testCode, ginMode) 21 assert.Equal(t, TestMode, Mode()) 22 os.Unsetenv(EnvGinMode) 23 24 SetMode("") 25 assert.Equal(t, debugCode, ginMode) 26 assert.Equal(t, DebugMode, Mode()) 27 28 SetMode(DebugMode) 29 assert.Equal(t, debugCode, ginMode) 30 assert.Equal(t, DebugMode, Mode()) 31 32 SetMode(ReleaseMode) 33 assert.Equal(t, releaseCode, ginMode) 34 assert.Equal(t, ReleaseMode, Mode()) 35 36 SetMode(TestMode) 37 assert.Equal(t, testCode, ginMode) 38 assert.Equal(t, TestMode, Mode()) 39 40 assert.Panics(t, func() { SetMode("unknown") }) 41 } 42 43 func TestDisableBindValidation(t *testing.T) { 44 v := binding.Validator 45 assert.NotNil(t, binding.Validator) 46 DisableBindValidation() 47 assert.Nil(t, binding.Validator) 48 binding.Validator = v 49 } 50 51 func TestEnableJsonDecoderUseNumber(t *testing.T) { 52 assert.False(t, binding.EnableDecoderUseNumber) 53 EnableJsonDecoderUseNumber() 54 assert.True(t, binding.EnableDecoderUseNumber) 55 } 56 57 func TestEnableJsonDecoderDisallowUnknownFields(t *testing.T) { 58 assert.False(t, binding.EnableDecoderDisallowUnknownFields) 59 EnableJsonDecoderDisallowUnknownFields() 60 assert.True(t, binding.EnableDecoderDisallowUnknownFields) 61 }