package fserr import ( "fmt" "testing" ) func TestNew(t *testing.T) { expected := "test" err := New(expected) if err.Error() != expected { t.Errorf("expected %s but not", expected) } if fmt.Sprintf("%s", err) != expected { t.Errorf("expected %s but not", expected) } if fmt.Sprintf("%v", err) != expected { t.Errorf("expected %s but not", expected) } if fmt.Sprintf("%q", err) != `"test"` { t.Errorf("expected %s but not", expected) } } func TestWrap(t *testing.T) { expected := "wrap: test" err := Wrap(New("test"), "wrap") if err.Error() != expected { t.Errorf("expected %s but not", expected) } if fmt.Sprintf("%s", err) != expected { t.Errorf("expected %s but not", expected) } if fmt.Sprintf("%v", err) != expected { t.Errorf("expected %s but not", expected) } if fmt.Sprintf("%q", err) != `"wrap: test"` { t.Errorf("expected %s but not", expected) } } func TestCause(t *testing.T) { origin := New("origin") err := Wrap(origin, "wrap") err = UmWrap(err) if err != origin { t.Errorf("expected %s but not", "origin") } } func TestCodeExt(t *testing.T) { origin := New("record not found") NewNotFound(100101, "用户不存在") out := WithCode(origin, 100101) _, _, ext := Ext(out) if ext != "用户不存在" { t.Errorf("expected %s but not", "用户不存在") } }