golden_test.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package testutil
  2. import (
  3. "path/filepath"
  4. "testing"
  5. "github.com/stretchr/testify/assert"
  6. )
  7. func TestUpdate(t *testing.T) {
  8. before := updateRegex
  9. defer func() {
  10. updateRegex = before
  11. }()
  12. t.Run("no flag", func(t *testing.T) {
  13. updateRegex = nil
  14. assert.False(t, Update("TestUpdate"))
  15. })
  16. tests := []struct {
  17. regex string
  18. name string
  19. want bool
  20. }{
  21. {regex: "", name: "TestUpdate", want: false},
  22. {regex: "TestNotFound", name: "TestUpdate", want: false},
  23. {regex: ".*", name: "TestUpdate", want: true},
  24. }
  25. for _, test := range tests {
  26. t.Run("", func(t *testing.T) {
  27. updateRegex = &test.regex
  28. assert.Equal(t, test.want, Update(test.name))
  29. })
  30. }
  31. }
  32. func TestAssertGolden(t *testing.T) {
  33. // Make sure it does not blow up
  34. AssertGolden(t, filepath.Join("testdata", "golden"), false, "{\n \"Message\": \"This is a golden file.\"\n}")
  35. AssertGolden(t, filepath.Join("testdata", "golden"), false, []byte("{\n \"Message\": \"This is a golden file.\"\n}"))
  36. type T struct {
  37. Message string
  38. }
  39. AssertGolden(t, filepath.Join("testdata", "golden"), false, T{"This is a golden file."})
  40. }