| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 214 | 214 |
| 215 TEST(ScopedVectorTest, MoveConstruct) { | 215 TEST(ScopedVectorTest, MoveConstruct) { |
| 216 LifeCycleWatcher watcher; | 216 LifeCycleWatcher watcher; |
| 217 EXPECT_EQ(LC_INITIAL, watcher.life_cycle_state()); | 217 EXPECT_EQ(LC_INITIAL, watcher.life_cycle_state()); |
| 218 { | 218 { |
| 219 ScopedVector<LifeCycleObject> scoped_vector; | 219 ScopedVector<LifeCycleObject> scoped_vector; |
| 220 scoped_vector.push_back(watcher.NewLifeCycleObject()); | 220 scoped_vector.push_back(watcher.NewLifeCycleObject()); |
| 221 EXPECT_FALSE(scoped_vector.empty()); | 221 EXPECT_FALSE(scoped_vector.empty()); |
| 222 EXPECT_TRUE(watcher.IsWatching(scoped_vector.back())); | 222 EXPECT_TRUE(watcher.IsWatching(scoped_vector.back())); |
| 223 | 223 |
| 224 ScopedVector<LifeCycleObject> scoped_vector_copy( | 224 ScopedVector<LifeCycleObject> scoped_vector_copy(std::move(scoped_vector)); |
| 225 scoped_vector.DEPRECATED_Pass()); | |
| 226 EXPECT_TRUE(scoped_vector.empty()); | 225 EXPECT_TRUE(scoped_vector.empty()); |
| 227 EXPECT_FALSE(scoped_vector_copy.empty()); | 226 EXPECT_FALSE(scoped_vector_copy.empty()); |
| 228 EXPECT_TRUE(watcher.IsWatching(scoped_vector_copy.back())); | 227 EXPECT_TRUE(watcher.IsWatching(scoped_vector_copy.back())); |
| 229 | 228 |
| 230 EXPECT_EQ(LC_CONSTRUCTED, watcher.life_cycle_state()); | 229 EXPECT_EQ(LC_CONSTRUCTED, watcher.life_cycle_state()); |
| 231 } | 230 } |
| 232 EXPECT_EQ(LC_DESTROYED, watcher.life_cycle_state()); | 231 EXPECT_EQ(LC_DESTROYED, watcher.life_cycle_state()); |
| 233 } | 232 } |
| 234 | 233 |
| 235 TEST(ScopedVectorTest, MoveAssign) { | 234 TEST(ScopedVectorTest, MoveAssign) { |
| 236 LifeCycleWatcher watcher; | 235 LifeCycleWatcher watcher; |
| 237 EXPECT_EQ(LC_INITIAL, watcher.life_cycle_state()); | 236 EXPECT_EQ(LC_INITIAL, watcher.life_cycle_state()); |
| 238 { | 237 { |
| 239 ScopedVector<LifeCycleObject> scoped_vector; | 238 ScopedVector<LifeCycleObject> scoped_vector; |
| 240 scoped_vector.push_back(watcher.NewLifeCycleObject()); | 239 scoped_vector.push_back(watcher.NewLifeCycleObject()); |
| 241 ScopedVector<LifeCycleObject> scoped_vector_assign; | 240 ScopedVector<LifeCycleObject> scoped_vector_assign; |
| 242 EXPECT_FALSE(scoped_vector.empty()); | 241 EXPECT_FALSE(scoped_vector.empty()); |
| 243 EXPECT_TRUE(watcher.IsWatching(scoped_vector.back())); | 242 EXPECT_TRUE(watcher.IsWatching(scoped_vector.back())); |
| 244 | 243 |
| 245 scoped_vector_assign = scoped_vector.DEPRECATED_Pass(); | 244 scoped_vector_assign = std::move(scoped_vector); |
| 246 EXPECT_TRUE(scoped_vector.empty()); | 245 EXPECT_TRUE(scoped_vector.empty()); |
| 247 EXPECT_FALSE(scoped_vector_assign.empty()); | 246 EXPECT_FALSE(scoped_vector_assign.empty()); |
| 248 EXPECT_TRUE(watcher.IsWatching(scoped_vector_assign.back())); | 247 EXPECT_TRUE(watcher.IsWatching(scoped_vector_assign.back())); |
| 249 | 248 |
| 250 EXPECT_EQ(LC_CONSTRUCTED, watcher.life_cycle_state()); | 249 EXPECT_EQ(LC_CONSTRUCTED, watcher.life_cycle_state()); |
| 251 } | 250 } |
| 252 EXPECT_EQ(LC_DESTROYED, watcher.life_cycle_state()); | 251 EXPECT_EQ(LC_DESTROYED, watcher.life_cycle_state()); |
| 253 } | 252 } |
| 254 | 253 |
| 255 class DeleteCounter { | 254 class DeleteCounter { |
| (...skipping 11 matching lines...) Expand all Loading... |
| 267 private: | 266 private: |
| 268 int* const deletes_; | 267 int* const deletes_; |
| 269 | 268 |
| 270 RTC_DISALLOW_COPY_AND_ASSIGN(DeleteCounter); | 269 RTC_DISALLOW_COPY_AND_ASSIGN(DeleteCounter); |
| 271 }; | 270 }; |
| 272 | 271 |
| 273 // This class is used in place of Chromium's base::Callback. | 272 // This class is used in place of Chromium's base::Callback. |
| 274 template <typename T> | 273 template <typename T> |
| 275 class PassThru { | 274 class PassThru { |
| 276 public: | 275 public: |
| 277 explicit PassThru(ScopedVector<T> scoper) | 276 explicit PassThru(ScopedVector<T> scoper) : scoper_(std::move(scoper)) {} |
| 278 : scoper_(scoper.DEPRECATED_Pass()) {} | 277 ScopedVector<T> Run() { return std::move(scoper_); } |
| 279 | |
| 280 ScopedVector<T> Run() { | |
| 281 return scoper_.DEPRECATED_Pass(); | |
| 282 } | |
| 283 | 278 |
| 284 private: | 279 private: |
| 285 ScopedVector<T> scoper_; | 280 ScopedVector<T> scoper_; |
| 286 }; | 281 }; |
| 287 | 282 |
| 288 TEST(ScopedVectorTest, Passed) { | 283 TEST(ScopedVectorTest, Passed) { |
| 289 int deletes = 0; | 284 int deletes = 0; |
| 290 ScopedVector<DeleteCounter> deleter_vector; | 285 ScopedVector<DeleteCounter> deleter_vector; |
| 291 deleter_vector.push_back(new DeleteCounter(&deletes)); | 286 deleter_vector.push_back(new DeleteCounter(&deletes)); |
| 292 EXPECT_EQ(0, deletes); | 287 EXPECT_EQ(0, deletes); |
| 293 PassThru<DeleteCounter> pass_thru(deleter_vector.DEPRECATED_Pass()); | 288 PassThru<DeleteCounter> pass_thru(std::move(deleter_vector)); |
| 294 EXPECT_EQ(0, deletes); | 289 EXPECT_EQ(0, deletes); |
| 295 ScopedVector<DeleteCounter> result = pass_thru.Run(); | 290 ScopedVector<DeleteCounter> result = pass_thru.Run(); |
| 296 EXPECT_EQ(0, deletes); | 291 EXPECT_EQ(0, deletes); |
| 297 result.clear(); | 292 result.clear(); |
| 298 EXPECT_EQ(1, deletes); | 293 EXPECT_EQ(1, deletes); |
| 299 }; | 294 }; |
| 300 | 295 |
| 301 TEST(ScopedVectorTest, InsertRange) { | 296 TEST(ScopedVectorTest, InsertRange) { |
| 302 LifeCycleWatcher watchers[5]; | 297 LifeCycleWatcher watchers[5]; |
| 303 size_t watchers_size = sizeof(watchers) / sizeof(*watchers); | 298 size_t watchers_size = sizeof(watchers) / sizeof(*watchers); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 321 EXPECT_EQ(LC_CONSTRUCTED, it->life_cycle_state()); | 316 EXPECT_EQ(LC_CONSTRUCTED, it->life_cycle_state()); |
| 322 for (LifeCycleWatcher* it = watchers + 1; it != watchers + 3; ++it) | 317 for (LifeCycleWatcher* it = watchers + 1; it != watchers + 3; ++it) |
| 323 EXPECT_EQ(LC_DESTROYED, it->life_cycle_state()); | 318 EXPECT_EQ(LC_DESTROYED, it->life_cycle_state()); |
| 324 for (LifeCycleWatcher* it = watchers + 3; it != watchers + watchers_size; | 319 for (LifeCycleWatcher* it = watchers + 3; it != watchers + watchers_size; |
| 325 ++it) | 320 ++it) |
| 326 EXPECT_EQ(LC_CONSTRUCTED, it->life_cycle_state()); | 321 EXPECT_EQ(LC_CONSTRUCTED, it->life_cycle_state()); |
| 327 } | 322 } |
| 328 | 323 |
| 329 } // namespace | 324 } // namespace |
| 330 } // namespace webrtc | 325 } // namespace webrtc |
| OLD | NEW |