github.com/powerman/golang-tools@v0.1.11-0.20220410185822-5ad214d8d803/godoc/vfs/gatefs/gatefs_test.go (about)

     1  // Copyright 2018 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package gatefs_test
     6  
     7  import (
     8  	"os"
     9  	"runtime"
    10  	"testing"
    11  
    12  	"github.com/powerman/golang-tools/godoc/vfs"
    13  	"github.com/powerman/golang-tools/godoc/vfs/gatefs"
    14  )
    15  
    16  func TestRootType(t *testing.T) {
    17  	goPath := os.Getenv("GOPATH")
    18  	var expectedType vfs.RootType
    19  	if goPath == "" {
    20  		expectedType = ""
    21  	} else {
    22  		expectedType = vfs.RootTypeGoPath
    23  	}
    24  	tests := []struct {
    25  		path   string
    26  		fsType vfs.RootType
    27  	}{
    28  		{runtime.GOROOT(), vfs.RootTypeGoRoot},
    29  		{goPath, expectedType},
    30  		{"/tmp/", ""},
    31  	}
    32  
    33  	for _, item := range tests {
    34  		fs := gatefs.New(vfs.OS(item.path), make(chan bool, 1))
    35  		if fs.RootType("path") != item.fsType {
    36  			t.Errorf("unexpected fsType. Expected- %v, Got- %v", item.fsType, fs.RootType("path"))
    37  		}
    38  	}
    39  }