From 12660587d91f8f1b063a3f94ad14b54456dce214 Mon Sep 17 00:00:00 2001 From: ewy Date: Sat, 16 May 2026 23:14:31 +0200 Subject: add methods for overriding paths during tests --- paths/paths.go | 8 +++++++- paths/paths_test.go | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 paths/paths_test.go diff --git a/paths/paths.go b/paths/paths.go index 9f27385..cc0c878 100644 --- a/paths/paths.go +++ b/paths/paths.go @@ -7,7 +7,13 @@ import ( "strings" ) -var Home, This, Cache, Config, Ifs string +var ( + Ifs string + Config string + Cache string + This string + Home string +) type paths struct { Initialized bool diff --git a/paths/paths_test.go b/paths/paths_test.go new file mode 100644 index 0000000..8ab3461 --- /dev/null +++ b/paths/paths_test.go @@ -0,0 +1,45 @@ +//go:build test + +package paths + +import ( + "github.com/stretchr/testify/assert" + "testing" +) + +var bHome, bThis, bCache, bConfig string + +// Set temporarily sets the paths for unit test purposes +// remember to defer Reset +func Set(home, this, cache, config string) { + bHome = Home + bThis = This + bCache = Cache + bConfig = Config + + Home = home + This = this + Cache = cache + Config = config +} + +// Reset sets the path variables back to before the unit test +func Reset() { + Home = bHome + This = bThis + Cache = bCache + Config = bConfig +} + +func TestSetAndReset(t *testing.T) { + Set("1", "2", "3", "4") + assert.Equal(t, Home, "1") + assert.Equal(t, This, "2") + assert.Equal(t, Cache, "3") + assert.Equal(t, Config, "4") + Reset() + assert.NotEqual(t, Home, "1") + assert.NotEqual(t, This, "2") + assert.NotEqual(t, Cache, "3") + assert.NotEqual(t, Config, "4") +} -- cgit v1.3.1