github.com/3JoB/vfs@v1.0.0/example_wrapping_test.go (about) 1 package vfs_test 2 3 import ( 4 "errors" 5 "fmt" 6 "os" 7 8 "github.com/3JoB/vfs" 9 ) 10 11 type noNewDirs struct { 12 vfs.Filesystem 13 } 14 15 func NoNewDirs(fs vfs.Filesystem) *noNewDirs { 16 return &noNewDirs{Filesystem: fs} 17 } 18 19 // Mkdir is disabled 20 func (fs *noNewDirs) Mkdir(name string, perm os.FileMode) error { 21 return errors.New("Mkdir disabled!") 22 } 23 24 func ExampleOsFS_myWrapper() { 25 // Disable Mkdirs on the OS Filesystem 26 var fs vfs.Filesystem = NoNewDirs(vfs.OS()) 27 28 err := fs.Mkdir("/tmp", 0777) 29 if err != nil { 30 fmt.Print("Mkdir disabled!\n") 31 } 32 }