mirror of
https://review.haiku-os.org/buildtools
synced 2025-02-12 08:47:41 +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)
|
||
|
}
|
||
|
}
|
||
|
}
|