// Copyright 2020 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package syscall_test import ( "syscall" "testing" ) func TestEscapeArg(t *testing.T) { var tests = []struct { input, output string }{ {``, `""`}, {`a`, `a`}, {` `, `" "`}, {`\`, `\`}, {`"`, `\"`}, {`\"`, `\\\"`}, {`\\"`, `\\\\\"`}, {`\\ `, `"\\ "`}, {` \\`, `" \\\\"`}, {`a `, `"a "`}, {`C:\`, `C:\`}, {`C:\Program Files (x32)\Common\`, `"C:\Program Files (x32)\Common\\"`}, {`C:\Users\Игорь\`, `C:\Users\Игорь\`}, {`Андрей\file`, `Андрей\file`}, {`C:\Windows\temp`, `C:\Windows\temp`}, {`c:\temp\newfile`, `c:\temp\newfile`}, {`\\?\C:\Windows`, `\\?\C:\Windows`}, {`\\?\`, `\\?\`}, {`\\.\C:\Windows\`, `\\.\C:\Windows\`}, {`\\server\share\file`, `\\server\share\file`}, {`\\newserver\tempshare\really.txt`, `\\newserver\tempshare\really.txt`}, } for _, test := range tests { if got := syscall.EscapeArg(test.input); got != test.output { t.Errorf("EscapeArg(%#q) = %#q, want %#q", test.input, got, test.output) } } }