Browse Source

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

pull/2/head v0.0.3
Crow Crowcrow 2 years ago
committed by Gitea
parent
commit
fe8a28286e
  1. 3
      assert.go
  2. 5
      helper.go
  3. 7
      type.go

3
assert.go

@ -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 {

5
helper.go

@ -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
type.go

@ -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