OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #include "vm/message_handler.h" | 5 #include "vm/message_handler.h" |
6 #include "vm/port.h" | 6 #include "vm/port.h" |
7 #include "vm/unit_test.h" | 7 #include "vm/unit_test.h" |
8 | 8 |
9 namespace dart { | 9 namespace dart { |
10 | 10 |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 // The notify callback is called. | 141 // The notify callback is called. |
142 EXPECT_EQ(2, handler.notify_count()); | 142 EXPECT_EQ(2, handler.notify_count()); |
143 | 143 |
144 // The message has been added to the correct queue. | 144 // The message has been added to the correct queue. |
145 EXPECT(message == handler_peer.oob_queue()->Dequeue()); | 145 EXPECT(message == handler_peer.oob_queue()->Dequeue()); |
146 EXPECT(NULL == handler_peer.queue()->Dequeue()); | 146 EXPECT(NULL == handler_peer.queue()->Dequeue()); |
147 delete message; | 147 delete message; |
148 } | 148 } |
149 | 149 |
150 | 150 |
| 151 UNIT_TEST_CASE(MessageHandler_HasOOBMessages) { |
| 152 TestMessageHandler handler; |
| 153 MessageHandlerTestPeer handler_peer(&handler); |
| 154 |
| 155 EXPECT(!handler.HasOOBMessages()); |
| 156 |
| 157 // Post a normal message. |
| 158 Message* message = new Message(1, NULL, 0, Message::kNormalPriority); |
| 159 handler_peer.PostMessage(message); |
| 160 EXPECT(!handler.HasOOBMessages()); |
| 161 |
| 162 // Post an oob message. |
| 163 message = new Message(1, NULL, 0, Message::kOOBPriority); |
| 164 handler_peer.PostMessage(message); |
| 165 EXPECT(handler.HasOOBMessages()); |
| 166 |
| 167 // Delete all pending messages. |
| 168 handler_peer.CloseAllPorts(); |
| 169 } |
| 170 |
| 171 |
151 UNIT_TEST_CASE(MessageHandler_ClosePort) { | 172 UNIT_TEST_CASE(MessageHandler_ClosePort) { |
152 TestMessageHandler handler; | 173 TestMessageHandler handler; |
153 MessageHandlerTestPeer handler_peer(&handler); | 174 MessageHandlerTestPeer handler_peer(&handler); |
154 Message* message1 = new Message(1, NULL, 0, Message::kNormalPriority); | 175 Message* message1 = new Message(1, NULL, 0, Message::kNormalPriority); |
155 handler_peer.PostMessage(message1); | 176 handler_peer.PostMessage(message1); |
156 Message* message2 = new Message(2, NULL, 0, Message::kNormalPriority); | 177 Message* message2 = new Message(2, NULL, 0, Message::kNormalPriority); |
157 handler_peer.PostMessage(message2); | 178 handler_peer.PostMessage(message2); |
158 | 179 |
159 handler_peer.ClosePort(1); | 180 handler_peer.ClosePort(1); |
160 | 181 |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
302 EXPECT_EQ(port, handler_ports[0]); | 323 EXPECT_EQ(port, handler_ports[0]); |
303 for (int i = 1; i < 11; i++) { | 324 for (int i = 1; i < 11; i++) { |
304 EXPECT_EQ(ports[i - 1], handler_ports[i]); | 325 EXPECT_EQ(ports[i - 1], handler_ports[i]); |
305 } | 326 } |
306 handler_peer.decrement_live_ports(); | 327 handler_peer.decrement_live_ports(); |
307 EXPECT(!handler.HasLivePorts()); | 328 EXPECT(!handler.HasLivePorts()); |
308 PortMap::ClosePorts(&handler); | 329 PortMap::ClosePorts(&handler); |
309 } | 330 } |
310 | 331 |
311 } // namespace dart | 332 } // namespace dart |
OLD | NEW |