| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef PPAPI_TESTS_TEST_WEBSOCKET_H_ |
| #define PPAPI_TESTS_TEST_WEBSOCKET_H_ |
| |
| #include <stdint.h> |
| |
| #include <string> |
| #include <vector> |
| |
| #include "ppapi/c/ppb_core.h" |
| #include "ppapi/c/ppb_var.h" |
| #include "ppapi/c/ppb_var_array_buffer.h" |
| #include "ppapi/c/ppb_websocket.h" |
| #include "ppapi/tests/test_case.h" |
| |
| class TestWebSocket : public TestCase { |
| public: |
| explicit TestWebSocket(TestingInstance* instance) : TestCase(instance) {} |
| |
| private: |
| // TestCase implementation. |
| virtual bool Init(); |
| virtual void RunTests(const std::string& filter); |
| |
| std::string GetFullURL(const char* url); |
| PP_Var CreateVarString(const std::string& string); |
| PP_Var CreateVarBinary(const std::vector<uint8_t>& binary); |
| void ReleaseVar(const PP_Var& var); |
| bool AreEqualWithString(const PP_Var& var, const std::string& string); |
| bool AreEqualWithBinary(const PP_Var& var, |
| const std::vector<uint8_t>& binary); |
| |
| PP_Resource Connect(const std::string& url, |
| int32_t* result, |
| const std::string& protocol); |
| |
| void Send(int32_t result, PP_Resource ws, const std::string& message); |
| |
| std::string TestIsWebSocket(); |
| std::string TestUninitializedPropertiesAccess(); |
| std::string TestInvalidConnect(); |
| std::string TestProtocols(); |
| std::string TestGetURL(); |
| std::string TestValidConnect(); |
| std::string TestInvalidClose(); |
| std::string TestValidClose(); |
| std::string TestGetProtocol(); |
| std::string TestTextSendReceive(); |
| std::string TestTextSendReceiveTwice(); |
| std::string TestBinarySendReceive(); |
| std::string TestStressedSendReceive(); |
| std::string TestBufferedAmount(); |
| std::string TestAbortCallsWithCallback(); |
| std::string TestAbortSendMessageCall(); |
| std::string TestAbortCloseCall(); |
| std::string TestAbortReceiveMessageCall(); |
| std::string TestClosedFromServerWhileSending(); |
| |
| std::string TestCcInterfaces(); |
| |
| std::string TestUtilityInvalidConnect(); |
| std::string TestUtilityProtocols(); |
| std::string TestUtilityGetURL(); |
| std::string TestUtilityValidConnect(); |
| std::string TestUtilityInvalidClose(); |
| std::string TestUtilityValidClose(); |
| std::string TestUtilityGetProtocol(); |
| std::string TestUtilityTextSendReceive(); |
| std::string TestUtilityBinarySendReceive(); |
| std::string TestUtilityBufferedAmount(); |
| |
| // Keeps Pepper API interfaces. These are used by the tests that access the C |
| // API directly. |
| const PPB_WebSocket* websocket_interface_; |
| const PPB_Var* var_interface_; |
| const PPB_VarArrayBuffer* arraybuffer_interface_; |
| const PPB_Core* core_interface_; |
| }; |
| |
| #endif // PPAPI_TESTS_TEST_WEBSOCKET_H_ |