golang.org/x/sys@v0.20.1-0.20240517151509-673e0f94c16d/windows/env_windows_test.go (about) 1 // Copyright 2024 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 //go:build go1.21 6 7 package windows_test 8 9 import ( 10 "fmt" 11 "slices" 12 "testing" 13 14 "golang.org/x/sys/windows" 15 ) 16 17 func TestEnvironUTF8(t *testing.T) { 18 testEnvVariable1Key := "__GO_X_SYS_WINDOWS_ENV_WINDOWS_TEST_VAR_BEAVER" 19 testEnvVariable1Val := "🦫" 20 t.Setenv(testEnvVariable1Key, testEnvVariable1Val) 21 22 testEnvVariable2Key := "__GO_X_SYS_WINDOWS_ENV_WINDOWS_TEST_VAR_WHALE" 23 testEnvVariable2Val := "🐳" 24 t.Setenv(testEnvVariable2Key, testEnvVariable2Val) 25 26 var userToken windows.Token 27 28 env, err := userToken.Environ(true) 29 if err != nil { 30 t.Error(err) 31 } 32 33 testEnvVariable1 := fmt.Sprintf("%s=%s", testEnvVariable1Key, testEnvVariable1Val) 34 if !slices.Contains(env, testEnvVariable1) { 35 t.Fatalf("expected to find %s in env", testEnvVariable1) 36 } 37 38 testEnvVariable2 := fmt.Sprintf("%s=%s", testEnvVariable2Key, testEnvVariable2Val) 39 if !slices.Contains(env, testEnvVariable2) { 40 t.Fatalf("expected to find %s in env", testEnvVariable2) 41 } 42 }