github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/cmd/state-exec/meta_test.go (about) 1 package main 2 3 import ( 4 "os" 5 "reflect" 6 "testing" 7 ) 8 9 func Test_transformedEnv(t *testing.T) { 10 I := string(os.PathListSeparator) 11 type args struct { 12 sourceEnv []string 13 updatesToEnv []string 14 } 15 tests := []struct { 16 name string 17 args args 18 want []string 19 }{ 20 { 21 "Simple append", 22 args{ 23 sourceEnv: []string{"A=1", "B=2"}, 24 updatesToEnv: []string{"C=3"}, 25 }, 26 []string{"A=1", "B=2", "C=3"}, 27 }, 28 { 29 "Path append", 30 args{ 31 sourceEnv: []string{"PATH=A" + I + "B"}, 32 updatesToEnv: []string{"PATH=C"}, 33 }, 34 []string{"PATH=C" + I + "A" + I + "B"}, 35 }, 36 { 37 "Path append with missmatched casing", 38 args{ 39 sourceEnv: []string{"Path=A" + I + "B"}, 40 updatesToEnv: []string{"PATH=C"}, 41 }, 42 []string{"PATH=C" + I + "A" + I + "B"}, 43 }, 44 } 45 for _, tt := range tests { 46 t.Run(tt.name, func(t *testing.T) { 47 if got := transformedEnv(tt.args.sourceEnv, tt.args.updatesToEnv); !reflect.DeepEqual(got, tt.want) { 48 t.Errorf("transformedEnv() = %v, want %v", got, tt.want) 49 } 50 }) 51 } 52 }