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

Side by Side Diff: cc/scheduler/begin_frame_source_unittest.cc

Issue 754433003: Update from https://crrev.com/305340 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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 | « cc/scheduler/begin_frame_source.cc ('k') | cc/scheduler/scheduler.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 2011 The Chromium Authors. All rights reserved. 1 // Copyright 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 <deque> 5 #include <deque>
6 #include <string> 6 #include <string>
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/gtest_prod_util.h" 9 #include "base/gtest_prod_util.h"
10 #include "base/test/test_simple_task_runner.h" 10 #include "base/test/test_simple_task_runner.h"
(...skipping 20 matching lines...) Expand all
31 ::testing::Expectation exp = \ 31 ::testing::Expectation exp = \
32 EXPECT_CALL((obs), OnBeginFrame(args)).InSequence((obs).sequence); \ 32 EXPECT_CALL((obs), OnBeginFrame(args)).InSequence((obs).sequence); \
33 EXPECT_CALL((obs), LastUsedBeginFrameArgs()) \ 33 EXPECT_CALL((obs), LastUsedBeginFrameArgs()) \
34 .Times(::testing::AnyNumber()) \ 34 .Times(::testing::AnyNumber()) \
35 .After(exp) \ 35 .After(exp) \
36 .WillRepeatedly(::testing::Return(args)); \ 36 .WillRepeatedly(::testing::Return(args)); \
37 } 37 }
38 38
39 // Macros to send BeginFrameArgs on a FakeBeginFrameSink (and verify resulting 39 // Macros to send BeginFrameArgs on a FakeBeginFrameSink (and verify resulting
40 // observer behaviour). 40 // observer behaviour).
41 #define SEND_BEGIN_FRAME( \ 41 #define SEND_BEGIN_FRAME(args_equal_to, source, frame_time, deadline, \
42 args_equal_to, source, frame_time, deadline, interval) \ 42 interval) \
43 { \ 43 { \
44 BeginFrameArgs old_args = (source).TestLastUsedBeginFrameArgs(); \ 44 BeginFrameArgs old_args = (source).TestLastUsedBeginFrameArgs(); \
45 BeginFrameArgs new_args = \ 45 BeginFrameArgs new_args = \
46 CreateBeginFrameArgsForTesting(frame_time, deadline, interval); \ 46 CreateBeginFrameArgsForTesting(frame_time, deadline, interval); \
47 ASSERT_TRUE(!(old_args == new_args)); \ 47 ASSERT_FALSE(old_args == new_args); \
48 (source).TestOnBeginFrame(new_args); \ 48 (source).TestOnBeginFrame(new_args); \
49 EXPECT_EQ(args_equal_to, (source).TestLastUsedBeginFrameArgs()); \ 49 EXPECT_EQ(args_equal_to, (source).TestLastUsedBeginFrameArgs()); \
50 } 50 }
51 51
52 // When dropping LastUsedBeginFrameArgs **shouldn't** change. 52 // When dropping LastUsedBeginFrameArgs **shouldn't** change.
53 #define SEND_BEGIN_FRAME_DROP(source, frame_time, deadline, interval) \ 53 #define SEND_BEGIN_FRAME_DROP(source, frame_time, deadline, interval) \
54 SEND_BEGIN_FRAME(old_args, source, frame_time, deadline, interval); 54 SEND_BEGIN_FRAME(old_args, source, frame_time, deadline, interval);
55 55
56 // When used LastUsedBeginFrameArgs **should** be updated. 56 // When used LastUsedBeginFrameArgs **should** be updated.
57 #define SEND_BEGIN_FRAME_USED(source, frame_time, deadline, interval) \ 57 #define SEND_BEGIN_FRAME_USED(source, frame_time, deadline, interval) \
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 obs_ = make_scoped_ptr(new MockBeginFrameObserver()); 487 obs_ = make_scoped_ptr(new MockBeginFrameObserver());
488 source_->AddObserver(obs_.get()); 488 source_->AddObserver(obs_.get());
489 } 489 }
490 490
491 void TearDown() override { obs_.reset(); } 491 void TearDown() override { obs_.reset(); }
492 }; 492 };
493 493
494 TEST_F(SyntheticBeginFrameSourceTest, 494 TEST_F(SyntheticBeginFrameSourceTest,
495 SetNeedsBeginFramesCallsOnBeginFrameWithMissedTick) { 495 SetNeedsBeginFramesCallsOnBeginFrameWithMissedTick) {
496 now_src_->SetNowMicroseconds(10010); 496 now_src_->SetNowMicroseconds(10010);
497 EXPECT_CALL((*obs_), 497 EXPECT_CALL((*obs_), OnBeginFrame(CreateBeginFrameArgsForTesting(
498 OnBeginFrame(CreateTypedBeginFrameArgsForTesting( 498 10000, 20000, 10000, BeginFrameArgs::MISSED)));
499 10000, 20000, 10000, BeginFrameArgs::MISSED)));
500 source_->SetNeedsBeginFrames(true); // Should cause the last tick to be sent 499 source_->SetNeedsBeginFrames(true); // Should cause the last tick to be sent
501 // No tasks should need to be run for this to occur. 500 // No tasks should need to be run for this to occur.
502 } 501 }
503 502
504 TEST_F(SyntheticBeginFrameSourceTest, 503 TEST_F(SyntheticBeginFrameSourceTest,
505 SetNeedsBeginFramesCallsCausesOnBeginFrame) { 504 SetNeedsBeginFramesCallsCausesOnBeginFrame) {
506 source_->SetNeedsBeginFrames(true); 505 source_->SetNeedsBeginFrames(true);
507 EXPECT_EQ(10000, task_runner_->NextTaskTime().ToInternalValue()); 506 EXPECT_EQ(10000, task_runner_->NextTaskTime().ToInternalValue());
508 507
509 EXPECT_BEGIN_FRAME_USED(*obs_, 10000, 20000, 10000); 508 EXPECT_BEGIN_FRAME_USED(*obs_, 10000, 20000, 10000);
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 mux_->SetActiveSource(source2_); 737 mux_->SetActiveSource(source2_);
739 SEND_BEGIN_FRAME_DROP(*source2_, 750, 1050, 300); 738 SEND_BEGIN_FRAME_DROP(*source2_, 750, 1050, 300);
740 SEND_BEGIN_FRAME_USED(*source2_, 1050, 1250, 300); 739 SEND_BEGIN_FRAME_USED(*source2_, 1050, 1250, 300);
741 740
742 mux_->SetActiveSource(source1_); 741 mux_->SetActiveSource(source1_);
743 SEND_BEGIN_FRAME_DROP(*source2_, 1100, 1400, 300); 742 SEND_BEGIN_FRAME_DROP(*source2_, 1100, 1400, 300);
744 } 743 }
745 744
746 } // namespace 745 } // namespace
747 } // namespace cc 746 } // namespace cc
OLDNEW
« no previous file with comments | « cc/scheduler/begin_frame_source.cc ('k') | cc/scheduler/scheduler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698