diff --git a/exec/tests/global/nettype.js b/exec/tests/global/nettype.js new file mode 100644 index 0000000000000000000000000000000000000000..ec3b97465ee28526f1444e55fd299b302397e6cb --- /dev/null +++ b/exec/tests/global/nettype.js @@ -0,0 +1,60 @@ +load('sbbsdefs.js'); + +function nettype(t) +{ + switch(Number(t)) { + case NET_NONE: return "none"; + case NET_UNKNOWN: return "unknown"; + case NET_INTERNET: return "Internet"; + case NET_QWK: return "QWKnet"; + case NET_FIDO: return "FidoNet"; + } + return format("???(%s)", t); +} + +var test = []; +test[NET_NONE] = [ + null, + undefined, + "", + " ", + "-", + " user@addr", + "user @host.name", + "user name@host.name", +]; + +test[NET_UNKNOWN] = [ + "@user", + "user@addr ", +]; + +test[NET_INTERNET] = [ + "user@192.168.1.2", + "user.name@1.2.3.4", + "user@host.name", + "user.name@host.name.tld", +]; + +test[NET_FIDO] = [ + "user@1", + "user@1/2", + "user@1:2/3", + "user@1:2/3.4", + "user name @ 1:2/3", +]; + +test[NET_QWK] = [ + "1@VERT", + "digital man@VERT", + "digital man @ VERT", +]; + + +for(var t in test) { + for(var i in test[t]) { + var type = netaddr_type(test[t][i]); + if(type != t) + throw new Error(format("'%s'", test[t][i]) + ' = ' + nettype(type) + ' != ' + nettype(t)); + } +}