Files
yay/pkg/settings/dirs_test.go
T
Jo 15057c8dab misc(ci): add modernize linter and update versioning (#2870)
* add modernize linter

* lint unused

* update imports

* ignore agent info
2026-06-17 21:09:53 +02:00

57 lines
1.5 KiB
Go

//go:build !integration
package settings
import (
"os"
"path/filepath"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
// GIVEN no user directories and sudo user
// WHEN cache home is selected
// THEN the selected cache home should be in the tmp dir
func Test_getCacheHome(t *testing.T) {
dir := t.TempDir()
require.NoError(t, os.Unsetenv("XDG_CACHE_HOME"))
require.NoError(t, os.Unsetenv("HOME"))
t.Setenv("SUDO_USER", "test")
t.Setenv("TMPDIR", dir)
got, err := getCacheHome()
require.NoError(t, err)
assert.Equal(t, filepath.Join(dir, "yay"), got)
require.NoError(t, os.Unsetenv("TMPDIR"))
require.NoError(t, os.Unsetenv("SUDO_USER"))
}
func TestGetLuaConfigPath(t *testing.T) {
configHome := t.TempDir()
t.Setenv("XDG_CONFIG_HOME", configHome)
require.NoError(t, os.Unsetenv("HOME"))
assert.Empty(t, GetLuaConfigPath(false))
luaDir := filepath.Join(configHome, "yay")
require.NoError(t, os.MkdirAll(luaDir, 0o755))
luaPath := filepath.Join(luaDir, "init.lua")
require.NoError(t, os.WriteFile(luaPath, []byte("-- test"), 0o600))
assert.Equal(t, luaPath, GetLuaConfigPath(false))
}
func TestGetLuaConfigPathDebugCwd(t *testing.T) {
require.NoError(t, os.Unsetenv("XDG_CONFIG_HOME"))
require.NoError(t, os.Unsetenv("HOME"))
t.Chdir(t.TempDir())
require.NoError(t, os.WriteFile("init.lua", []byte("-- test"), 0o600))
assert.Equal(t, "init.lua", GetLuaConfigPath(true))
assert.Empty(t, GetLuaConfigPath(false))
}