1
0
mirror of https://github.com/mgechev/revive.git synced 2024-11-24 08:32:22 +02:00
revive/cli/main_test.go
2023-11-02 17:07:46 +01:00

84 lines
1.8 KiB
Go

package cli
import (
"os"
"testing"
"github.com/spf13/afero"
)
func TestMain(m *testing.M) {
os.Unsetenv("HOME")
os.Unsetenv("XDG_CONFIG_HOME")
AppFs = afero.NewMemMapFs()
os.Exit(m.Run())
}
func TestXDGConfigDirIsPrefferedFirst(t *testing.T) {
t.Cleanup(func() {
// reset fs after test
AppFs = afero.NewMemMapFs()
})
xdgDirPath := "/tmp-iofs/xdg/config"
homeDirPath := "/tmp-iofs/home/tester"
AppFs.MkdirAll(xdgDirPath, 0755)
AppFs.MkdirAll(homeDirPath, 0755)
afero.WriteFile(AppFs, xdgDirPath+"/revive.toml", []byte("\n"), 0644)
t.Setenv("XDG_CONFIG_HOME", xdgDirPath)
afero.WriteFile(AppFs, homeDirPath+"/revive.toml", []byte("\n"), 0644)
t.Setenv("HOME", homeDirPath)
got := buildDefaultConfigPath()
want := xdgDirPath + "/revive.toml"
if got != want {
t.Errorf("got %q, wanted %q", got, want)
}
}
func TestHomeConfigDir(t *testing.T) {
homeDirPath := "/tmp-iofs/home/tester"
AppFs.MkdirAll(homeDirPath, 0755)
afero.WriteFile(AppFs, homeDirPath+"/revive.toml", []byte("\n"), 0644)
t.Setenv("HOME", homeDirPath)
got := buildDefaultConfigPath()
want := homeDirPath + "/revive.toml"
if got != want {
t.Errorf("got %q, wanted %q", got, want)
}
}
func TestXDGConfigDir(t *testing.T) {
xdgDirPath := "/tmp-iofs/xdg/config"
AppFs.MkdirAll(xdgDirPath, 0755)
afero.WriteFile(AppFs, xdgDirPath+"/revive.toml", []byte("\n"), 0644)
t.Setenv("XDG_CONFIG_HOME", xdgDirPath)
got := buildDefaultConfigPath()
want := xdgDirPath + "/revive.toml"
if got != want {
t.Errorf("got %q, wanted %q", got, want)
}
}
func TestXDGConfigDirNoFile(t *testing.T) {
xdgDirPath := "/tmp-iofs/xdg/config"
t.Setenv("XDG_CONFIG_HOME", xdgDirPath)
got := buildDefaultConfigPath()
want := xdgDirPath + "/revive.toml"
if got != want {
t.Errorf("got %q, wanted %q", got, want)
}
}