]> Cypherpunks.ru repositories - gostls13.git/blob - src/path/example_test.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / src / path / example_test.go
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
83         fmt.Println(path.Join("a/b", "../../../xyz"))
84
85         fmt.Println(path.Join("", ""))
86         fmt.Println(path.Join("a", ""))
87         fmt.Println(path.Join("", "a"))
88
89         // Output:
90         // a/b/c
91         // a/b/c
92         // a/b/c
93         // ../xyz
94         //
95         // a
96         // a
97 }
98
99 func ExampleMatch() {
100         fmt.Println(path.Match("abc", "abc"))
101         fmt.Println(path.Match("a*", "abc"))
102         fmt.Println(path.Match("a*/b", "a/c/b"))
103         // Output:
104         // true <nil>
105         // true <nil>
106         // false <nil>
107 }
108
109 func ExampleSplit() {
110         split := func(s string) {
111                 dir, file := path.Split(s)
112                 fmt.Printf("path.Split(%q) = dir: %q, file: %q\n", s, dir, file)
113         }
114         split("static/myfile.css")
115         split("myfile.css")
116         split("")
117         // Output:
118         // path.Split("static/myfile.css") = dir: "static/", file: "myfile.css"
119         // path.Split("myfile.css") = dir: "", file: "myfile.css"
120         // path.Split("") = dir: "", file: ""
121 }