test_websocket.h 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. // Copyright (c) 2012 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef PPAPI_TESTS_TEST_WEBSOCKET_H_
  5. #define PPAPI_TESTS_TEST_WEBSOCKET_H_
  6. #include <stdint.h>
  7. #include <string>
  8. #include <vector>
  9. #include "ppapi/c/ppb_core.h"
  10. #include "ppapi/c/ppb_var.h"
  11. #include "ppapi/c/ppb_var_array_buffer.h"
  12. #include "ppapi/c/ppb_websocket.h"
  13. #include "ppapi/tests/test_case.h"
  14. class TestWebSocket : public TestCase {
  15. public:
  16. explicit TestWebSocket(TestingInstance* instance) : TestCase(instance) {}
  17. private:
  18. // TestCase implementation.
  19. virtual bool Init();
  20. virtual void RunTests(const std::string& filter);
  21. std::string GetFullURL(const char* url);
  22. PP_Var CreateVarString(const std::string& string);
  23. PP_Var CreateVarBinary(const std::vector<uint8_t>& binary);
  24. void ReleaseVar(const PP_Var& var);
  25. bool AreEqualWithString(const PP_Var& var, const std::string& string);
  26. bool AreEqualWithBinary(const PP_Var& var,
  27. const std::vector<uint8_t>& binary);
  28. PP_Resource Connect(const std::string& url,
  29. int32_t* result,
  30. const std::string& protocol);
  31. void Send(int32_t result, PP_Resource ws, const std::string& message);
  32. std::string TestIsWebSocket();
  33. std::string TestUninitializedPropertiesAccess();
  34. std::string TestInvalidConnect();
  35. std::string TestProtocols();
  36. std::string TestGetURL();
  37. std::string TestValidConnect();
  38. std::string TestInvalidClose();
  39. std::string TestValidClose();
  40. std::string TestGetProtocol();
  41. std::string TestTextSendReceive();
  42. std::string TestTextSendReceiveTwice();
  43. std::string TestBinarySendReceive();
  44. std::string TestStressedSendReceive();
  45. std::string TestBufferedAmount();
  46. std::string TestAbortCallsWithCallback();
  47. std::string TestAbortSendMessageCall();
  48. std::string TestAbortCloseCall();
  49. std::string TestAbortReceiveMessageCall();
  50. std::string TestClosedFromServerWhileSending();
  51. std::string TestCcInterfaces();
  52. std::string TestUtilityInvalidConnect();
  53. std::string TestUtilityProtocols();
  54. std::string TestUtilityGetURL();
  55. std::string TestUtilityValidConnect();
  56. std::string TestUtilityInvalidClose();
  57. std::string TestUtilityValidClose();
  58. std::string TestUtilityGetProtocol();
  59. std::string TestUtilityTextSendReceive();
  60. std::string TestUtilityBinarySendReceive();
  61. std::string TestUtilityBufferedAmount();
  62. // Keeps Pepper API interfaces. These are used by the tests that access the C
  63. // API directly.
  64. const PPB_WebSocket* websocket_interface_;
  65. const PPB_Var* var_interface_;
  66. const PPB_VarArrayBuffer* arraybuffer_interface_;
  67. const PPB_Core* core_interface_;
  68. };
  69. #endif // PPAPI_TESTS_TEST_WEBSOCKET_H_