v / vlib / net / utils_test.v
47 lines · 43 sloc · 981 bytes · eb1e776a56df0557682ab9185f398f7e15396b24
Raw
1import net
2
3fn test_validate() {
4 assert net.validate_port(0)! == 0
5 assert net.validate_port(1)! == 1
6 assert net.validate_port(0xFFFF)! == 0xFFFF
7 if _ := net.validate_port(0xFFFF + 1) {
8 assert false
9 } else {
10 assert true
11 }
12 if x := net.validate_port(-2) {
13 dump(x)
14 assert false
15 } else {
16 assert true
17 }
18}
19
20fn test_resolve() {
21 x := net.resolve_addrs_fuzzy('[::1]:10093', .udp)!
22 assert x.len > 0
23 assert x[0].str() == '[::1]:10093'
24 assert x[0].port()! == 10093
25}
26
27fn test_resolve_port_without_brackets() {
28 x := net.resolve_addrs_fuzzy('::1:48872', .udp)!
29 assert x.len > 0
30 assert x[0].port()! == 48872
31}
32
33fn test_resolve_invalid_host_reports_getaddrinfo_error() {
34 if _ := net.resolve_addrs_fuzzy('definitely-not-a-real-hostname-for-v-tests.invalid:12345',
35 .tcp)
36 {
37 assert false
38 } else {
39 msg := err.msg()
40 $if windows {
41 assert msg.len > 0
42 } $else {
43 assert msg.starts_with('net: getaddrinfo failed:')
44 assert !msg.contains('socket error')
45 }
46 }
47}
48