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

Side by Side Diff: content/child/indexed_db/indexed_db_dispatcher_unittest.cc

Issue 320833002: [IndexedDB] Use consistent enums on both sides of IPC. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase patch. Created 6 years, 6 months 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "base/memory/scoped_ptr.h" 5 #include "base/memory/scoped_ptr.h"
6 #include "base/message_loop/message_loop_proxy.h" 6 #include "base/message_loop/message_loop_proxy.h"
7 #include "base/values.h" 7 #include "base/values.h"
8 #include "content/child/indexed_db/indexed_db_dispatcher.h" 8 #include "content/child/indexed_db/indexed_db_dispatcher.h"
9 #include "content/child/indexed_db/webidbcursor_impl.h" 9 #include "content/child/indexed_db/webidbcursor_impl.h"
10 #include "content/child/thread_safe_sender.h" 10 #include "content/child/thread_safe_sender.h"
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 86
87 MockCallbacks callbacks; 87 MockCallbacks callbacks;
88 IndexedDBDispatcher dispatcher(thread_safe_sender_.get()); 88 IndexedDBDispatcher dispatcher(thread_safe_sender_.get());
89 IndexedDBKey key(0, blink::WebIDBKeyTypeNumber); 89 IndexedDBKey key(0, blink::WebIDBKeyTypeNumber);
90 dispatcher.RequestIDBDatabasePut(ipc_dummy_id, 90 dispatcher.RequestIDBDatabasePut(ipc_dummy_id,
91 transaction_id, 91 transaction_id,
92 object_store_id, 92 object_store_id,
93 value, 93 value,
94 web_blob_info, 94 web_blob_info,
95 key, 95 key,
96 WebIDBDatabase::AddOrUpdate, 96 blink::WebIDBPutModeAddOrUpdate,
97 &callbacks, 97 &callbacks,
98 WebVector<long long>(), 98 WebVector<long long>(),
99 WebVector<WebVector<WebIDBKey> >()); 99 WebVector<WebVector<WebIDBKey> >());
100 100
101 EXPECT_TRUE(callbacks.error_seen()); 101 EXPECT_TRUE(callbacks.error_seen());
102 } 102 }
103 103
104 TEST_F(IndexedDBDispatcherTest, KeyAndValueSizeTest) { 104 TEST_F(IndexedDBDispatcherTest, KeyAndValueSizeTest) {
105 const size_t kKeySize = 1024 * 1024; 105 const size_t kKeySize = 1024 * 1024;
106 106
107 const std::vector<char> data(kMaxIDBValueSizeInBytes - kKeySize); 107 const std::vector<char> data(kMaxIDBValueSizeInBytes - kKeySize);
108 const WebData value(&data.front(), data.size()); 108 const WebData value(&data.front(), data.size());
109 const WebVector<WebBlobInfo> web_blob_info; 109 const WebVector<WebBlobInfo> web_blob_info;
110 const IndexedDBKey key( 110 const IndexedDBKey key(
111 base::string16(kKeySize / sizeof(base::string16::value_type), 'x')); 111 base::string16(kKeySize / sizeof(base::string16::value_type), 'x'));
112 112
113 const int32 ipc_dummy_id = -1; 113 const int32 ipc_dummy_id = -1;
114 const int64 transaction_id = 1; 114 const int64 transaction_id = 1;
115 const int64 object_store_id = 2; 115 const int64 object_store_id = 2;
116 116
117 MockCallbacks callbacks; 117 MockCallbacks callbacks;
118 IndexedDBDispatcher dispatcher(thread_safe_sender_.get()); 118 IndexedDBDispatcher dispatcher(thread_safe_sender_.get());
119 dispatcher.RequestIDBDatabasePut(ipc_dummy_id, 119 dispatcher.RequestIDBDatabasePut(ipc_dummy_id,
120 transaction_id, 120 transaction_id,
121 object_store_id, 121 object_store_id,
122 value, 122 value,
123 web_blob_info, 123 web_blob_info,
124 key, 124 key,
125 WebIDBDatabase::AddOrUpdate, 125 blink::WebIDBPutModeAddOrUpdate,
126 &callbacks, 126 &callbacks,
127 WebVector<long long>(), 127 WebVector<long long>(),
128 WebVector<WebVector<WebIDBKey> >()); 128 WebVector<WebVector<WebIDBKey> >());
129 129
130 EXPECT_TRUE(callbacks.error_seen()); 130 EXPECT_TRUE(callbacks.error_seen());
131 } 131 }
132 132
133 namespace { 133 namespace {
134 134
135 class CursorCallbacks : public WebIDBCallbacks { 135 class CursorCallbacks : public WebIDBCallbacks {
(...skipping 17 matching lines...) Expand all
153 DISALLOW_COPY_AND_ASSIGN(CursorCallbacks); 153 DISALLOW_COPY_AND_ASSIGN(CursorCallbacks);
154 }; 154 };
155 155
156 } // namespace 156 } // namespace
157 157
158 TEST_F(IndexedDBDispatcherTest, CursorTransactionId) { 158 TEST_F(IndexedDBDispatcherTest, CursorTransactionId) {
159 const int32 ipc_database_id = -1; 159 const int32 ipc_database_id = -1;
160 const int64 transaction_id = 1234; 160 const int64 transaction_id = 1234;
161 const int64 object_store_id = 2; 161 const int64 object_store_id = 2;
162 const int32 index_id = 3; 162 const int32 index_id = 3;
163 const WebIDBCursor::Direction direction = WebIDBCursor::Next; 163 const blink::WebIDBCursorDirection direction =
164 blink::WebIDBCursorDirectionNext;
164 const bool key_only = false; 165 const bool key_only = false;
165 166
166 MockDispatcher dispatcher(thread_safe_sender_.get()); 167 MockDispatcher dispatcher(thread_safe_sender_.get());
167 168
168 // First case: successful cursor open. 169 // First case: successful cursor open.
169 { 170 {
170 scoped_ptr<WebIDBCursor> cursor; 171 scoped_ptr<WebIDBCursor> cursor;
171 EXPECT_EQ(0UL, dispatcher.cursor_transaction_ids_.size()); 172 EXPECT_EQ(0UL, dispatcher.cursor_transaction_ids_.size());
172 173
173 // Make a cursor request. This should record the transaction id. 174 // Make a cursor request. This should record the transaction id.
174 dispatcher.RequestIDBDatabaseOpenCursor(ipc_database_id, 175 dispatcher.RequestIDBDatabaseOpenCursor(ipc_database_id,
175 transaction_id, 176 transaction_id,
176 object_store_id, 177 object_store_id,
177 index_id, 178 index_id,
178 IndexedDBKeyRange(), 179 IndexedDBKeyRange(),
179 direction, 180 direction,
180 key_only, 181 key_only,
181 blink::WebIDBDatabase::NormalTask, 182 blink::WebIDBTaskTypeNormal,
182 new CursorCallbacks(&cursor)); 183 new CursorCallbacks(&cursor));
183 184
184 // Verify that the transaction id was captured. 185 // Verify that the transaction id was captured.
185 EXPECT_EQ(1UL, dispatcher.cursor_transaction_ids_.size()); 186 EXPECT_EQ(1UL, dispatcher.cursor_transaction_ids_.size());
186 EXPECT_FALSE(cursor.get()); 187 EXPECT_FALSE(cursor.get());
187 188
188 int32 ipc_callbacks_id = dispatcher.cursor_transaction_ids_.begin()->first; 189 int32 ipc_callbacks_id = dispatcher.cursor_transaction_ids_.begin()->first;
189 190
190 IndexedDBMsg_CallbacksSuccessIDBCursor_Params params; 191 IndexedDBMsg_CallbacksSuccessIDBCursor_Params params;
191 params.ipc_thread_id = dispatcher.CurrentWorkerId(); 192 params.ipc_thread_id = dispatcher.CurrentWorkerId();
(...skipping 20 matching lines...) Expand all
212 EXPECT_EQ(0UL, dispatcher.cursor_transaction_ids_.size()); 213 EXPECT_EQ(0UL, dispatcher.cursor_transaction_ids_.size());
213 214
214 // Make a cursor request. This should record the transaction id. 215 // Make a cursor request. This should record the transaction id.
215 dispatcher.RequestIDBDatabaseOpenCursor(ipc_database_id, 216 dispatcher.RequestIDBDatabaseOpenCursor(ipc_database_id,
216 transaction_id, 217 transaction_id,
217 object_store_id, 218 object_store_id,
218 index_id, 219 index_id,
219 IndexedDBKeyRange(), 220 IndexedDBKeyRange(),
220 direction, 221 direction,
221 key_only, 222 key_only,
222 blink::WebIDBDatabase::NormalTask, 223 blink::WebIDBTaskTypeNormal,
223 new CursorCallbacks(&cursor)); 224 new CursorCallbacks(&cursor));
224 225
225 // Verify that the transaction id was captured. 226 // Verify that the transaction id was captured.
226 EXPECT_EQ(1UL, dispatcher.cursor_transaction_ids_.size()); 227 EXPECT_EQ(1UL, dispatcher.cursor_transaction_ids_.size());
227 EXPECT_FALSE(cursor.get()); 228 EXPECT_FALSE(cursor.get());
228 229
229 int32 ipc_callbacks_id = dispatcher.cursor_transaction_ids_.begin()->first; 230 int32 ipc_callbacks_id = dispatcher.cursor_transaction_ids_.begin()->first;
230 231
231 // Now simululate a "null cursor" response. 232 // Now simululate a "null cursor" response.
232 IndexedDBMsg_CallbacksSuccessValue_Params params; 233 IndexedDBMsg_CallbacksSuccessValue_Params params;
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 cursor1_transaction_id); 337 cursor1_transaction_id);
337 338
338 EXPECT_EQ(2, cursor1->reset_count()); 339 EXPECT_EQ(2, cursor1->reset_count());
339 EXPECT_EQ(0, cursor2->reset_count()); 340 EXPECT_EQ(0, cursor2->reset_count());
340 341
341 cursor1.reset(); 342 cursor1.reset();
342 cursor2.reset(); 343 cursor2.reset();
343 } 344 }
344 345
345 } // namespace content 346 } // namespace content
OLDNEW
« no previous file with comments | « content/child/indexed_db/indexed_db_dispatcher.cc ('k') | content/child/indexed_db/webidbdatabase_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698