mirror of
https://review.haiku-os.org/buildtools
synced 2025-02-07 14:34:51 +01:00
44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
// 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)
|
|
}
|
|
}
|
|
}
|