diff options
Diffstat (limited to 'src/path/example_test.go')
-rw-r--r-- | src/path/example_test.go | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/src/path/example_test.go b/src/path/example_test.go new file mode 100644 index 0000000..e30ebd1 --- /dev/null +++ b/src/path/example_test.go @@ -0,0 +1,121 @@ +// Copyright 2012 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 path_test + +import ( + "fmt" + "path" +) + +func ExampleBase() { + fmt.Println(path.Base("/a/b")) + fmt.Println(path.Base("/")) + fmt.Println(path.Base("")) + // Output: + // b + // / + // . +} + +func ExampleClean() { + paths := []string{ + "a/c", + "a//c", + "a/c/.", + "a/c/b/..", + "/../a/c", + "/../a/b/../././/c", + "", + } + + for _, p := range paths { + fmt.Printf("Clean(%q) = %q\n", p, path.Clean(p)) + } + + // Output: + // Clean("a/c") = "a/c" + // Clean("a//c") = "a/c" + // Clean("a/c/.") = "a/c" + // Clean("a/c/b/..") = "a/c" + // Clean("/../a/c") = "/a/c" + // Clean("/../a/b/../././/c") = "/a/c" + // Clean("") = "." +} + +func ExampleDir() { + fmt.Println(path.Dir("/a/b/c")) + fmt.Println(path.Dir("a/b/c")) + fmt.Println(path.Dir("/a/")) + fmt.Println(path.Dir("a/")) + fmt.Println(path.Dir("/")) + fmt.Println(path.Dir("")) + // Output: + // /a/b + // a/b + // /a + // a + // / + // . +} + +func ExampleExt() { + fmt.Println(path.Ext("/a/b/c/bar.css")) + fmt.Println(path.Ext("/")) + fmt.Println(path.Ext("")) + // Output: + // .css + // + // +} + +func ExampleIsAbs() { + fmt.Println(path.IsAbs("/dev/null")) + // Output: true +} + +func ExampleJoin() { + fmt.Println(path.Join("a", "b", "c")) + fmt.Println(path.Join("a", "b/c")) + fmt.Println(path.Join("a/b", "c")) + + fmt.Println(path.Join("a/b", "../../../xyz")) + + fmt.Println(path.Join("", "")) + fmt.Println(path.Join("a", "")) + fmt.Println(path.Join("", "a")) + + // Output: + // a/b/c + // a/b/c + // a/b/c + // ../xyz + // + // a + // a +} + +func ExampleMatch() { + fmt.Println(path.Match("abc", "abc")) + fmt.Println(path.Match("a*", "abc")) + fmt.Println(path.Match("a*/b", "a/c/b")) + // Output: + // true <nil> + // true <nil> + // false <nil> +} + +func ExampleSplit() { + split := func(s string) { + dir, file := path.Split(s) + fmt.Printf("path.Split(%q) = dir: %q, file: %q\n", s, dir, file) + } + split("static/myfile.css") + split("myfile.css") + split("") + // Output: + // path.Split("static/myfile.css") = dir: "static/", file: "myfile.css" + // path.Split("myfile.css") = dir: "", file: "myfile.css" + // path.Split("") = dir: "", file: "" +} |