5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-02 07:09:54 +08:00
wails/v2/internal/shell/env_test.go
stffabi eb2d929824
[bindings] Pass ts_generation flags as env variable (#2194)
Otherwise this will clash if an app also uses flags internally
2022-12-11 07:38:06 +11:00

68 lines
1.7 KiB
Go

package shell
import "testing"
func TestUpdateEnv(t *testing.T) {
env := []string{"one=1", "two=a=b", "three="}
newEnv := UpsertEnv(env, "two", func(v string) string {
return v + "+added"
})
newEnv = UpsertEnv(newEnv, "newVar", func(v string) string {
return "added"
})
newEnv = UpsertEnv(newEnv, "three", func(v string) string {
return "3"
})
newEnv = UpsertEnv(newEnv, "GOARCH", func(v string) string {
return "amd64"
})
if len(newEnv) != 5 {
t.Errorf("expected: 5, got: %d", len(newEnv))
}
if newEnv[1] != "two=a=b+added" {
t.Errorf("expected: \"two=a=b+added\", got: %q", newEnv[1])
}
if newEnv[2] != "three=3" {
t.Errorf("expected: \"three=3\", got: %q", newEnv[2])
}
if newEnv[3] != "newVar=added" {
t.Errorf("expected: \"newVar=added\", got: %q", newEnv[3])
}
if newEnv[4] != "GOARCH=amd64" {
t.Errorf("expected: \"newVar=added\", got: %q", newEnv[4])
}
}
func TestSetEnv(t *testing.T) {
env := []string{"one=1", "two=a=b", "three="}
newEnv := SetEnv(env, "two", "set")
newEnv = SetEnv(newEnv, "newVar", "added")
if len(newEnv) != 4 {
t.Errorf("expected: 4, got: %d", len(newEnv))
}
if newEnv[1] != "two=set" {
t.Errorf("expected: \"two=set\", got: %q", newEnv[1])
}
if newEnv[3] != "newVar=added" {
t.Errorf("expected: \"newVar=added\", got: %q", newEnv[3])
}
}
func TestRemoveEnv(t *testing.T) {
env := []string{"one=1", "two=a=b", "three=3"}
newEnv := RemoveEnv(env, "two")
if len(newEnv) != 2 {
t.Errorf("expected: 2, got: %d", len(newEnv))
}
if newEnv[0] != "one=1" {
t.Errorf("expected: \"one=1\", got: %q", newEnv[1])
}
if newEnv[1] != "three=3" {
t.Errorf("expected: \"three=3\", got: %q", newEnv[3])
}
}