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

Side by Side Diff: mojo/edk/system/shared_buffer_dispatcher_unittest.cc

Issue 1350183002: EDK: More scoped_ptr -> std::unique_ptr conversions. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: gah Created 5 years, 3 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
« no previous file with comments | « mojo/edk/system/shared_buffer_dispatcher.cc ('k') | mojo/edk/system/transport_data.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "mojo/edk/system/shared_buffer_dispatcher.h" 5 #include "mojo/edk/system/shared_buffer_dispatcher.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "mojo/edk/embedder/platform_shared_buffer.h" 10 #include "mojo/edk/embedder/platform_shared_buffer.h"
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 TEST_F(SharedBufferDispatcherTest, CreateAndMapBuffer) { 115 TEST_F(SharedBufferDispatcherTest, CreateAndMapBuffer) {
116 scoped_refptr<SharedBufferDispatcher> dispatcher; 116 scoped_refptr<SharedBufferDispatcher> dispatcher;
117 EXPECT_EQ(MOJO_RESULT_OK, SharedBufferDispatcher::Create( 117 EXPECT_EQ(MOJO_RESULT_OK, SharedBufferDispatcher::Create(
118 platform_support(), 118 platform_support(),
119 SharedBufferDispatcher::kDefaultCreateOptions, 119 SharedBufferDispatcher::kDefaultCreateOptions,
120 100, &dispatcher)); 120 100, &dispatcher));
121 ASSERT_TRUE(dispatcher); 121 ASSERT_TRUE(dispatcher);
122 EXPECT_EQ(Dispatcher::Type::SHARED_BUFFER, dispatcher->GetType()); 122 EXPECT_EQ(Dispatcher::Type::SHARED_BUFFER, dispatcher->GetType());
123 123
124 // Make a couple of mappings. 124 // Make a couple of mappings.
125 scoped_ptr<embedder::PlatformSharedBufferMapping> mapping1; 125 std::unique_ptr<embedder::PlatformSharedBufferMapping> mapping1;
126 EXPECT_EQ(MOJO_RESULT_OK, dispatcher->MapBuffer( 126 EXPECT_EQ(MOJO_RESULT_OK, dispatcher->MapBuffer(
127 0, 100, MOJO_MAP_BUFFER_FLAG_NONE, &mapping1)); 127 0, 100, MOJO_MAP_BUFFER_FLAG_NONE, &mapping1));
128 ASSERT_TRUE(mapping1); 128 ASSERT_TRUE(mapping1);
129 ASSERT_TRUE(mapping1->GetBase()); 129 ASSERT_TRUE(mapping1->GetBase());
130 EXPECT_EQ(100u, mapping1->GetLength()); 130 EXPECT_EQ(100u, mapping1->GetLength());
131 // Write something. 131 // Write something.
132 static_cast<char*>(mapping1->GetBase())[50] = 'x'; 132 static_cast<char*>(mapping1->GetBase())[50] = 'x';
133 133
134 scoped_ptr<embedder::PlatformSharedBufferMapping> mapping2; 134 std::unique_ptr<embedder::PlatformSharedBufferMapping> mapping2;
135 EXPECT_EQ(MOJO_RESULT_OK, dispatcher->MapBuffer( 135 EXPECT_EQ(MOJO_RESULT_OK, dispatcher->MapBuffer(
136 50, 50, MOJO_MAP_BUFFER_FLAG_NONE, &mapping2)); 136 50, 50, MOJO_MAP_BUFFER_FLAG_NONE, &mapping2));
137 ASSERT_TRUE(mapping2); 137 ASSERT_TRUE(mapping2);
138 ASSERT_TRUE(mapping2->GetBase()); 138 ASSERT_TRUE(mapping2->GetBase());
139 EXPECT_EQ(50u, mapping2->GetLength()); 139 EXPECT_EQ(50u, mapping2->GetLength());
140 EXPECT_EQ('x', static_cast<char*>(mapping2->GetBase())[0]); 140 EXPECT_EQ('x', static_cast<char*>(mapping2->GetBase())[0]);
141 141
142 EXPECT_EQ(MOJO_RESULT_OK, dispatcher->Close()); 142 EXPECT_EQ(MOJO_RESULT_OK, dispatcher->Close());
143 143
144 // Check that we can still read/write to mappings after the dispatcher has 144 // Check that we can still read/write to mappings after the dispatcher has
145 // gone away. 145 // gone away.
146 static_cast<char*>(mapping2->GetBase())[1] = 'y'; 146 static_cast<char*>(mapping2->GetBase())[1] = 'y';
147 EXPECT_EQ('y', static_cast<char*>(mapping1->GetBase())[51]); 147 EXPECT_EQ('y', static_cast<char*>(mapping1->GetBase())[51]);
148 } 148 }
149 149
150 TEST_F(SharedBufferDispatcherTest, DuplicateBufferHandle) { 150 TEST_F(SharedBufferDispatcherTest, DuplicateBufferHandle) {
151 scoped_refptr<SharedBufferDispatcher> dispatcher1; 151 scoped_refptr<SharedBufferDispatcher> dispatcher1;
152 EXPECT_EQ(MOJO_RESULT_OK, SharedBufferDispatcher::Create( 152 EXPECT_EQ(MOJO_RESULT_OK, SharedBufferDispatcher::Create(
153 platform_support(), 153 platform_support(),
154 SharedBufferDispatcher::kDefaultCreateOptions, 154 SharedBufferDispatcher::kDefaultCreateOptions,
155 100, &dispatcher1)); 155 100, &dispatcher1));
156 156
157 // Map and write something. 157 // Map and write something.
158 scoped_ptr<embedder::PlatformSharedBufferMapping> mapping; 158 std::unique_ptr<embedder::PlatformSharedBufferMapping> mapping;
159 EXPECT_EQ(MOJO_RESULT_OK, dispatcher1->MapBuffer( 159 EXPECT_EQ(MOJO_RESULT_OK, dispatcher1->MapBuffer(
160 0, 100, MOJO_MAP_BUFFER_FLAG_NONE, &mapping)); 160 0, 100, MOJO_MAP_BUFFER_FLAG_NONE, &mapping));
161 static_cast<char*>(mapping->GetBase())[0] = 'x'; 161 static_cast<char*>(mapping->GetBase())[0] = 'x';
162 mapping.reset(); 162 mapping.reset();
163 163
164 // Duplicate |dispatcher1| and then close it. 164 // Duplicate |dispatcher1| and then close it.
165 scoped_refptr<Dispatcher> dispatcher2; 165 scoped_refptr<Dispatcher> dispatcher2;
166 EXPECT_EQ(MOJO_RESULT_OK, dispatcher1->DuplicateBufferHandle( 166 EXPECT_EQ(MOJO_RESULT_OK, dispatcher1->DuplicateBufferHandle(
167 NullUserPointer(), &dispatcher2)); 167 NullUserPointer(), &dispatcher2));
168 ASSERT_TRUE(dispatcher2); 168 ASSERT_TRUE(dispatcher2);
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 EXPECT_FALSE(dispatcher); 251 EXPECT_FALSE(dispatcher);
252 } 252 }
253 253
254 TEST_F(SharedBufferDispatcherTest, MapBufferInvalidArguments) { 254 TEST_F(SharedBufferDispatcherTest, MapBufferInvalidArguments) {
255 scoped_refptr<SharedBufferDispatcher> dispatcher; 255 scoped_refptr<SharedBufferDispatcher> dispatcher;
256 EXPECT_EQ(MOJO_RESULT_OK, SharedBufferDispatcher::Create( 256 EXPECT_EQ(MOJO_RESULT_OK, SharedBufferDispatcher::Create(
257 platform_support(), 257 platform_support(),
258 SharedBufferDispatcher::kDefaultCreateOptions, 258 SharedBufferDispatcher::kDefaultCreateOptions,
259 100, &dispatcher)); 259 100, &dispatcher));
260 260
261 scoped_ptr<embedder::PlatformSharedBufferMapping> mapping; 261 std::unique_ptr<embedder::PlatformSharedBufferMapping> mapping;
262 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 262 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
263 dispatcher->MapBuffer(0, 101, MOJO_MAP_BUFFER_FLAG_NONE, &mapping)); 263 dispatcher->MapBuffer(0, 101, MOJO_MAP_BUFFER_FLAG_NONE, &mapping));
264 EXPECT_FALSE(mapping); 264 EXPECT_FALSE(mapping);
265 265
266 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 266 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
267 dispatcher->MapBuffer(1, 100, MOJO_MAP_BUFFER_FLAG_NONE, &mapping)); 267 dispatcher->MapBuffer(1, 100, MOJO_MAP_BUFFER_FLAG_NONE, &mapping));
268 EXPECT_FALSE(mapping); 268 EXPECT_FALSE(mapping);
269 269
270 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT, 270 EXPECT_EQ(MOJO_RESULT_INVALID_ARGUMENT,
271 dispatcher->MapBuffer(0, 0, MOJO_MAP_BUFFER_FLAG_NONE, &mapping)); 271 dispatcher->MapBuffer(0, 0, MOJO_MAP_BUFFER_FLAG_NONE, &mapping));
272 EXPECT_FALSE(mapping); 272 EXPECT_FALSE(mapping);
273 273
274 EXPECT_EQ(MOJO_RESULT_OK, dispatcher->Close()); 274 EXPECT_EQ(MOJO_RESULT_OK, dispatcher->Close());
275 } 275 }
276 276
277 } // namespace 277 } // namespace
278 } // namespace system 278 } // namespace system
279 } // namespace mojo 279 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/edk/system/shared_buffer_dispatcher.cc ('k') | mojo/edk/system/transport_data.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698