Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Side by Side Diff: ppapi/tests/test_websocket.cc

Issue 8816005: Pepper WebSocket API: Add unit test to access uninitialized properties (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ppapi/tests/test_websocket.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ppapi/tests/test_websocket.h" 5 #include "ppapi/tests/test_websocket.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 8
9 #include "ppapi/c/dev/ppb_websocket_dev.h" 9 #include "ppapi/c/dev/ppb_websocket_dev.h"
10 #include "ppapi/c/pp_errors.h" 10 #include "ppapi/c/pp_errors.h"
(...skipping 29 matching lines...) Expand all
40 core_interface_ = static_cast<const PPB_Core*>( 40 core_interface_ = static_cast<const PPB_Core*>(
41 pp::Module::Get()->GetBrowserInterface(PPB_CORE_INTERFACE)); 41 pp::Module::Get()->GetBrowserInterface(PPB_CORE_INTERFACE));
42 if (!websocket_interface_ || !var_interface_ || !core_interface_) 42 if (!websocket_interface_ || !var_interface_ || !core_interface_)
43 return false; 43 return false;
44 44
45 return true; 45 return true;
46 } 46 }
47 47
48 void TestWebSocket::RunTests(const std::string& filter) { 48 void TestWebSocket::RunTests(const std::string& filter) {
49 RUN_TEST(IsWebSocket, filter); 49 RUN_TEST(IsWebSocket, filter);
50 RUN_TEST(UninitializedPropertiesAccess, filter);
50 RUN_TEST(InvalidConnect, filter); 51 RUN_TEST(InvalidConnect, filter);
51 RUN_TEST(GetURL, filter); 52 RUN_TEST(GetURL, filter);
52 RUN_TEST(ValidConnect, filter); 53 RUN_TEST(ValidConnect, filter);
53 RUN_TEST(GetProtocol, filter); 54 RUN_TEST(GetProtocol, filter);
54 RUN_TEST(TextSendReceive, filter); 55 RUN_TEST(TextSendReceive, filter);
55 } 56 }
56 57
57 PP_Var TestWebSocket::CreateVar(const char* string) { 58 PP_Var TestWebSocket::CreateVar(const char* string) {
58 return var_interface_->VarFromUtf8( 59 return var_interface_->VarFromUtf8(
59 pp::Module::Get()->pp_module(), string, strlen(string)); 60 pp::Module::Get()->pp_module(), string, strlen(string));
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 ASSERT_TRUE(ws); 112 ASSERT_TRUE(ws);
112 113
113 result = websocket_interface_->IsWebSocket(ws); 114 result = websocket_interface_->IsWebSocket(ws);
114 ASSERT_TRUE(result); 115 ASSERT_TRUE(result);
115 116
116 core_interface_->ReleaseResource(ws); 117 core_interface_->ReleaseResource(ws);
117 118
118 PASS(); 119 PASS();
119 } 120 }
120 121
121 // TODO(toyoshim): Add tests to call various interfaces before calling connect. 122 std::string TestWebSocket::TestUninitializedPropertiesAccess() {
123 PP_Resource ws = websocket_interface_->Create(instance_->pp_instance());
124 ASSERT_TRUE(ws);
125
126 uint64_t bufferedAmount = websocket_interface_->GetBufferedAmount(ws);
127 ASSERT_EQ(0, bufferedAmount);
128
129 uint16_t close_code = websocket_interface_->GetCloseCode(ws);
130 ASSERT_EQ(0, close_code);
131
132 PP_Var close_reason = websocket_interface_->GetCloseReason(ws);
133 ASSERT_TRUE(AreEqual(close_reason, ""));
134
135 PP_Bool close_was_clean = websocket_interface_->GetCloseWasClean(ws);
136 ASSERT_EQ(PP_FALSE, close_was_clean);
137
138 PP_Var extensions = websocket_interface_->GetExtensions(ws);
139 ASSERT_TRUE(AreEqual(extensions, ""));
140
141 PP_Var protocol = websocket_interface_->GetProtocol(ws);
142 ASSERT_TRUE(AreEqual(protocol, ""));
143
144 PP_WebSocketReadyState_Dev ready_state =
145 websocket_interface_->GetReadyState(ws);
146 ASSERT_EQ(PP_WEBSOCKETREADYSTATE_INVALID_DEV, ready_state);
147
148 PP_Var url = websocket_interface_->GetURL(ws);
149 ASSERT_TRUE(AreEqual(url, ""));
150
151 PASS();
152 }
122 153
123 std::string TestWebSocket::TestInvalidConnect() { 154 std::string TestWebSocket::TestInvalidConnect() {
124 PP_Var protocols[] = { PP_MakeUndefined() }; 155 PP_Var protocols[] = { PP_MakeUndefined() };
125 156
126 PP_Resource ws = websocket_interface_->Create(instance_->pp_instance()); 157 PP_Resource ws = websocket_interface_->Create(instance_->pp_instance());
127 ASSERT_TRUE(ws); 158 ASSERT_TRUE(ws);
128 159
129 TestCompletionCallback callback(instance_->pp_instance(), force_async_); 160 TestCompletionCallback callback(instance_->pp_instance(), force_async_);
130 int32_t result = websocket_interface_->Connect( 161 int32_t result = websocket_interface_->Connect(
131 ws, PP_MakeUndefined(), protocols, 1, 162 ws, PP_MakeUndefined(), protocols, 1,
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 PASS(); 263 PASS();
233 } 264 }
234 265
235 // TODO(toyoshim): Add tests for GetBufferedAmount(). 266 // TODO(toyoshim): Add tests for GetBufferedAmount().
236 // For now, the function doesn't work fine because update callback in WebKit is 267 // For now, the function doesn't work fine because update callback in WebKit is
237 // not landed yet. 268 // not landed yet.
238 269
239 // TODO(toyoshim): Add tests for didReceiveMessageError(). 270 // TODO(toyoshim): Add tests for didReceiveMessageError().
240 271
241 // TODO(toyoshim): Add other function tests. 272 // TODO(toyoshim): Add other function tests.
OLDNEW
« no previous file with comments | « ppapi/tests/test_websocket.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698