...

Source file src/cdr.dev/slog/sloggers/slogtest/assert/assert_test.go

Documentation: cdr.dev/slog/sloggers/slogtest/assert

     1  package assert_test
     2  
     3  import (
     4  	"fmt"
     5  	"io"
     6  	"testing"
     7  
     8  	simpleassert "cdr.dev/slog/internal/assert"
     9  	"cdr.dev/slog/sloggers/slogtest/assert"
    10  )
    11  
    12  func TestEqual(t *testing.T) {
    13  	t.Parallel()
    14  
    15  	tb := &fakeTB{}
    16  	assert.Equal(tb, "meow", 3, 3)
    17  
    18  	defer func() {
    19  		recover()
    20  		simpleassert.Equal(t, "fatals", 1, tb.fatals)
    21  	}()
    22  	assert.Equal(tb, "meow", 3, 4)
    23  }
    24  
    25  func TestEqual_error(t *testing.T) {
    26  	t.Parallel()
    27  
    28  	tb := &fakeTB{}
    29  	assert.Equal(tb, "meow", io.EOF, fmt.Errorf("failed: %w", io.EOF))
    30  
    31  	defer func() {
    32  		recover()
    33  		simpleassert.Equal(t, "fatals", 1, tb.fatals)
    34  	}()
    35  	assert.Equal(tb, "meow", io.ErrClosedPipe, fmt.Errorf("failed: %w", io.EOF))
    36  }
    37  
    38  func TestErrorContains(t *testing.T) {
    39  	t.Parallel()
    40  
    41  	tb := &fakeTB{}
    42  	assert.ErrorContains(tb, "meow", io.EOF, "eof")
    43  
    44  	defer func() {
    45  		recover()
    46  		simpleassert.Equal(t, "fatals", 1, tb.fatals)
    47  
    48  	}()
    49  	assert.ErrorContains(tb, "meow", io.ErrClosedPipe, "eof")
    50  
    51  }
    52  func TestSuccess(t *testing.T) {
    53  	t.Parallel()
    54  
    55  	tb := &fakeTB{}
    56  	assert.Success(tb, "meow", nil)
    57  
    58  	defer func() {
    59  		recover()
    60  		simpleassert.Equal(t, "fatals", 1, tb.fatals)
    61  	}()
    62  	assert.Success(tb, "meow", io.EOF)
    63  }
    64  
    65  func TestTrue(t *testing.T) {
    66  	t.Parallel()
    67  
    68  	tb := &fakeTB{}
    69  	assert.True(tb, "meow", true)
    70  
    71  	defer func() {
    72  		recover()
    73  		simpleassert.Equal(t, "fatals", 1, tb.fatals)
    74  	}()
    75  	assert.True(tb, "meow", false)
    76  }
    77  
    78  func TestFalse(t *testing.T) {
    79  	t.Parallel()
    80  
    81  	tb := &fakeTB{}
    82  	assert.False(tb, "woof", false)
    83  
    84  	defer func() {
    85  		recover()
    86  		simpleassert.Equal(t, "fatals", 1, tb.fatals)
    87  	}()
    88  	assert.False(tb, "woof", true)
    89  }
    90  
    91  func TestError(t *testing.T) {
    92  	t.Parallel()
    93  
    94  	tb := &fakeTB{}
    95  	assert.Error(tb, "meow", io.EOF)
    96  
    97  	defer func() {
    98  		recover()
    99  		simpleassert.Equal(t, "fatals", 1, tb.fatals)
   100  	}()
   101  	assert.Error(tb, "meow", nil)
   102  }
   103  
   104  type fakeTB struct {
   105  	testing.TB
   106  
   107  	errors int
   108  	fatals int
   109  }
   110  
   111  func (tb *fakeTB) Helper() {}
   112  
   113  func (tb *fakeTB) Log(v ...interface{}) {}
   114  
   115  func (tb *fakeTB) Error(v ...interface{}) {
   116  	tb.errors++
   117  }
   118  
   119  func (tb *fakeTB) Fatal(v ...interface{}) {
   120  	tb.fatals++
   121  	panic(fmt.Sprint(v...))
   122  }
   123  

View as plain text