header_test.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package internet_test
  2. import (
  3. "testing"
  4. "github.com/xtls/xray-core/common"
  5. . "github.com/xtls/xray-core/transport/internet"
  6. "github.com/xtls/xray-core/transport/internet/headers/noop"
  7. "github.com/xtls/xray-core/transport/internet/headers/srtp"
  8. "github.com/xtls/xray-core/transport/internet/headers/utp"
  9. "github.com/xtls/xray-core/transport/internet/headers/wechat"
  10. "github.com/xtls/xray-core/transport/internet/headers/wireguard"
  11. )
  12. func TestAllHeadersLoadable(t *testing.T) {
  13. testCases := []struct {
  14. Input interface{}
  15. Size int32
  16. }{
  17. {
  18. Input: new(noop.Config),
  19. Size: 0,
  20. },
  21. {
  22. Input: new(srtp.Config),
  23. Size: 4,
  24. },
  25. {
  26. Input: new(utp.Config),
  27. Size: 4,
  28. },
  29. {
  30. Input: new(wechat.VideoConfig),
  31. Size: 13,
  32. },
  33. {
  34. Input: new(wireguard.WireguardConfig),
  35. Size: 4,
  36. },
  37. }
  38. for _, testCase := range testCases {
  39. header, err := CreatePacketHeader(testCase.Input)
  40. common.Must(err)
  41. if header.Size() != testCase.Size {
  42. t.Error("expected size ", testCase.Size, " but got ", header.Size())
  43. }
  44. }
  45. }