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

Side by Side Diff: blimp/client/feature/render_widget_feature_unittest.cc

Issue 1929723002: [Blimp] Adds blimp engine browser test framework and LoadUrl test. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update gn and deps Created 4 years, 7 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "blimp/client/feature/render_widget_feature.h" 5 #include "blimp/client/feature/render_widget_feature.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
11 #include "blimp/client/feature/mock_render_widget_feature_delegate.h"
11 #include "blimp/common/create_blimp_message.h" 12 #include "blimp/common/create_blimp_message.h"
12 #include "blimp/common/proto/blimp_message.pb.h" 13 #include "blimp/common/proto/blimp_message.pb.h"
13 #include "blimp/common/proto/compositor.pb.h" 14 #include "blimp/common/proto/compositor.pb.h"
14 #include "blimp/common/proto/render_widget.pb.h" 15 #include "blimp/common/proto/render_widget.pb.h"
15 #include "blimp/net/test_common.h" 16 #include "blimp/net/test_common.h"
16 #include "cc/proto/compositor_message.pb.h" 17 #include "cc/proto/compositor_message.pb.h"
17 #include "net/base/net_errors.h" 18 #include "net/base/net_errors.h"
18 #include "net/base/test_completion_callback.h" 19 #include "net/base/test_completion_callback.h"
19 #include "testing/gmock/include/gmock/gmock.h" 20 #include "testing/gmock/include/gmock/gmock.h"
20 #include "testing/gtest/include/gtest/gtest.h" 21 #include "testing/gtest/include/gtest/gtest.h"
21 22
22 using testing::_; 23 using testing::_;
23 using testing::InSequence; 24 using testing::InSequence;
24 using testing::Sequence; 25 using testing::Sequence;
25 26
26 namespace blimp { 27 namespace blimp {
27 namespace client { 28 namespace client {
28 29
29 namespace { 30 namespace {
30 31
31 class MockRenderWidgetFeatureDelegate
32 : public RenderWidgetFeature::RenderWidgetFeatureDelegate {
33 public:
34 // RenderWidgetFeatureDelegate implementation.
35 void OnRenderWidgetCreated(int render_widget_id) override {
36 MockableOnRenderWidgetCreated(render_widget_id);
37 }
38 void OnRenderWidgetInitialized(int render_widget_id) override {
39 MockableOnRenderWidgetInitialized(render_widget_id);
40 }
41 void OnRenderWidgetDeleted(int render_widget_id) override {
42 MockableOnRenderWidgetDeleted(render_widget_id);
43 }
44 void OnCompositorMessageReceived(
45 int render_widget_id,
46 std::unique_ptr<cc::proto::CompositorMessage> message) override {
47 MockableOnCompositorMessageReceived(render_widget_id, *message);
48 }
49
50 MOCK_METHOD1(MockableOnRenderWidgetCreated, void(int render_widget_id));
51 MOCK_METHOD1(MockableOnRenderWidgetInitialized, void(int render_widget_id));
52 MOCK_METHOD1(MockableOnRenderWidgetDeleted, void(int render_widget_id));
53 MOCK_METHOD2(MockableOnCompositorMessageReceived,
54 void(int render_widget_id,
55 const cc::proto::CompositorMessage& message));
56 };
57
58 MATCHER_P2(CompMsgEquals, tab_id, rw_id, "") { 32 MATCHER_P2(CompMsgEquals, tab_id, rw_id, "") {
59 return arg.compositor().render_widget_id() == rw_id && 33 return arg.compositor().render_widget_id() == rw_id &&
60 arg.target_tab_id() == tab_id; 34 arg.target_tab_id() == tab_id;
61 } 35 }
62 36
63 void SendRenderWidgetMessage(BlimpMessageProcessor* processor, 37 void SendRenderWidgetMessage(BlimpMessageProcessor* processor,
64 int tab_id, 38 int tab_id,
65 int rw_id, 39 int rw_id,
66 RenderWidgetMessage::Type message_type) { 40 RenderWidgetMessage::Type message_type) {
67 RenderWidgetMessage* details; 41 RenderWidgetMessage* details;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 MockBlimpMessageProcessor* out_input_processor_; 83 MockBlimpMessageProcessor* out_input_processor_;
110 MockBlimpMessageProcessor* out_compositor_processor_; 84 MockBlimpMessageProcessor* out_compositor_processor_;
111 85
112 MockRenderWidgetFeatureDelegate delegate1_; 86 MockRenderWidgetFeatureDelegate delegate1_;
113 MockRenderWidgetFeatureDelegate delegate2_; 87 MockRenderWidgetFeatureDelegate delegate2_;
114 88
115 RenderWidgetFeature feature_; 89 RenderWidgetFeature feature_;
116 }; 90 };
117 91
118 TEST_F(RenderWidgetFeatureTest, DelegateCallsOK) { 92 TEST_F(RenderWidgetFeatureTest, DelegateCallsOK) {
119 EXPECT_CALL(delegate1_, MockableOnRenderWidgetCreated(1)); 93 EXPECT_CALL(delegate1_, OnRenderWidgetCreated(1));
120 EXPECT_CALL(delegate1_, MockableOnCompositorMessageReceived(1, _)); 94 EXPECT_CALL(delegate1_, MockableOnCompositorMessageReceived(1, _));
121 EXPECT_CALL(delegate1_, MockableOnRenderWidgetInitialized(1)); 95 EXPECT_CALL(delegate1_, OnRenderWidgetInitialized(1));
122 EXPECT_CALL(delegate2_, MockableOnRenderWidgetCreated(2)); 96 EXPECT_CALL(delegate2_, OnRenderWidgetCreated(2));
123 EXPECT_CALL(delegate1_, MockableOnRenderWidgetDeleted(1)); 97 EXPECT_CALL(delegate1_, OnRenderWidgetDeleted(1));
124 98
125 SendRenderWidgetMessage(&feature_, 1, 1, RenderWidgetMessage::CREATED); 99 SendRenderWidgetMessage(&feature_, 1, 1, RenderWidgetMessage::CREATED);
126 SendCompositorMessage(&feature_, 1, 1); 100 SendCompositorMessage(&feature_, 1, 1);
127 SendRenderWidgetMessage(&feature_, 1, 1, RenderWidgetMessage::INITIALIZE); 101 SendRenderWidgetMessage(&feature_, 1, 1, RenderWidgetMessage::INITIALIZE);
128 SendRenderWidgetMessage(&feature_, 2, 2, RenderWidgetMessage::CREATED); 102 SendRenderWidgetMessage(&feature_, 2, 2, RenderWidgetMessage::CREATED);
129 SendRenderWidgetMessage(&feature_, 1, 1, RenderWidgetMessage::DELETED); 103 SendRenderWidgetMessage(&feature_, 1, 1, RenderWidgetMessage::DELETED);
130 } 104 }
131 105
132 TEST_F(RenderWidgetFeatureTest, RepliesHaveCorrectRenderWidgetId) { 106 TEST_F(RenderWidgetFeatureTest, RepliesHaveCorrectRenderWidgetId) {
133 InSequence sequence; 107 InSequence sequence;
134 108
135 EXPECT_CALL(*out_compositor_processor_, 109 EXPECT_CALL(*out_compositor_processor_,
136 MockableProcessMessage(CompMsgEquals(1, 2), _)); 110 MockableProcessMessage(CompMsgEquals(1, 2), _));
137 EXPECT_CALL(*out_compositor_processor_, 111 EXPECT_CALL(*out_compositor_processor_,
138 MockableProcessMessage(CompMsgEquals(1, 2), _)); 112 MockableProcessMessage(CompMsgEquals(1, 2), _));
139 EXPECT_CALL(*out_compositor_processor_, 113 EXPECT_CALL(*out_compositor_processor_,
140 MockableProcessMessage(CompMsgEquals(2, 3), _)); 114 MockableProcessMessage(CompMsgEquals(2, 3), _));
141 115
142 SendRenderWidgetMessage(&feature_, 1, 2, RenderWidgetMessage::CREATED); 116 SendRenderWidgetMessage(&feature_, 1, 2, RenderWidgetMessage::CREATED);
143 feature_.SendCompositorMessage(1, 2, cc::proto::CompositorMessage()); 117 feature_.SendCompositorMessage(1, 2, cc::proto::CompositorMessage());
144 SendRenderWidgetMessage(&feature_, 1, 2, RenderWidgetMessage::INITIALIZE); 118 SendRenderWidgetMessage(&feature_, 1, 2, RenderWidgetMessage::INITIALIZE);
145 feature_.SendCompositorMessage(1, 2, cc::proto::CompositorMessage()); 119 feature_.SendCompositorMessage(1, 2, cc::proto::CompositorMessage());
146 SendRenderWidgetMessage(&feature_, 2, 3, RenderWidgetMessage::CREATED); 120 SendRenderWidgetMessage(&feature_, 2, 3, RenderWidgetMessage::CREATED);
147 feature_.SendCompositorMessage(2, 3, cc::proto::CompositorMessage()); 121 feature_.SendCompositorMessage(2, 3, cc::proto::CompositorMessage());
148 } 122 }
149 123
150 } // namespace client 124 } // namespace client
151 } // namespace blimp 125 } // namespace blimp
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698