public MFTestResults FileScheme() { MFTestResults result = MFTestResults.Pass; var sUris = new string[] { "file://", "file:///", "file:////", "file://c", "file:///c", "file:////c", }; var parseds = new ParsedUri[] { new ParsedUri("file", string.Empty, UriHostNameType.Basic, -1, "/", "file:///"), new ParsedUri("file", string.Empty, UriHostNameType.Basic, -1, "/", "file:///"), new ParsedUri("file", string.Empty, UriHostNameType.Basic, -1, "//", "file:////"), new ParsedUri("file", "c", UriHostNameType.Dns, -1, "/", "file://c/"), new ParsedUri("file", string.Empty, UriHostNameType.Basic, -1, "/c", "file:///c"), new ParsedUri("file", "c", UriHostNameType.Dns, -1, "/", "file://c/"), }; for (int i = 0; i < sUris.Length; i++) { uri = new Uri(sUris[i]); if (!parseds[i].ValidUri(uri)) { result = MFTestResults.Fail; } } return(result); }
public MFTestResults MoreSchemes() { MFTestResults result = MFTestResults.Pass; var sUris = new string[] { "ws://ws.pusherapp.com:80/app/?client=js&version=1.9.3&protocol=5", "\tftp://abc.com ", "ldap://[2001:db8::7]/c=GB?objectClass?one", "mailto:[email protected]", "mailto://abc/d", "news:comp.infosystems.www.servers.unix", "tel:+1-816-555-1212", "telnet://192.0.2.16:80/", "h323:abc", "h323://abc/d" }; var parseds = new ParsedUri[] { new ParsedUri("ws", "ws.pusherapp.com", UriHostNameType.Dns, 80, "/app/?client=js&version=1.9.3&protocol=5", "ws://ws.pusherapp.com/app/?client=js&version=1.9.3&protocol=5"), new ParsedUri("ftp", "abc.com", UriHostNameType.Dns, 21, "/", "ftp://abc.com/"), new ParsedUri("ldap", "[2001:db8::7]", UriHostNameType.IPv6, 389, "/c=GB?objectClass?one", "ldap://[2001:db8::7]/c=GB?objectClass?one"), new ParsedUri("mailto", "*****@*****.**", UriHostNameType.Dns, 25, string.Empty, "mailto:[email protected]"), new ParsedUri("mailto", string.Empty, UriHostNameType.Basic, 25, "//abc/d", "mailto://abc/d"), new ParsedUri("news", string.Empty, UriHostNameType.Unknown, -1, "comp.infosystems.www.servers.unix", "news:comp.infosystems.www.servers.unix"), new ParsedUri("tel", string.Empty, UriHostNameType.Unknown, -1, "+1-816-555-1212", "tel:+1-816-555-1212"), new ParsedUri("telnet", "192.0.2.16", UriHostNameType.IPv4, 80, "/", "telnet://192.0.2.16:80/"), new ParsedUri("h323", string.Empty, UriHostNameType.Unknown, -1, "abc", "h323:abc"), new ParsedUri("h323", "abc", UriHostNameType.Dns, -1, "/d", "h323://abc/d") }; for (int i = 0; i < sUris.Length; i++) { uri = new Uri(sUris[i]); if (!parseds[i].ValidUri(uri)) { result = MFTestResults.Fail; } } return(result); }
public MFTestResults FileScheme() { MFTestResults result = MFTestResults.Pass; var sUris = new string[] { "file://", "file:///", "file:////", "file://c", "file:///c", "file:////c", }; var parseds = new ParsedUri[] { new ParsedUri("file", string.Empty, UriHostNameType.Basic, -1, "/", "file:///"), new ParsedUri("file", string.Empty, UriHostNameType.Basic, -1, "/", "file:///"), new ParsedUri("file", string.Empty, UriHostNameType.Basic, -1, "//", "file:////"), new ParsedUri("file", "c", UriHostNameType.Dns, -1, "/", "file://c/"), new ParsedUri("file", string.Empty, UriHostNameType.Basic, -1, "/c", "file:///c"), new ParsedUri("file", "c", UriHostNameType.Dns, -1, "/", "file://c/"), }; for (int i = 0; i < sUris.Length; i++) { uri = new Uri(sUris[i]); if (!parseds[i].ValidUri(uri)) { result = MFTestResults.Fail; } } return result; }
public MFTestResults MoreSchemes() { MFTestResults result = MFTestResults.Pass; var sUris = new string[] { "ws://ws.pusherapp.com:80/app/?client=js&version=1.9.3&protocol=5", "\tftp://abc.com ", "ldap://[2001:db8::7]/c=GB?objectClass?one", "mailto:[email protected]", "mailto://abc/d", "news:comp.infosystems.www.servers.unix", "tel:+1-816-555-1212", "telnet://192.0.2.16:80/", "h323:abc", "h323://abc/d" }; var parseds = new ParsedUri[] { new ParsedUri("ws", "ws.pusherapp.com", UriHostNameType.Dns, 80, "/app/?client=js&version=1.9.3&protocol=5", "ws://ws.pusherapp.com/app/?client=js&version=1.9.3&protocol=5"), new ParsedUri("ftp", "abc.com", UriHostNameType.Dns, 21, "/", "ftp://abc.com/"), new ParsedUri("ldap", "[2001:db8::7]", UriHostNameType.IPv6, 389, "/c=GB?objectClass?one", "ldap://[2001:db8::7]/c=GB?objectClass?one"), new ParsedUri("mailto", "*****@*****.**", UriHostNameType.Dns, 25, string.Empty, "mailto:[email protected]"), new ParsedUri("mailto", string.Empty, UriHostNameType.Basic, 25, "//abc/d", "mailto://abc/d"), new ParsedUri("news", string.Empty, UriHostNameType.Unknown, -1, "comp.infosystems.www.servers.unix", "news:comp.infosystems.www.servers.unix"), new ParsedUri("tel", string.Empty, UriHostNameType.Unknown, -1, "+1-816-555-1212", "tel:+1-816-555-1212"), new ParsedUri("telnet", "192.0.2.16", UriHostNameType.IPv4, 80, "/", "telnet://192.0.2.16:80/"), new ParsedUri("h323", string.Empty, UriHostNameType.Unknown, -1, "abc", "h323:abc"), new ParsedUri("h323", "abc", UriHostNameType.Dns, -1, "/d", "h323://abc/d") }; for (int i = 0; i < sUris.Length; i++) { uri = new Uri(sUris[i]); if (!parseds[i].ValidUri(uri)) { result = MFTestResults.Fail; } } return result; }
public MFTestResults AdditionalValidUri() { MFTestResults result = MFTestResults.Pass; try { Log.Comment("iris.beep"); props = new UriProperties("iris.beep", "bop") { Type = UriHostNameType.Unknown }; uri = new Uri(props.OriginalUri); if (!ValidUri(uri, props)) result = MFTestResults.Fail; Log.Comment("Microsoft Secure URL"); props = new UriProperties("https", "www.microsoft.com"); uri = new Uri(props.OriginalUri); if (!ValidUri(uri, props)) result = MFTestResults.Fail; Log.Comment("Alternate https port URL"); props = new UriProperties("https", "www.microsoft.com") { Port = 1443 }; uri = new Uri(props.OriginalUri); if (!ValidUri(uri, props)) result = MFTestResults.Fail; Log.Comment("H323 uri"); props = new UriProperties("h323", "user@host:54"); uri = new Uri(props.OriginalUri); if (!ValidUri(uri, props)) result = MFTestResults.Fail; Log.Comment("FTP URI"); uri = new Uri("ftp://ftp.microsoft.com/file.txt"); parsed = new ParsedUri("ftp", "ftp.microsoft.com", UriHostNameType.Dns, 21, "/file.txt", "ftp://ftp.microsoft.com/file.txt"); if (!parsed.ValidUri(uri)) result = MFTestResults.Fail; Log.Comment("Unix style file"); uri = new Uri("file:///etc/hosts"); parsed = new ParsedUri("file", string.Empty, UriHostNameType.Basic, -1, "/etc/hosts", "file:///etc/hosts"); if (!parsed.ValidUri(uri)) result = MFTestResults.Fail; Log.Comment("Windows share style file"); uri = new Uri("file:///\\\\server\\folder\\file.txt"); parsed = new ParsedUri("file", "server", UriHostNameType.Dns, -1, "/folder/file.txt", "file://server/folder/file.txt"); if (!parsed.ValidUri(uri)) result = MFTestResults.Fail; Log.Comment("Windows drive style file"); uri = new Uri("file:///c:\\rbllog"); parsed = new ParsedUri("file", string.Empty, UriHostNameType.Basic, -1, "c:/rbllog", "file:///c:/rbllog"); if (!parsed.ValidUri(uri)) result = MFTestResults.Fail; } catch (Exception ex) { Log.Exception("Unexpected Exception - these cases currently all fail", ex); result = MFTestResults.Fail; } return result; }
public MFTestResults AdditionalValidUri() { MFTestResults result = MFTestResults.Pass; try { Log.Comment("iris.beep"); props = new UriProperties("iris.beep", "bop") { Type = UriHostNameType.Unknown }; uri = new Uri(props.OriginalUri); if (!ValidUri(uri, props)) { result = MFTestResults.Fail; } Log.Comment("Microsoft Secure URL"); props = new UriProperties("https", "www.microsoft.com"); uri = new Uri(props.OriginalUri); if (!ValidUri(uri, props)) { result = MFTestResults.Fail; } Log.Comment("Alternate https port URL"); props = new UriProperties("https", "www.microsoft.com") { Port = 1443 }; uri = new Uri(props.OriginalUri); if (!ValidUri(uri, props)) { result = MFTestResults.Fail; } Log.Comment("H323 uri"); props = new UriProperties("h323", "user@host:54"); uri = new Uri(props.OriginalUri); if (!ValidUri(uri, props)) { result = MFTestResults.Fail; } Log.Comment("FTP URI"); uri = new Uri("ftp://ftp.microsoft.com/file.txt"); parsed = new ParsedUri("ftp", "ftp.microsoft.com", UriHostNameType.Dns, 21, "/file.txt", "ftp://ftp.microsoft.com/file.txt"); if (!parsed.ValidUri(uri)) { result = MFTestResults.Fail; } Log.Comment("Unix style file"); uri = new Uri("file:///etc/hosts"); parsed = new ParsedUri("file", string.Empty, UriHostNameType.Basic, -1, "/etc/hosts", "file:///etc/hosts"); if (!parsed.ValidUri(uri)) { result = MFTestResults.Fail; } Log.Comment("Windows share style file"); uri = new Uri("file:///\\\\server\\folder\\file.txt"); parsed = new ParsedUri("file", "server", UriHostNameType.Dns, -1, "/folder/file.txt", "file://server/folder/file.txt"); if (!parsed.ValidUri(uri)) { result = MFTestResults.Fail; } Log.Comment("Windows drive style file"); uri = new Uri("file:///c:\\rbllog"); parsed = new ParsedUri("file", string.Empty, UriHostNameType.Basic, -1, "c:/rbllog", "file:///c:/rbllog"); if (!parsed.ValidUri(uri)) { result = MFTestResults.Fail; } } catch (Exception ex) { Log.Exception("Unexpected Exception - these cases currently all fail", ex); result = MFTestResults.Fail; } return(result); }