Skip to content

Commit fadb323

Browse files
committed
add testable example
1 parent 682f89d commit fadb323

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

checkip_test.go

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package checkip
2+
3+
import (
4+
"encoding/json"
5+
"fmt"
6+
"log"
7+
"net"
8+
)
9+
10+
// WellKnown implements checkip.Info.
11+
type WellKnown bool
12+
13+
func (wk WellKnown) Json() ([]byte, error) {
14+
return json.Marshal(wk)
15+
}
16+
17+
func (wk WellKnown) Summary() string {
18+
return fmt.Sprintf("%v", wk)
19+
}
20+
21+
// IsWellKnown implements checkip.Check.
22+
func IsWellKnown(ipaddr net.IP) (Result, error) {
23+
res := Result{Name: "well known"}
24+
25+
wellKnown := []net.IP{
26+
net.ParseIP("1.1.1.1"),
27+
net.ParseIP("4.4.4.4"),
28+
net.ParseIP("8.8.8.8"),
29+
}
30+
31+
for _, wk := range wellKnown {
32+
if string(ipaddr) == string(wk) {
33+
res.Info = WellKnown(true)
34+
}
35+
}
36+
37+
return res, nil
38+
}
39+
40+
func Example() {
41+
ipaddr := net.ParseIP("1.1.1.1")
42+
result, err := IsWellKnown(ipaddr)
43+
if err != nil {
44+
log.Fatal(err)
45+
}
46+
fmt.Println(result)
47+
// Output: {well known Info false true}
48+
}

0 commit comments

Comments
 (0)