address_test.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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.Byte(addr.Type).Equals(AddrTypeIP)
  12. assert.Bool(addr.IsIPv4()).IsTrue()
  13. assert.Bytes(addr.IP).Equals(ip)
  14. assert.Uint16(addr.Port).Equals(port)
  15. assert.String(addr.String()).Equals("1.2.3.4:80")
  16. }
  17. func TestIPv6Address(t *testing.T) {
  18. assert := unit.Assert(t)
  19. ip := []byte{
  20. byte(1), byte(2), byte(3), byte(4),
  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. }
  25. port := uint16(443)
  26. addr := IPAddress(ip, port)
  27. assert.Byte(addr.Type).Equals(AddrTypeIP)
  28. assert.Bool(addr.IsIPv6()).IsTrue()
  29. assert.Bytes(addr.IP).Equals(ip)
  30. assert.Uint16(addr.Port).Equals(port)
  31. assert.String(addr.String()).Equals("[102:304:102:304:102:304:102:304]:443")
  32. }
  33. func TestDomainAddress(t *testing.T) {
  34. assert := unit.Assert(t)
  35. domain := "v2ray.com"
  36. port := uint16(443)
  37. addr := DomainAddress(domain, port)
  38. assert.Byte(addr.Type).Equals(AddrTypeDomain)
  39. assert.Bool(addr.IsDomain()).IsTrue()
  40. assert.String(addr.Domain).Equals(domain)
  41. assert.Uint16(addr.Port).Equals(port)
  42. assert.String(addr.String()).Equals("v2ray.com:443")
  43. }