test(go): 添加 errors.AsType、net 及手机号正则匹配测试

This commit is contained in:
张育新 2026-08-08 18:20:19 +08:00
parent a2dbd51f35
commit 722a5b13e0
3 changed files with 65 additions and 0 deletions

View File

@ -0,0 +1,34 @@
package error
import (
"errors"
"fmt"
"testing"
)
type MatchError struct {
code int
err error
}
func (e *MatchError) Error() string {
return fmt.Sprintf("code: %d, error: %v", e.code, e.err)
}
func GetMatchError() error {
return &MatchError{code: 1, err: errors.New("123")}
}
func GetError() error {
return errors.New("123")
}
func TestError(t *testing.T) {
if err, ok := errors.AsType[*MatchError](GetMatchError()); ok {
t.Log(err)
} else {
t.Errorf("expected MatchError, got %T", GetMatchError())
}
if err, ok := errors.AsType[*MatchError](GetError()); ok {
t.Log(err)
} else {
t.Errorf("expected MatchError, got %T", GetError())
}
}

View File

@ -0,0 +1,18 @@
package net
import (
"net"
"testing"
)
func TestNet(t *testing.T) {
s := net.JoinHostPort("127.0.0.1", "8080")
t.Log(s)
t.Log(s)
addrs, err := net.LookupAddr("198.18.0.18")
if err != nil {
t.Fatal(err)
}
t.Log(addrs)
}

View File

@ -19,3 +19,16 @@ func TestChineseRegExp(t *testing.T) {
t.Errorf("Expected [世, 界], got %v", matchStrSlice)
}
}
func TestChinaMobile(t *testing.T) {
reg, err := regexp.Compile(`^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$`)
if err != nil {
t.Errorf("Failed to compile regex: %v", err)
}
// matchStrSlice := reg.FindAllString("123-12345678 1234-12345678", -1)
// if len(matchStrSlice) != 2 {
// t.Errorf("Expected 2 matches, got %d", len(matchStrSlice))
// }
matchStrSlice := reg.FindAllString("17623862704", -1)
t.Log(matchStrSlice[0])
}