github.com/epfl-dcsl/gotee@v0.0.0-20200909122901-014b35f5e5e9/src/path/example_test.go (about) 1 // Copyright 2012 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 path_test 6 7 import ( 8 "fmt" 9 "path" 10 ) 11 12 func ExampleBase() { 13 fmt.Println(path.Base("/a/b")) 14 fmt.Println(path.Base("/")) 15 fmt.Println(path.Base("")) 16 // Output: 17 // b 18 // / 19 // . 20 } 21 22 func ExampleClean() { 23 paths := []string{ 24 "a/c", 25 "a//c", 26 "a/c/.", 27 "a/c/b/..", 28 "/../a/c", 29 "/../a/b/../././/c", 30 "", 31 } 32 33 for _, p := range paths { 34 fmt.Printf("Clean(%q) = %q\n", p, path.Clean(p)) 35 } 36 37 // Output: 38 // Clean("a/c") = "a/c" 39 // Clean("a//c") = "a/c" 40 // Clean("a/c/.") = "a/c" 41 // Clean("a/c/b/..") = "a/c" 42 // Clean("/../a/c") = "/a/c" 43 // Clean("/../a/b/../././/c") = "/a/c" 44 // Clean("") = "." 45 } 46 47 func ExampleDir() { 48 fmt.Println(path.Dir("/a/b/c")) 49 fmt.Println(path.Dir("a/b/c")) 50 fmt.Println(path.Dir("/a/")) 51 fmt.Println(path.Dir("a/")) 52 fmt.Println(path.Dir("/")) 53 fmt.Println(path.Dir("")) 54 // Output: 55 // /a/b 56 // a/b 57 // /a 58 // a 59 // / 60 // . 61 } 62 63 func ExampleExt() { 64 fmt.Println(path.Ext("/a/b/c/bar.css")) 65 fmt.Println(path.Ext("/")) 66 fmt.Println(path.Ext("")) 67 // Output: 68 // .css 69 // 70 // 71 } 72 73 func ExampleIsAbs() { 74 fmt.Println(path.IsAbs("/dev/null")) 75 // Output: true 76 } 77 78 func ExampleJoin() { 79 fmt.Println(path.Join("a", "b", "c")) 80 fmt.Println(path.Join("a", "b/c")) 81 fmt.Println(path.Join("a/b", "c")) 82 fmt.Println(path.Join("", "")) 83 fmt.Println(path.Join("a", "")) 84 fmt.Println(path.Join("", "a")) 85 // Output: 86 // a/b/c 87 // a/b/c 88 // a/b/c 89 // 90 // a 91 // a 92 } 93 94 func ExampleSplit() { 95 fmt.Println(path.Split("static/myfile.css")) 96 fmt.Println(path.Split("myfile.css")) 97 fmt.Println(path.Split("")) 98 // Output: 99 // static/ myfile.css 100 // myfile.css 101 // 102 }