23 lines
450 B
Go
23 lines
450 B
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
"unicode/utf16"
|
|
)
|
|
|
|
func TestReadTextFileUTF16(t *testing.T) {
|
|
s := "Email=a@b.co\r\nPassword=p=\"w\\x\r\n"
|
|
u := utf16.Encode([]rune(s))
|
|
b := []byte{0xFF, 0xFE}
|
|
for _, c := range u {
|
|
b = append(b, byte(c), byte(c>>8))
|
|
}
|
|
p := filepath.Join(t.TempDir(), "r.txt")
|
|
_ = os.WriteFile(p, b, 0o600)
|
|
got, err := readTextFile(p)
|
|
if err != nil || got != s {
|
|
t.Fatalf("%q %v", got, err)
|
|
}
|
|
}
|