network_json_test.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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 TestStringNetwork(t *testing.T) {
  10. assert := assert.On(t)
  11. var network Network
  12. err := json.Unmarshal([]byte(`"tcp"`), &network)
  13. assert.Error(err).IsNil()
  14. assert.Bool(network == Network_TCP).IsTrue()
  15. }
  16. func TestArrayNetworkList(t *testing.T) {
  17. assert := assert.On(t)
  18. var list NetworkList
  19. err := json.Unmarshal([]byte("[\"Tcp\"]"), &list)
  20. assert.Error(err).IsNil()
  21. assert.Bool(list.HasNetwork(ParseNetwork("tcp"))).IsTrue()
  22. assert.Bool(list.HasNetwork(ParseNetwork("udp"))).IsFalse()
  23. }
  24. func TestStringNetworkList(t *testing.T) {
  25. assert := assert.On(t)
  26. var list NetworkList
  27. err := json.Unmarshal([]byte("\"TCP, ip\""), &list)
  28. assert.Error(err).IsNil()
  29. assert.Bool(list.HasNetwork(ParseNetwork("tcp"))).IsTrue()
  30. assert.Bool(list.HasNetwork(ParseNetwork("udp"))).IsFalse()
  31. }
  32. func TestInvalidNetworkJson(t *testing.T) {
  33. assert := assert.On(t)
  34. var list NetworkList
  35. err := json.Unmarshal([]byte("0"), &list)
  36. assert.Error(err).IsNotNil()
  37. }