github.com/gofunct/common@v0.0.0-20190131174352-fd058c7fbf22/pkg/temp/temptest/dir_test.go (about)

     1  package temptest
     2  
     3  import (
     4  	"io"
     5  	"testing"
     6  )
     7  
     8  func TestFakeDir(t *testing.T) {
     9  	d := &FakeDir{}
    10  
    11  	f, err := d.NewFile("ONE")
    12  	if err != nil {
    13  		t.Fatal(err)
    14  	}
    15  
    16  	n, err := io.WriteString(f, "Bonjour!")
    17  	if n != 8 || err != nil {
    18  		t.Fatalf(
    19  			`WriteString(f, "Bonjour!") = (%v, %v), expected (%v, %v)`,
    20  			n, err,
    21  			0, nil,
    22  		)
    23  	}
    24  	if got := d.Files["ONE"].Buffer.String(); got != "Bonjour!" {
    25  		t.Fatalf(`file content is %q, expected "Bonjour!"`, got)
    26  	}
    27  
    28  	f, err = d.NewFile("ONE")
    29  	if err == nil {
    30  		t.Fatal("Same file could be created twice.")
    31  	}
    32  
    33  	err = d.Delete()
    34  	if err != nil {
    35  		t.Fatal(err)
    36  	}
    37  
    38  	err = d.Delete()
    39  	if err == nil {
    40  		t.Fatal("FakeDir could be deleted twice.")
    41  	}
    42  
    43  	f, err = d.NewFile("TWO")
    44  	if err == nil {
    45  		t.Fatal("NewFile could be created in deleted dir")
    46  	}
    47  
    48  	if !d.Deleted {
    49  		t.Fatal("FakeDir should be deleted.")
    50  	}
    51  }