summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortoyoshim@chromium.org <toyoshim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-06 18:06:34 +0000
committertoyoshim@chromium.org <toyoshim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-06 18:06:34 +0000
commita1cff7858ed955e9792955dce46277ba57b2cb81 (patch)
treea82e0d496eaceac3e165d30e37c8fe1ddda78b08
parent6a58bbae49e4580837cb973ec4334c569c9526b5 (diff)
downloadchromium_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.cc1
-rw-r--r--ppapi/tests/test_websocket.cc33
-rw-r--r--ppapi/tests/test_websocket.h1
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();