package formatters import ( "fmt" "os" "testing" "codeberg.org/danjones000/my-log/config" "github.com/stretchr/testify/assert" ) func TestKinds(t *testing.T) { assert.ElementsMatch(t, []string{"plain", "json", "zero"}, Kinds()) } func TestNewUnsupported(t *testing.T) { f, err := New("nope") assert.Nil(t, f) assert.Error(t, err) } func TestNewCantGetConfig(t *testing.T) { f, _ := os.CreateTemp("", "test") oldConf := config.ConfigPath config.ConfigPath = f.Name() defer f.Close() defer func() { config.ConfigPath = oldConf }() fmt.Fprint(f, `{"not":"toml"}`) form, err := New("plain") assert.Nil(t, form) assert.Error(t, err) form, err = Preferred() assert.Nil(t, form) assert.Error(t, err) } func TestPreferred(t *testing.T) { form, err := Preferred() assert.NotNil(t, form) assert.NoError(t, err) }