summary refs log tree commit diff stats
path: root/tests/stdlib
diff options
context:
space:
mode:
authorNathan Hoad <nathan@getoffmalawn.com>2015-03-07 12:37:52 +1100
committerNathan Hoad <nathan@getoffmalawn.com>2015-03-07 12:37:52 +1100
commit5978625c12c705a23ea4d2975162f55b160074ea (patch)
treec3cfc0184a564b297606187379e174c1f0a8bd57 /tests/stdlib
parentd27f40d9b1cb2436f435e40cf952dbd19ed6d463 (diff)
downloadNim-5978625c12c705a23ea4d2975162f55b160074ea.tar.gz
Make IP address checking more obvious, and add tests for the net module.
Diffstat (limited to 'tests/stdlib')
-rw-r--r--tests/stdlib/tnet.nim47
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/stdlib/tnet.nim b/tests/stdlib/tnet.nim
new file mode 100644
index 000000000..e8ada05e7
--- /dev/null
+++ b/tests/stdlib/tnet.nim
@@ -0,0 +1,47 @@
+import net
+import unittest
+
+suite "isIpAddress tests":
+  test "127.0.0.1 is valid":
+    check isIpAddress("127.0.0.1") == true
+
+  test "ipv6 localhost is valid":
+    check isIpAddress("::1") == true
+
+  test "fqdn is not an ip address":
+    check isIpAddress("example.com") == false
+
+  test "random string is not an ipaddress":
+    check isIpAddress("foo bar") == false
+
+  test "5127.0.0.1 is invalid":
+    check isIpAddress("5127.0.0.1") == false
+
+  test "ipv6 is valid":
+    check isIpAddress("2001:cdba:0000:0000:0000:0000:3257:9652") == true
+
+  test "invalid ipv6":
+    check isIpAddress("gggg:cdba:0000:0000:0000:0000:3257:9652") == false
+
+
+suite "parseIpAddress tests":
+  test "127.0.0.1 is valid":
+    discard parseIpAddress("127.0.0.1")
+
+  test "ipv6 localhost is valid":
+    discard parseIpAddress("::1")
+
+  test "fqdn is not an ip address":
+    expect(ValueError):
+      discard parseIpAddress("example.com")
+
+  test "random string is not an ipaddress":
+    expect(ValueError):
+      discard parseIpAddress("foo bar")
+
+  test "ipv6 is valid":
+    discard parseIpAddress("2001:cdba:0000:0000:0000:0000:3257:9652")
+
+  test "invalid ipv6":
+    expect(ValueError):
+      discard parseIpAddress("gggg:cdba:0000:0000:0000:0000:3257:9652")