Home | History | Annotate | Download | only in path
      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 }
    103