diff options
author | toyoshim@chromium.org <toyoshim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-06 18:06:34 +0000 |
---|---|---|
committer | toyoshim@chromium.org <toyoshim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-06 18:06:34 +0000 |
commit | a1cff7858ed955e9792955dce46277ba57b2cb81 (patch) | |
tree | a82e0d496eaceac3e165d30e37c8fe1ddda78b08 | |
parent | 6a58bbae49e4580837cb973ec4334c569c9526b5 (diff) | |
download | chromium_src-a1cff7858ed955e9792955dce46277ba57b2cb81.zip chromium_src-a1cff7858ed955e9792955dce46277ba57b2cb81.tar.gz chromium_src-a1cff7858ed955e9792955dce46277ba57b2cb81.tar.bz2 |
Pepper WebSocket API: Add unit test to access uninitialized properties
BUG=87310
TEST=ui_tests --gtest_filter='PPAPITest.WebSocket_UninitializedPropertiesAccess'
Review URL: http://codereview.chromium.org/8816005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113227 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/test/ui/ppapi_uitest.cc | 1 | ||||
-rw-r--r-- | ppapi/tests/test_websocket.cc | 33 | ||||
-rw-r--r-- | ppapi/tests/test_websocket.h | 1 |
3 files changed, 34 insertions, 1 deletions
diff --git a/chrome/test/ui/ppapi_uitest.cc b/chrome/test/ui/ppapi_uitest.cc index 9bbdfd1..2c1e2c5 100644 --- a/chrome/test/ui/ppapi_uitest.cc +++ b/chrome/test/ui/ppapi_uitest.cc @@ -477,6 +477,7 @@ TEST_PPAPI_OUT_OF_PROCESS(Flash_GetLocalTimeZoneOffset) TEST_PPAPI_OUT_OF_PROCESS(Flash_GetCommandLineArgs) TEST_PPAPI_IN_PROCESS(WebSocket_IsWebSocket) +TEST_PPAPI_IN_PROCESS(WebSocket_UninitializedPropertiesAccess) TEST_PPAPI_IN_PROCESS(WebSocket_InvalidConnect) TEST_PPAPI_IN_PROCESS(WebSocket_GetURL) TEST_PPAPI_IN_PROCESS_WITH_WS(WebSocket_ValidConnect) diff --git a/ppapi/tests/test_websocket.cc b/ppapi/tests/test_websocket.cc index 94e2d45..05310aa 100644 --- a/ppapi/tests/test_websocket.cc +++ b/ppapi/tests/test_websocket.cc @@ -47,6 +47,7 @@ bool TestWebSocket::Init() { void TestWebSocket::RunTests(const std::string& filter) { RUN_TEST(IsWebSocket, filter); + RUN_TEST(UninitializedPropertiesAccess, filter); RUN_TEST(InvalidConnect, filter); RUN_TEST(GetURL, filter); RUN_TEST(ValidConnect, filter); @@ -118,7 +119,37 @@ std::string TestWebSocket::TestIsWebSocket() { PASS(); } -// TODO(toyoshim): Add tests to call various interfaces before calling connect. +std::string TestWebSocket::TestUninitializedPropertiesAccess() { + PP_Resource ws = websocket_interface_->Create(instance_->pp_instance()); + ASSERT_TRUE(ws); + + uint64_t bufferedAmount = websocket_interface_->GetBufferedAmount(ws); + ASSERT_EQ(0, bufferedAmount); + + uint16_t close_code = websocket_interface_->GetCloseCode(ws); + ASSERT_EQ(0, close_code); + + PP_Var close_reason = websocket_interface_->GetCloseReason(ws); + ASSERT_TRUE(AreEqual(close_reason, "")); + + PP_Bool close_was_clean = websocket_interface_->GetCloseWasClean(ws); + ASSERT_EQ(PP_FALSE, close_was_clean); + + PP_Var extensions = websocket_interface_->GetExtensions(ws); + ASSERT_TRUE(AreEqual(extensions, "")); + + PP_Var protocol = websocket_interface_->GetProtocol(ws); + ASSERT_TRUE(AreEqual(protocol, "")); + + PP_WebSocketReadyState_Dev ready_state = + websocket_interface_->GetReadyState(ws); + ASSERT_EQ(PP_WEBSOCKETREADYSTATE_INVALID_DEV, ready_state); + + PP_Var url = websocket_interface_->GetURL(ws); + ASSERT_TRUE(AreEqual(url, "")); + + PASS(); +} std::string TestWebSocket::TestInvalidConnect() { PP_Var protocols[] = { PP_MakeUndefined() }; diff --git a/ppapi/tests/test_websocket.h b/ppapi/tests/test_websocket.h index dd13505..fdd0ce0 100644 --- a/ppapi/tests/test_websocket.h +++ b/ppapi/tests/test_websocket.h @@ -29,6 +29,7 @@ class TestWebSocket : public TestCase { PP_Resource Connect(const char* url, int32_t* result, const char* protocol); std::string TestIsWebSocket(); + std::string TestUninitializedPropertiesAccess(); std::string TestInvalidConnect(); std::string TestGetURL(); std::string TestValidConnect(); |