github.com/fastly/cli@v1.7.2-0.20240304164155-9d0f1d77c3bf/pkg/env/env_test.go (about)

     1  package env
     2  
     3  import (
     4  	"runtime"
     5  	"testing"
     6  
     7  	"golang.org/x/exp/slices"
     8  )
     9  
    10  func TestVars(t *testing.T) {
    11  	tcs := []struct {
    12  		os       string
    13  		vars     map[string]string
    14  		expected []string
    15  	}{
    16  		{
    17  			os:       "windows",
    18  			expected: []string{"%HOME%", "%PATH%"},
    19  		},
    20  		{
    21  			os:       "darwin",
    22  			expected: []string{"\\$HOME", "\\$PATH"},
    23  		},
    24  		{
    25  			os:       "linux",
    26  			expected: []string{"\\$HOME", "\\$PATH"},
    27  		},
    28  	}
    29  	for _, tc := range tcs {
    30  		t.Run(tc.os, func(t *testing.T) {
    31  			vars := Vars()
    32  			if runtime.GOOS == tc.os {
    33  				for _, v := range tc.expected {
    34  					if !slices.Contains(vars, v) {
    35  						t.Errorf("expected %s in %v", v, vars)
    36  					}
    37  				}
    38  			} else {
    39  				t.Skip()
    40  			}
    41  		})
    42  	}
    43  }