mode_test.go 987 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. package gin
  5. import (
  6. "os"
  7. "testing"
  8. "github.com/gin-gonic/gin/binding"
  9. "github.com/stretchr/testify/assert"
  10. )
  11. func init() {
  12. os.Setenv(ENV_GIN_MODE, TestMode)
  13. }
  14. func TestSetMode(t *testing.T) {
  15. assert.Equal(t, ginMode, testCode)
  16. assert.Equal(t, Mode(), TestMode)
  17. os.Unsetenv(ENV_GIN_MODE)
  18. SetMode(DebugMode)
  19. assert.Equal(t, ginMode, debugCode)
  20. assert.Equal(t, Mode(), DebugMode)
  21. SetMode(ReleaseMode)
  22. assert.Equal(t, ginMode, releaseCode)
  23. assert.Equal(t, Mode(), ReleaseMode)
  24. SetMode(TestMode)
  25. assert.Equal(t, ginMode, testCode)
  26. assert.Equal(t, Mode(), TestMode)
  27. assert.Panics(t, func() { SetMode("unknown") })
  28. }
  29. func TestEnableJsonDecoderUseNumber(t *testing.T) {
  30. assert.False(t, binding.EnableDecoderUseNumber)
  31. EnableJsonDecoderUseNumber()
  32. assert.True(t, binding.EnableDecoderUseNumber)
  33. }