add ut cases for package gerror (#2304)

* add ut cases for package gerror

* add ut cases for package gerror
This commit is contained in:
黄骞 2022-11-17 19:43:54 +08:00 committed by GitHub
parent d445987f95
commit d2113b4d23
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -95,10 +95,14 @@ func Test_Wrapf(t *testing.T) {
t.AssertNE(err, nil)
t.Assert(err.Error(), "1")
})
gtest.C(t, func(t *gtest.T) {
t.Assert(gerror.Wrapf(nil, ""), nil)
})
}
func Test_WrapSkip(t *testing.T) {
gtest.C(t, func(t *gtest.T) {
t.Assert(gerror.WrapSkip(1, nil, "2"), nil)
err := errors.New("1")
err = gerror.WrapSkip(1, err, "2")
err = gerror.WrapSkip(1, err, "3")
@ -122,6 +126,7 @@ func Test_WrapSkip(t *testing.T) {
func Test_WrapSkipf(t *testing.T) {
gtest.C(t, func(t *gtest.T) {
t.Assert(gerror.WrapSkipf(1, nil, "2"), nil)
err := errors.New("1")
err = gerror.WrapSkipf(1, err, "2")
err = gerror.WrapSkipf(1, err, "3")
@ -145,6 +150,7 @@ func Test_WrapSkipf(t *testing.T) {
func Test_Cause(t *testing.T) {
gtest.C(t, func(t *gtest.T) {
t.Assert(gerror.Cause(nil), nil)
err := errors.New("1")
t.Assert(gerror.Cause(err), err)
})
@ -167,6 +173,17 @@ func Test_Cause(t *testing.T) {
err = gerror.Wrap(err, "3")
t.Assert(gerror.Cause(err), "1")
})
gtest.C(t, func(t *gtest.T) {
t.Assert(gerror.Stack(nil), "")
err := errors.New("1")
t.Assert(gerror.Stack(err), err)
})
gtest.C(t, func(t *gtest.T) {
var e *gerror.Error = nil
t.Assert(e.Cause(), nil)
})
}
func Test_Format(t *testing.T) {
@ -229,16 +246,22 @@ func Test_Stack(t *testing.T) {
func Test_Current(t *testing.T) {
gtest.C(t, func(t *gtest.T) {
t.Assert(gerror.Current(nil), nil)
err := errors.New("1")
err = gerror.Wrap(err, "2")
err = gerror.Wrap(err, "3")
t.Assert(err.Error(), "3: 2: 1")
t.Assert(gerror.Current(err).Error(), "3")
})
gtest.C(t, func(t *gtest.T) {
var e *gerror.Error = nil
t.Assert(e.Current(), nil)
})
}
func Test_Unwrap(t *testing.T) {
gtest.C(t, func(t *gtest.T) {
t.Assert(gerror.Unwrap(nil), nil)
err := errors.New("1")
err = gerror.Wrap(err, "2")
err = gerror.Wrap(err, "3")
@ -253,6 +276,10 @@ func Test_Unwrap(t *testing.T) {
err = gerror.Unwrap(err)
t.AssertNil(err)
})
gtest.C(t, func(t *gtest.T) {
var e *gerror.Error = nil
t.Assert(e.Unwrap(), nil)
})
}
func Test_Code(t *testing.T) {
@ -282,6 +309,7 @@ func Test_Code(t *testing.T) {
t.Assert(err.Error(), "123")
})
gtest.C(t, func(t *gtest.T) {
t.Assert(gerror.WrapCode(gcode.New(1, "", nil), nil, "3"), nil)
err := errors.New("1")
err = gerror.Wrap(err, "2")
err = gerror.WrapCode(gcode.New(1, "", nil), err, "3")
@ -289,6 +317,7 @@ func Test_Code(t *testing.T) {
t.Assert(err.Error(), "3: 2: 1")
})
gtest.C(t, func(t *gtest.T) {
t.Assert(gerror.WrapCodef(gcode.New(1, "", nil), nil, "%s", "3"), nil)
err := errors.New("1")
err = gerror.Wrap(err, "2")
err = gerror.WrapCodef(gcode.New(1, "", nil), err, "%s", "3")
@ -296,6 +325,7 @@ func Test_Code(t *testing.T) {
t.Assert(err.Error(), "3: 2: 1")
})
gtest.C(t, func(t *gtest.T) {
t.Assert(gerror.WrapCodeSkip(gcode.New(1, "", nil), 100, nil, "3"), nil)
err := errors.New("1")
err = gerror.Wrap(err, "2")
err = gerror.WrapCodeSkip(gcode.New(1, "", nil), 100, err, "3")
@ -303,6 +333,7 @@ func Test_Code(t *testing.T) {
t.Assert(err.Error(), "3: 2: 1")
})
gtest.C(t, func(t *gtest.T) {
t.Assert(gerror.WrapCodeSkipf(gcode.New(1, "", nil), 100, nil, "%s", "3"), nil)
err := errors.New("1")
err = gerror.Wrap(err, "2")
err = gerror.WrapCodeSkipf(gcode.New(1, "", nil), 100, err, "%s", "3")
@ -311,6 +342,20 @@ func Test_Code(t *testing.T) {
})
}
func TestError_Error(t *testing.T) {
gtest.C(t, func(t *gtest.T) {
var e *gerror.Error = nil
t.Assert(e.Error(), nil)
})
}
func TestError_Code(t *testing.T) {
gtest.C(t, func(t *gtest.T) {
var e *gerror.Error = nil
t.Assert(e.Code(), gcode.CodeNil)
})
}
func Test_SetCode(t *testing.T) {
gtest.C(t, func(t *gtest.T) {
err := gerror.New("123")
@ -321,6 +366,10 @@ func Test_SetCode(t *testing.T) {
t.Assert(gerror.Code(err), gcode.CodeValidationFailed)
t.Assert(err.Error(), "123")
})
gtest.C(t, func(t *gtest.T) {
var err *gerror.Error = nil
err.SetCode(gcode.CodeValidationFailed)
})
}
func Test_Json(t *testing.T) {
@ -353,6 +402,10 @@ func Test_Equal(t *testing.T) {
t.Assert(gerror.Equal(err3, err4), false)
t.Assert(gerror.Equal(err1, err4), false)
})
gtest.C(t, func(t *gtest.T) {
var e = new(gerror.Error)
t.Assert(e.Equal(e), true)
})
}
func Test_Is(t *testing.T) {
@ -375,6 +428,7 @@ func Test_HashError(t *testing.T) {
func Test_HashCode(t *testing.T) {
gtest.C(t, func(t *gtest.T) {
t.Assert(gerror.HasCode(nil, gcode.CodeNotAuthorized), false)
err1 := errors.New("1")
err2 := gerror.WrapCode(gcode.CodeNotAuthorized, err1, "2")
err3 := gerror.Wrap(err2, "3")
@ -385,3 +439,14 @@ func Test_HashCode(t *testing.T) {
t.Assert(gerror.HasCode(err4, gcode.CodeNotAuthorized), true)
})
}
func Test_NewOption(t *testing.T) {
gtest.C(t, func(t *gtest.T) {
t.AssertNE(gerror.NewOption(gerror.Option{
Error: errors.New("NewOptionError"),
Stack: true,
Text: "Text",
Code: gcode.CodeNotAuthorized,
}), gerror.New("NewOptionError"))
})
}