| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- package def_err
- import (
- "fmt"
- "testing"
- "gitp78su.ipnodns.ru/svi/kern/v4/d0/defs/table/owner"
- )
- type tester struct {
- t *testing.T
- owner *owner.LOwner
- err *LErr
- }
- func TestLetErr(t *testing.T) {
- sf := &tester{
- t: t,
- owner: owner.LetOwner(1, "test_owner"),
- }
- sf.let()
- sf.wrap()
- }
- // Оборачивает ошибку
- func (sf *tester) wrap() {
- sf.t.Log("wrap")
- err := sf.err
- sf.err = sf.err.WrapErr(sf.owner, fmt.Errorf("add err"))
- strErr := sf.err.String()
- _err := `LTxt(
- OwnerPass(OwnerPass(
- ownerDest(LOwner(
- id(1)
- name(test_owner)
- ))
- ownerCur(LOwner(
- id(1)
- name(test_owner)
- ))
- ))
- Val(LTxt(
- OwnerPass(OwnerPass(
- ownerDest(LOwner(
- id(1)
- name(test_owner)
- ))
- ownerCur(LOwner(
- id(1)
- name(test_owner)
- ))
- ))
- Val(test_good_err)
- )
- add err)
- )`
- if strErr != _err {
- sf.t.Fatalf("wrap(): err=\n\t%v", strErr)
- }
- sf.err = err.WrapTxt(sf.owner, "456")
- strErr = sf.err.String()
- _err = `LTxt(
- OwnerPass(OwnerPass(
- ownerDest(LOwner(
- id(1)
- name(test_owner)
- ))
- ownerCur(LOwner(
- id(1)
- name(test_owner)
- ))
- ))
- Val(LTxt(
- OwnerPass(OwnerPass(
- ownerDest(LOwner(
- id(1)
- name(test_owner)
- ))
- ownerCur(LOwner(
- id(1)
- name(test_owner)
- ))
- ))
- Val(test_good_err)
- )
- 456)
- )`
- if strErr != _err {
- sf.t.Fatalf("wrap(): err=\n\t%v", strErr)
- }
- }
- // Создание ошибки
- func (sf *tester) let() {
- sf.t.Log("let")
- sf.letBad1()
- sf.letGood1()
- }
- func (sf *tester) letGood1() {
- sf.t.Log("letGood1")
- sf.err = LetErr(sf.owner, "test_good_err")
- if !sf.err.IsErr() {
- sf.t.Fatalf("letGood1(): strErr is empty")
- }
- }
- // Нет владельца для ошибка
- func (sf *tester) letBad1() {
- sf.t.Log("letBad1")
- defer func() {
- if _panic := recover(); _panic == nil {
- sf.t.Log("letBad1(): panic==nil")
- }
- }()
- _ = LetErr(nil, "test_bad_err")
- }
|