2018-01-28 07:23:55 -07:00
|
|
|
// Copyright 2018 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 gatefs_test
|
|
|
|
|
|
|
|
import (
|
|
|
|
"os"
|
|
|
|
"runtime"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"golang.org/x/tools/godoc/vfs"
|
|
|
|
"golang.org/x/tools/godoc/vfs/gatefs"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestRootType(t *testing.T) {
|
|
|
|
goPath := os.Getenv("GOPATH")
|
|
|
|
var expectedType vfs.RootType
|
|
|
|
if goPath == "" {
|
2018-04-10 14:38:02 -06:00
|
|
|
expectedType = ""
|
2018-01-28 07:23:55 -07:00
|
|
|
} else {
|
|
|
|
expectedType = vfs.RootTypeGoPath
|
|
|
|
}
|
|
|
|
tests := []struct {
|
|
|
|
path string
|
|
|
|
fsType vfs.RootType
|
|
|
|
}{
|
|
|
|
{runtime.GOROOT(), vfs.RootTypeGoRoot},
|
|
|
|
{goPath, expectedType},
|
2018-04-10 14:38:02 -06:00
|
|
|
{"/tmp/", ""},
|
2018-01-28 07:23:55 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
for _, item := range tests {
|
|
|
|
fs := gatefs.New(vfs.OS(item.path), make(chan bool, 1))
|
|
|
|
if fs.RootType("path") != item.fsType {
|
|
|
|
t.Errorf("unexpected fsType. Expected- %v, Got- %v", item.fsType, fs.RootType("path"))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|