network_json_test.go 870 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. // +build json
  2. package net_test
  3. import (
  4. "encoding/json"
  5. "testing"
  6. . "v2ray.com/core/common/net"
  7. "v2ray.com/core/testing/assert"
  8. )
  9. func TestArrayNetworkList(t *testing.T) {
  10. assert := assert.On(t)
  11. var list NetworkList
  12. err := json.Unmarshal([]byte("[\"Tcp\"]"), &list)
  13. assert.Error(err).IsNil()
  14. assert.Bool(list.HasNetwork(Network("tcp"))).IsTrue()
  15. assert.Bool(list.HasNetwork(Network("udp"))).IsFalse()
  16. }
  17. func TestStringNetworkList(t *testing.T) {
  18. assert := assert.On(t)
  19. var list NetworkList
  20. err := json.Unmarshal([]byte("\"TCP, ip\""), &list)
  21. assert.Error(err).IsNil()
  22. assert.Bool(list.HasNetwork(Network("tcp"))).IsTrue()
  23. assert.Bool(list.HasNetwork(Network("udp"))).IsFalse()
  24. }
  25. func TestInvalidNetworkJson(t *testing.T) {
  26. assert := assert.On(t)
  27. var list NetworkList
  28. err := json.Unmarshal([]byte("0"), &list)
  29. assert.Error(err).IsNotNil()
  30. }