go.mway.dev/x@v0.0.0-20240520034138-950aede9a3fb/os/tempdir/tempdir_internals_test.go (about)

     1  package tempdir
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  	"go.mway.dev/errors"
     8  	"go.mway.dev/x/stub"
     9  )
    10  
    11  func TestWith_Error(t *testing.T) {
    12  	var (
    13  		wantErr   = errors.New(t.Name())
    14  		mkdirTemp = func(_ string, _ string) (string, error) {
    15  			return "", wantErr
    16  		}
    17  	)
    18  
    19  	stub.With(&_osMkdirTemp, mkdirTemp, func() {
    20  		require.ErrorIs(t, With(func(string) { /* nop */ }), wantErr)
    21  	})
    22  }
    23  
    24  func TestDir_CloseError(t *testing.T) {
    25  	var (
    26  		wantErr   = errors.New(t.Name())
    27  		removeAll = func(string) error {
    28  			return wantErr
    29  		}
    30  	)
    31  
    32  	stub.With(&_osRemoveAll, removeAll, func() {
    33  		d, err := New()
    34  		require.NoError(t, err)
    35  		require.ErrorIs(t, d.Close(), wantErr)
    36  	})
    37  }