OLD | NEW |
---|---|
(Empty) | |
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 | |
3 // found in the LICENSE file. | |
4 // | |
5 // Uniitest for data encryption functions. | |
6 | |
7 #include "blimp/net/blimp_message_demultiplexer.h" | |
8 | |
9 #include "base/logging.h" | |
10 #include "blimp/net/test_common.h" | |
11 #include "net/base/net_errors.h" | |
12 #include "net/base/test_completion_callback.h" | |
13 #include "testing/gmock/include/gmock/gmock.h" | |
14 #include "testing/gtest/include/gtest/gtest.h" | |
15 | |
16 using testing::_; | |
17 using testing::InvokeArgument; | |
18 using testing::Ref; | |
19 using testing::Return; | |
20 using testing::SaveArg; | |
21 | |
22 namespace blimp { | |
23 | |
24 TEST(BlimpMessageDemultiplexerTest, AllInteractions) { | |
Wez
2015/11/12 00:12:54
As noted on the other unittests in this CL, it's b
Kevin M
2015/11/12 01:53:16
Done.
| |
25 BlimpMessage input_msg; | |
26 BlimpMessage compositor_msg; | |
27 input_msg.set_type(BlimpMessage::INPUT); | |
28 compositor_msg.set_type(BlimpMessage::COMPOSITOR); | |
29 | |
30 MockBlimpMessageProcessor receiver1; | |
31 MockBlimpMessageProcessor receiver2; | |
32 net::CompletionCallback captured_cb; | |
33 EXPECT_CALL(receiver1, ProcessMessage(Ref(input_msg), _)) | |
34 .WillOnce(SaveArg<1>(&captured_cb)); | |
35 EXPECT_CALL(receiver2, ProcessMessage(Ref(compositor_msg), _)) | |
36 .WillOnce(SaveArg<1>(&captured_cb)); | |
37 | |
38 BlimpMessageDemultiplexer demux; | |
39 demux.AddProcessor(BlimpMessage::INPUT, &receiver1); | |
40 demux.AddProcessor(BlimpMessage::COMPOSITOR, &receiver2); | |
41 | |
42 net::TestCompletionCallback cb1; | |
43 demux.ProcessMessage(input_msg, cb1.callback()); | |
44 captured_cb.Run(net::OK); | |
45 EXPECT_EQ(net::OK, cb1.WaitForResult()); | |
46 net::TestCompletionCallback cb2; | |
47 demux.ProcessMessage(compositor_msg, cb2.callback()); | |
48 captured_cb.Run(net::ERR_FAILED); | |
49 EXPECT_EQ(net::ERR_FAILED, cb2.WaitForResult()); | |
50 } | |
51 | |
52 } // namespace blimp | |
OLD | NEW |