ExtensionTest.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using Xunit;
  2. namespace Masuit.Tools.Core.UnitTest
  3. {
  4. public class ExtensionTest
  5. {
  6. [Theory, InlineData("123.234.145.156"), InlineData("223.234.145.156"), InlineData("2001:0db8:85a3::1319:8a2e:0370:7344"), InlineData("::1")]
  7. public void MatchIPAddress_Valid_ReturnTrue(string s)
  8. {
  9. var isip = s.MatchInetAddress();
  10. Assert.True(isip);
  11. }
  12. [Theory, InlineData("123.234.345.456"), InlineData("masuit.com"), InlineData("2001:0db8:85a3::1319:8a2e:0370:7344:7344")]
  13. public void MatchIPAddress_Invalid_ReturnFalse(string s)
  14. {
  15. var isip = s.MatchInetAddress();
  16. Assert.False(isip);
  17. }
  18. [Theory]
  19. [InlineData("www.baidu.com")]
  20. [InlineData("//www.baidu.com")]
  21. [InlineData("http://www.baidu.com")]
  22. [InlineData("https://www.baidu.com")]
  23. [InlineData("ftp://admin:[email protected]/abc/def")]
  24. [InlineData("https://baidu.com:8080")]
  25. [InlineData("https://baidu.com:8080/abc/def/hhh.html?s=www")]
  26. [InlineData("https://baidu.com:8080/abc/def/hi_jk-mn%ADF%AA/hhh.html?s=www&x=yyy#top")]
  27. [InlineData("https://baidu.com:8080/abc/def/hi_jk-mn%ADF%AA?s=www&x=yyy#top/aaa/bbb/ccc")]
  28. [InlineData("http://music.163.com/def/hhh.html?s=www&x=yyy#/my/m/music/empty")]
  29. [InlineData("http://music.163.com/#/search/m/?%23%2Fmy%2Fm%2Fmusic%2Fempty=&s=fade&type=1!k")]
  30. public void MatchUrl_Valid_ReturnFalse(string s)
  31. {
  32. var isip = s.MatchUrl();
  33. Assert.True(isip);
  34. }
  35. [Theory]
  36. [InlineData("127.0.0.1", true)]
  37. [InlineData("10.23.254.223", true)]
  38. [InlineData("172.16.23.22", true)]
  39. [InlineData("172.17.23.22", false)]
  40. [InlineData("169.254.23.21", true)]
  41. [InlineData("192.168.1.1", true)]
  42. public void IsPrivateIP_ReturnTrue(string ip, bool actual)
  43. {
  44. bool expected = ip.IsPrivateIP();
  45. Assert.Equal(expected, actual);
  46. }
  47. [Theory]
  48. [InlineData("https://baidu.com", true)]
  49. [InlineData("http://localhost", false)]
  50. public void IsExtenalAddress_RetuenTrue(string url, bool actual)
  51. {
  52. bool expected = url.IsExternalAddress();
  53. Assert.Equal(expected, actual);
  54. }
  55. }
  56. }