github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/Unknwon/com/dir_test.go (about)

     1  // Copyright 2013 com authors
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License"): you may
     4  // not use this file except in compliance with the License. You may obtain
     5  // a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
    11  // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
    12  // License for the specific language governing permissions and limitations
    13  // under the License.
    14  
    15  package com
    16  
    17  import (
    18  	"os"
    19  	"testing"
    20  
    21  	. "github.com/insionng/yougam/libraries/smartystreets/goconvey/convey"
    22  )
    23  
    24  func TestIsDir(t *testing.T) {
    25  	Convey("Check if given path is a directory", t, func() {
    26  		Convey("Pass a file name", func() {
    27  			So(IsDir("file.go"), ShouldEqual, false)
    28  		})
    29  		Convey("Pass a directory name", func() {
    30  			So(IsDir("testdata"), ShouldEqual, true)
    31  		})
    32  		Convey("Pass a invalid path", func() {
    33  			So(IsDir("foo"), ShouldEqual, false)
    34  		})
    35  	})
    36  }
    37  
    38  func TestCopyDir(t *testing.T) {
    39  	Convey("Items of two slices should be same", t, func() {
    40  		_, err := StatDir("testdata", true)
    41  		So(err, ShouldEqual, nil)
    42  
    43  		err = CopyDir("testdata", "testdata2")
    44  		So(err, ShouldEqual, nil)
    45  
    46  		_, err = StatDir("testdata2", true)
    47  		os.RemoveAll("testdata2")
    48  		So(err, ShouldEqual, nil)
    49  	})
    50  }
    51  
    52  func BenchmarkIsDir(b *testing.B) {
    53  	for i := 0; i < b.N; i++ {
    54  		IsDir("file.go")
    55  	}
    56  }