blob: aae1a7606f45a6f16c36f2e7c58a5925c153c443 [file] [log] [blame]
// 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 fs_test
import (
. "io/fs"
"testing"
)
var isValidPathTests = []struct {
name string
ok bool
}{
{".", true},
{"x", true},
{"x/y", true},
{"", false},
{"..", false},
{"/", false},
{"x/", false},
{"/x", false},
{"x/y/", false},
{"/x/y", false},
{"./", false},
{"./x", false},
{"x/.", false},
{"x/./y", false},
{"../", false},
{"../x", false},
{"x/..", false},
{"x/../y", false},
{"x//y", false},
{`x\`, true},
{`x\y`, true},
{`x:y`, true},
{`\x`, true},
}
func TestValidPath(t *testing.T) {
for _, tt := range isValidPathTests {
ok := ValidPath(tt.name)
if ok != tt.ok {
t.Errorf("ValidPath(%q) = %v, want %v", tt.name, ok, tt.ok)
}
}
}