Files
4566704 b5c3c0c17c feat(ipquery): 自 go-hua 迁入 IP/域名归属地查询
- 基于 ip2region xdb 全内存加载, 新增依赖 lionsoul2014/ip2region
- 附测试、examples/ipquery 例程与包 README(含 xdb 获取说明)
2026-09-20 12:29:37 +08:00

39 lines
1.0 KiB
Go

package ipquery
import "testing"
func TestStringToUint32(t *testing.T) {
// 192.168.1.1 = 0xC0A80101
got, err := StringToUint32("192.168.1.1")
if err != nil {
t.Fatalf("StringToUint32: %v", err)
}
if got != 3232235777 {
t.Errorf("StringToUint32(192.168.1.1) = %d, want 3232235777", got)
}
if got2, _ := StringToUint32("0.0.0.0"); got2 != 0 {
t.Errorf("StringToUint32(0.0.0.0) = %d, want 0", got2)
}
}
func TestStringToUint32Invalid(t *testing.T) {
if _, err := StringToUint32("not-an-ip"); err == nil {
t.Error("非法字符串应返回错误")
}
if _, err := StringToUint32("::1"); err == nil {
t.Error("IPv6 无 IPv4 映射应返回错误")
}
}
func TestRegexpDns(t *testing.T) {
if err := RegexpDns("www.baidu.com"); err != nil {
t.Errorf("合法域名不应报错: %v", err)
}
if err := RegexpDns("sub.domain.example.org"); err != nil {
t.Errorf("合法域名不应报错: %v", err)
}
if err := RegexpDns("不是域名!!!"); err == nil {
t.Error("无字母数字的字符串应判定非法")
}
}