1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
package testutil
import (
"os"
"testing"
)
const envName = "ELVISH_TEST_ENV"
func TestSetenv_ExistingEnv(t *testing.T) {
os.Setenv(envName, "old value")
defer os.Unsetenv(envName)
c := &cleanuper{}
v := Setenv(c, envName, "new value")
if v != "new value" {
t.Errorf("did not return new value")
}
if os.Getenv(envName) != "new value" {
t.Errorf("did not set to new value")
}
c.runCleanups()
if os.Getenv(envName) != "old value" {
t.Errorf("did not restore to old value")
}
}
func TestSetenv_NewEnv(t *testing.T) {
os.Unsetenv(envName)
c := &cleanuper{}
v := Setenv(c, envName, "new value")
if v != "new value" {
t.Errorf("did not return new value")
}
if os.Getenv(envName) != "new value" {
t.Errorf("did not set to new value")
}
c.runCleanups()
if _, exists := os.LookupEnv(envName); exists {
t.Errorf("did not remove")
}
}
func TestUnsetenv_ExistingEnv(t *testing.T) {
os.Setenv(envName, "old value")
defer os.Unsetenv(envName)
c := &cleanuper{}
Unsetenv(c, envName)
if _, exists := os.LookupEnv(envName); exists {
t.Errorf("did not unset")
}
c.runCleanups()
if os.Getenv(envName) != "old value" {
t.Errorf("did not restore to old value")
}
}
func TestUnsetenv_NewEnv(t *testing.T) {
os.Unsetenv(envName)
c := &cleanuper{}
Unsetenv(c, envName)
if _, exists := os.LookupEnv(envName); exists {
t.Errorf("did not unset")
}
c.runCleanups()
if _, exists := os.LookupEnv(envName); exists {
t.Errorf("did not remove")
}
}
// SaveEnv tested as a dependency of Setenv and Unsetenv
|