From 3df0bce8cb6ab84ba71de599e0843b7f2f75d3d1 Mon Sep 17 00:00:00 2001 From: Joshua Elliott Date: Tue, 21 May 2013 13:12:38 -0600 Subject: [PATCH 1/2] Fix typo in doc.go --- assert/doc.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assert/doc.go b/assert/doc.go index 196d07e..4408246 100644 --- a/assert/doc.go +++ b/assert/doc.go @@ -47,7 +47,7 @@ // // assert.Error(t, errorObject [, message [, format-args]]) // -// assert.NotError(t, errorObject [, message [, format-args]]) +// assert.NoError(t, errorObject [, message [, format-args]]) // // assert.Implements(t, (*MyInterface)(nil), new(MyObject) [,message [, format-args]]) // From d35afcda84cdab5a566ef6739bc445ef5c51a21e Mon Sep 17 00:00:00 2001 From: Joshua Elliott Date: Thu, 23 May 2013 14:54:54 -0600 Subject: [PATCH 2/2] Don't panic when underlying type is not .IsNil()-able (eg. string) --- assert/assertions.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/assert/assertions.go b/assert/assertions.go index 2088467..03f5b52 100644 --- a/assert/assertions.go +++ b/assert/assertions.go @@ -173,8 +173,12 @@ func NotNil(t *testing.T, object interface{}, msgAndArgs ...interface{}) bool { if object == nil { success = false - } else if reflect.ValueOf(object).IsNil() { - success = false + } else { + value := reflect.ValueOf(object) + kind := value.Kind() + if kind >= reflect.Chan && kind <= reflect.Slice && value.IsNil() { + success = false + } } if !success { @@ -201,8 +205,12 @@ func Nil(t *testing.T, object interface{}, msgAndArgs ...interface{}) bool { if object == nil { return true - } else if reflect.ValueOf(object).IsNil() { - return true + } else { + value := reflect.ValueOf(object) + kind := value.Kind() + if kind >= reflect.Chan && kind <= reflect.Slice && value.IsNil() { + return true + } } if len(message) > 0 {