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

     1  package temptest
     2  
     3  import (
     4  	"io"
     5  	"testing"
     6  )
     7  
     8  func TestFakeFile(t *testing.T) {
     9  	f := &FakeFile{}
    10  
    11  	n, err := io.WriteString(f, "Bonjour!")
    12  	if n != 8 || err != nil {
    13  		t.Fatalf(
    14  			`WriteString(f, "Bonjour!") = (%v, %v), expected (%v, %v)`,
    15  			n, err,
    16  			8, nil,
    17  		)
    18  	}
    19  
    20  	err = f.Close()
    21  	if err != nil {
    22  		t.Fatal(err)
    23  	}
    24  
    25  	// File can't be closed twice.
    26  	err = f.Close()
    27  	if err == nil {
    28  		t.Fatal("FakeFile could be closed twice")
    29  	}
    30  
    31  	// File is not writable after close.
    32  	n, err = io.WriteString(f, "Bonjour!")
    33  	if n != 0 || err == nil {
    34  		t.Fatalf(
    35  			`WriteString(f, "Bonjour!") = (%v, %v), expected (%v, %v)`,
    36  			n, err,
    37  			0, "non-nil",
    38  		)
    39  	}
    40  }