ExtensionTest.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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("http://www.baidu.com")]
  21. [InlineData("https://www.baidu.com")]
  22. [InlineData("ftp://admin:[email protected]/abc/def")]
  23. [InlineData("https://baidu.com:8080")]
  24. [InlineData("https://baidu.com:8080/abc/def/hhh.html?s=www")]
  25. [InlineData("https://baidu.com:8080/abc/def/hi_jk-mn%ADF%AA/hhh.html?s=www&x=yyy#top")]
  26. [InlineData("https://baidu.com:8080/abc/def/hi_jk-mn%ADF%AA?s=www&x=yyy#top/aaa/bbb/ccc")]
  27. [InlineData("http://music.163.com/def/hhh.html?s=www&x=yyy#/my/m/music/empty")]
  28. [InlineData("http://music.163.com/#/search/m/?%23%2Fmy%2Fm%2Fmusic%2Fempty=&s=fade&type=1!k")]
  29. public void MatchUrl_Valid_ReturnTrue(string s)
  30. {
  31. var isip = s.MatchUrl();
  32. Assert.True(isip);
  33. }
  34. [Theory]
  35. [InlineData("127.0.0.1", true)]
  36. [InlineData("10.23.254.223", true)]
  37. [InlineData("172.16.23.22", true)]
  38. [InlineData("172.17.23.22", false)]
  39. [InlineData("169.254.23.21", true)]
  40. [InlineData("192.168.1.1", true)]
  41. public void IsPrivateIP_ReturnTrue(string ip, bool actual)
  42. {
  43. bool expected = ip.IsPrivateIP();
  44. Assert.Equal(expected, actual);
  45. }
  46. [Theory]
  47. [InlineData("https://baidu.com", true)]
  48. [InlineData("http://localhost", false)]
  49. public void IsExtenalAddress_RetuenTrue(string url, bool actual)
  50. {
  51. bool expected = url.IsExternalAddress();
  52. Assert.Equal(expected, actual);
  53. }
  54. }
  55. }