github.com/AlpineAIO/wails/v2@v2.0.0-beta.32.0.20240505041856-1047a8fa5fef/internal/shell/env_test.go (about)

     1  package shell
     2  
     3  import "testing"
     4  
     5  func TestUpdateEnv(t *testing.T) {
     6  
     7  	env := []string{"one=1", "two=a=b", "three="}
     8  	newEnv := UpsertEnv(env, "two", func(v string) string {
     9  		return v + "+added"
    10  	})
    11  	newEnv = UpsertEnv(newEnv, "newVar", func(v string) string {
    12  		return "added"
    13  	})
    14  	newEnv = UpsertEnv(newEnv, "three", func(v string) string {
    15  		return "3"
    16  	})
    17  	newEnv = UpsertEnv(newEnv, "GOARCH", func(v string) string {
    18  		return "amd64"
    19  	})
    20  
    21  	if len(newEnv) != 5 {
    22  		t.Errorf("expected: 5, got: %d", len(newEnv))
    23  	}
    24  	if newEnv[1] != "two=a=b+added" {
    25  		t.Errorf("expected: \"two=a=b+added\", got: %q", newEnv[1])
    26  	}
    27  	if newEnv[2] != "three=3" {
    28  		t.Errorf("expected: \"three=3\", got: %q", newEnv[2])
    29  	}
    30  	if newEnv[3] != "newVar=added" {
    31  		t.Errorf("expected: \"newVar=added\", got: %q", newEnv[3])
    32  	}
    33  	if newEnv[4] != "GOARCH=amd64" {
    34  		t.Errorf("expected: \"newVar=added\", got: %q", newEnv[4])
    35  	}
    36  }
    37  
    38  func TestSetEnv(t *testing.T) {
    39  	env := []string{"one=1", "two=a=b", "three="}
    40  	newEnv := SetEnv(env, "two", "set")
    41  	newEnv = SetEnv(newEnv, "newVar", "added")
    42  
    43  	if len(newEnv) != 4 {
    44  		t.Errorf("expected: 4, got: %d", len(newEnv))
    45  	}
    46  	if newEnv[1] != "two=set" {
    47  		t.Errorf("expected: \"two=set\", got: %q", newEnv[1])
    48  	}
    49  	if newEnv[3] != "newVar=added" {
    50  		t.Errorf("expected: \"newVar=added\", got: %q", newEnv[3])
    51  	}
    52  }
    53  
    54  func TestRemoveEnv(t *testing.T) {
    55  	env := []string{"one=1", "two=a=b", "three=3"}
    56  	newEnv := RemoveEnv(env, "two")
    57  
    58  	if len(newEnv) != 2 {
    59  		t.Errorf("expected: 2, got: %d", len(newEnv))
    60  	}
    61  	if newEnv[0] != "one=1" {
    62  		t.Errorf("expected: \"one=1\", got: %q", newEnv[1])
    63  	}
    64  	if newEnv[1] != "three=3" {
    65  		t.Errorf("expected: \"three=3\", got: %q", newEnv[3])
    66  	}
    67  }