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

Side by Side Diff: Source/core/html/StableStateTest.cpp

Issue 153813002: Support "await a stable state" and "provide a stable state" (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 10 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "config.h"
6 #include "core/html/StableState.h"
7
8 #include <gmock/gmock.h>
9 #include <gtest/gtest.h>
10
11 using WebCore::StableState;
12
13 namespace {
14
15 class MockAwaiter : public StableState::Awaiter {
16 public:
17 MOCK_METHOD0(didAwaitStableState, void());
18 };
19
20 TEST(StableState, Await)
21 {
22 MockAwaiter awaiter;
23 EXPECT_CALL(awaiter, didAwaitStableState()).Times(0);
24 awaiter.awaitStableState();
25 }
26
27 TEST(StableState, AwaitProvide)
28 {
29 MockAwaiter awaiter;
30 EXPECT_CALL(awaiter, didAwaitStableState()).Times(1);
31 awaiter.awaitStableState();
32 StableState::provide();
33 }
34
35 TEST(StableState, AwaitProvideTwice)
36 {
37 MockAwaiter awaiter;
38 EXPECT_CALL(awaiter, didAwaitStableState()).Times(1);
39 awaiter.awaitStableState();
40 StableState::provide();
41 StableState::provide();
42 }
43
44 TEST(StableState, AwaitTwiceProvide)
45 {
46 MockAwaiter awaiter;
47 EXPECT_CALL(awaiter, didAwaitStableState()).Times(1);
48 awaiter.awaitStableState();
49 awaiter.awaitStableState();
50 StableState::provide();
51 }
52
53 TEST(StableState, AwaitProvideAwaitProvide)
54 {
55 MockAwaiter awaiter;
56 EXPECT_CALL(awaiter, didAwaitStableState()).Times(2);
57 awaiter.awaitStableState();
58 StableState::provide();
59 awaiter.awaitStableState();
60 StableState::provide();
61 }
62
63 TEST(StableState, StopProvide)
64 {
65 MockAwaiter awaiter;
66 EXPECT_CALL(awaiter, didAwaitStableState()).Times(0);
67 awaiter.stopAwaitingStableState();
68 StableState::provide();
69 }
70
71 TEST(StableState, StopAwaitProvide)
72 {
73 MockAwaiter awaiter;
74 EXPECT_CALL(awaiter, didAwaitStableState()).Times(1);
75 awaiter.stopAwaitingStableState();
76 awaiter.awaitStableState();
77 StableState::provide();
78 }
79
80 TEST(StableState, AwaitStopProvide)
81 {
82 MockAwaiter awaiter;
83 EXPECT_CALL(awaiter, didAwaitStableState()).Times(0);
84 awaiter.awaitStableState();
85 awaiter.stopAwaitingStableState();
86 StableState::provide();
87 }
88
89 TEST(StableState, TwoAwaiters)
90 {
91 MockAwaiter awaiter1;
92 MockAwaiter awaiter2;
93 EXPECT_CALL(awaiter1, didAwaitStableState()).Times(1);
94 EXPECT_CALL(awaiter2, didAwaitStableState()).Times(1);
95 awaiter1.awaitStableState();
96 awaiter2.awaitStableState();
97 StableState::provide();
98 }
99
100 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698