Browse Source

Accept an interface instead of testing.T (#1)

tags/v0.0.3
Crow Crowcrow 8 months ago
committed by Gitea
parent
commit
fe8a28286e
3 changed files with 10 additions and 5 deletions
  1. +1
    -2
      assert.go
  2. +2
    -3
      helper.go
  3. +7
    -0
      type.go

+ 1
- 2
assert.go View File

@@ -3,14 +3,13 @@ package assert
import (
"reflect"
"runtime"
"testing"
)

// Assert is a helper for tests
type Assert func(bool, ...interface{})

// New returns a new Assert
func New(t *testing.T) Assert {
func New(t T) Assert {
a := func(ok bool, msg ...interface{}) {
if !ok {
if msg == nil {


+ 2
- 3
helper.go View File

@@ -5,7 +5,6 @@ import (
"reflect"
"runtime"
"strconv"
"testing"
)

func prepMsg(msg []interface{}, format string, args ...interface{}) []interface{} {
@@ -16,9 +15,9 @@ func shell(i int) string {
return "\x1B[" + strconv.Itoa(i) + "m"
}

var ts = map[*runtime.Func]*testing.T{}
var ts = map[*runtime.Func]T{}

func t(a Assert) *testing.T {
func t(a Assert) T {
f := runtime.FuncForPC(reflect.ValueOf(a).Pointer())
return ts[f]
}

+ 7
- 0
type.go View File

@@ -0,0 +1,7 @@
package assert

// T is an interface of what we use from testing.T
type T interface {
Error(...interface{})
Helper()
}

Loading…
Cancel
Save