Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
example_test.go107 linesDownload Raw Back to fs
1// Copyright 2021 The Go Authors. All rights reserved.2// Use of this source code is governed by a BSD-style3// license that can be found in the LICENSE file.4 5package fs_test6 7import (8	"fmt"9	"io/fs"10	"log"11	"os"12	"testing/fstest"13)14 15func ExampleGlob() {16	fsys := fstest.MapFS{17		"file.txt":        {},18		"file.go":         {},19		"dir/file.txt":    {},20		"dir/file.go":     {},21		"dir/subdir/x.go": {},22	}23 24	patterns := []string{25		"*.txt",26		"*.go",27		"dir/*.go",28		"dir/*/x.go",29	}30 31	for _, pattern := range patterns {32		matches, err := fs.Glob(fsys, pattern)33		if err != nil {34			log.Fatal(err)35		}36		fmt.Printf("%q matches: %v\n", pattern, matches)37	}38 39	// Output:40	// "*.txt" matches: [file.txt]41	// "*.go" matches: [file.go]42	// "dir/*.go" matches: [dir/file.go]43	// "dir/*/x.go" matches: [dir/subdir/x.go]44}45 46func ExampleReadFile() {47	fsys := fstest.MapFS{48		"hello.txt": {49			Data: []byte("Hello, World!\n"),50		},51	}52 53	data, err := fs.ReadFile(fsys, "hello.txt")54	if err != nil {55		log.Fatal(err)56	}57 58	fmt.Print(string(data))59 60	// Output:61	// Hello, World!62}63 64func ExampleValidPath() {65	paths := []string{66		".",67		"x",68		"x/y/z",69		"",70		"..",71		"/x",72		"x/",73		"x//y",74		"x/./y",75		"x/../y",76	}77 78	for _, path := range paths {79		fmt.Printf("ValidPath(%q) = %t\n", path, fs.ValidPath(path))80	}81 82	// Output:83	// ValidPath(".") = true84	// ValidPath("x") = true85	// ValidPath("x/y/z") = true86	// ValidPath("") = false87	// ValidPath("..") = false88	// ValidPath("/x") = false89	// ValidPath("x/") = false90	// ValidPath("x//y") = false91	// ValidPath("x/./y") = false92	// ValidPath("x/../y") = false93}94 95func ExampleWalkDir() {96	root := "/usr/local/go/bin"97	fileSystem := os.DirFS(root)98 99	fs.WalkDir(fileSystem, ".", func(path string, d fs.DirEntry, err error) error {100		if err != nil {101			log.Fatal(err)102		}103		fmt.Println(path)104		return nil105	})106}107 
codekingpro/portable-devtools · Team Ai