summaryrefslogtreecommitdiffstats
path: root/src/path/example_test.go
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 13:18:25 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 13:18:25 +0000
commit109be507377fe7f6e8819ac94041d3fdcdf6fd2f (patch)
tree2806a689f8fab4a2ec9fc949830ef270a91d667d /src/path/example_test.go
parentInitial commit. (diff)
downloadgolang-1.19-109be507377fe7f6e8819ac94041d3fdcdf6fd2f.tar.xz
golang-1.19-109be507377fe7f6e8819ac94041d3fdcdf6fd2f.zip
Adding upstream version 1.19.8.upstream/1.19.8upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/path/example_test.go')
-rw-r--r--src/path/example_test.go121
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: ""
+}