address_test.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package net
  2. import (
  3. "testing"
  4. "github.com/v2ray/v2ray-core/testing/unit"
  5. )
  6. func TestIPv4Address(t *testing.T) {
  7. assert := unit.Assert(t)
  8. ip := []byte{byte(1), byte(2), byte(3), byte(4)}
  9. port := uint16(80)
  10. addr := IPAddress(ip, port)
  11. assert.Bool(addr.IsIPv4()).IsTrue()
  12. assert.Bool(addr.IsIPv6()).IsFalse()
  13. assert.Bool(addr.IsDomain()).IsFalse()
  14. assert.Bytes(addr.IP()).Equals(ip)
  15. assert.Uint16(addr.Port()).Equals(port)
  16. assert.String(addr.String()).Equals("1.2.3.4:80")
  17. }
  18. func TestIPv6Address(t *testing.T) {
  19. assert := unit.Assert(t)
  20. ip := []byte{
  21. byte(1), byte(2), byte(3), byte(4),
  22. byte(1), byte(2), byte(3), byte(4),
  23. byte(1), byte(2), byte(3), byte(4),
  24. byte(1), byte(2), byte(3), byte(4),
  25. }
  26. port := uint16(443)
  27. addr := IPAddress(ip, port)
  28. assert.Bool(addr.IsIPv6()).IsTrue()
  29. assert.Bool(addr.IsIPv4()).IsFalse()
  30. assert.Bool(addr.IsDomain()).IsFalse()
  31. assert.Bytes(addr.IP()).Equals(ip)
  32. assert.Uint16(addr.Port()).Equals(port)
  33. assert.String(addr.String()).Equals("[102:304:102:304:102:304:102:304]:443")
  34. }
  35. func TestDomainAddress(t *testing.T) {
  36. assert := unit.Assert(t)
  37. domain := "v2ray.com"
  38. port := uint16(443)
  39. addr := DomainAddress(domain, port)
  40. assert.Bool(addr.IsDomain()).IsTrue()
  41. assert.Bool(addr.IsIPv4()).IsFalse()
  42. assert.Bool(addr.IsIPv6()).IsFalse()
  43. assert.String(addr.Domain()).Equals(domain)
  44. assert.Uint16(addr.Port()).Equals(port)
  45. assert.String(addr.String()).Equals("v2ray.com:443")
  46. }