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

Side by Side Diff: media/base/composite_filter_unittest.cc

Issue 9717021: Make Callback::Reset() return a copy to support use-cases where Run() ends up modifying |*this|. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 8 years, 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/bind.h" 5 #include "base/bind.h"
6 #include "base/message_loop.h" 6 #include "base/message_loop.h"
7 #include "media/base/composite_filter.h" 7 #include "media/base/composite_filter.h"
8 #include "media/base/mock_callback.h" 8 #include "media/base/mock_callback.h"
9 #include "media/base/mock_filter_host.h" 9 #include "media/base/mock_filter_host.h"
10 #include "media/base/mock_filters.h" 10 #include "media/base/mock_filters.h"
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 329
330 bool CompositeFilterTest::HasFilter1Callback() const { 330 bool CompositeFilterTest::HasFilter1Callback() const {
331 CHECK(filter_1_cb_.is_null() || filter_1_status_cb_.is_null()); 331 CHECK(filter_1_cb_.is_null() || filter_1_status_cb_.is_null());
332 return !filter_1_cb_.is_null() || !filter_1_status_cb_.is_null(); 332 return !filter_1_cb_.is_null() || !filter_1_status_cb_.is_null();
333 } 333 }
334 334
335 void CompositeFilterTest::RunFilter1Callback() { 335 void CompositeFilterTest::RunFilter1Callback() {
336 EXPECT_TRUE(HasFilter1Callback()); 336 EXPECT_TRUE(HasFilter1Callback());
337 337
338 if (!filter_1_status_cb_.is_null()) { 338 if (!filter_1_status_cb_.is_null()) {
339 ResetAndRunCB(&filter_1_status_cb_, filter_1_status_); 339 filter_1_status_cb_.ResetAndRun(filter_1_status_);
340 filter_1_status_ = PIPELINE_OK; 340 filter_1_status_ = PIPELINE_OK;
341 return; 341 return;
342 } 342 }
343 343
344 EXPECT_TRUE(!filter_1_cb_.is_null()); 344 EXPECT_TRUE(!filter_1_cb_.is_null());
345 base::Closure callback = filter_1_cb_; 345 base::Closure callback = filter_1_cb_;
346 filter_1_cb_.Reset(); 346 filter_1_cb_.Reset();
347 callback.Run(); 347 callback.Run();
348 } 348 }
349 349
350 bool CompositeFilterTest::HasFilter2Callback() const { 350 bool CompositeFilterTest::HasFilter2Callback() const {
351 CHECK(filter_2_cb_.is_null() || filter_2_status_cb_.is_null()); 351 CHECK(filter_2_cb_.is_null() || filter_2_status_cb_.is_null());
352 return !filter_2_cb_.is_null() || !filter_2_status_cb_.is_null(); 352 return !filter_2_cb_.is_null() || !filter_2_status_cb_.is_null();
353 } 353 }
354 354
355 void CompositeFilterTest::RunFilter2Callback() { 355 void CompositeFilterTest::RunFilter2Callback() {
356 EXPECT_TRUE(HasFilter2Callback()); 356 EXPECT_TRUE(HasFilter2Callback());
357 357
358 if (!filter_2_status_cb_.is_null()) { 358 if (!filter_2_status_cb_.is_null()) {
359 ResetAndRunCB(&filter_2_status_cb_, filter_2_status_); 359 filter_2_status_cb_.ResetAndRun(filter_2_status_);
360 filter_2_status_ = PIPELINE_OK; 360 filter_2_status_ = PIPELINE_OK;
361 return; 361 return;
362 } 362 }
363 363
364 EXPECT_FALSE(filter_2_cb_.is_null()); 364 EXPECT_FALSE(filter_2_cb_.is_null());
365 base::Closure callback = filter_2_cb_; 365 base::Closure callback = filter_2_cb_;
366 filter_2_cb_.Reset(); 366 filter_2_cb_.Reset();
367 callback.Run(); 367 callback.Run();
368 } 368 }
369 369
(...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after
788 NewExpectedStatusCB(PIPELINE_OK)); 788 NewExpectedStatusCB(PIPELINE_OK));
789 789
790 // Issue a Play() and expect no errors. 790 // Issue a Play() and expect no errors.
791 composite_->Play(NewExpectedClosure()); 791 composite_->Play(NewExpectedClosure());
792 792
793 // Issue a Stop() and expect no errors. 793 // Issue a Stop() and expect no errors.
794 composite_->Stop(NewExpectedClosure()); 794 composite_->Stop(NewExpectedClosure());
795 } 795 }
796 796
797 } // namespace media 797 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698