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

Side by Side Diff: third_party/WebKit/Source/modules/mediastream/RTCDataChannelTest.cpp

Issue 2080623002: Revert "Remove OwnPtr from Blink." (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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 "modules/mediastream/RTCDataChannel.h" 5 #include "modules/mediastream/RTCDataChannel.h"
6 6
7 #include "bindings/core/v8/ExceptionStatePlaceholder.h" 7 #include "bindings/core/v8/ExceptionStatePlaceholder.h"
8 #include "core/dom/DOMArrayBuffer.h" 8 #include "core/dom/DOMArrayBuffer.h"
9 #include "core/dom/DOMException.h" 9 #include "core/dom/DOMException.h"
10 #include "core/events/Event.h" 10 #include "core/events/Event.h"
11 #include "platform/heap/Heap.h" 11 #include "platform/heap/Heap.h"
12 #include "public/platform/WebRTCDataChannelHandler.h" 12 #include "public/platform/WebRTCDataChannelHandler.h"
13 #include "public/platform/WebVector.h" 13 #include "public/platform/WebVector.h"
14 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
15 #include "wtf/PtrUtil.h"
16 #include "wtf/RefPtr.h" 15 #include "wtf/RefPtr.h"
17 #include "wtf/text/WTFString.h" 16 #include "wtf/text/WTFString.h"
18 17
19 namespace blink { 18 namespace blink {
20 namespace { 19 namespace {
21 20
22 class MockHandler final : public WebRTCDataChannelHandler { 21 class MockHandler final : public WebRTCDataChannelHandler {
23 public: 22 public:
24 MockHandler() 23 MockHandler()
25 : m_client(0) 24 : m_client(0)
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 WebRTCDataChannelHandlerClient* m_client; 70 WebRTCDataChannelHandlerClient* m_client;
72 WebRTCDataChannelHandlerClient::ReadyState m_state; 71 WebRTCDataChannelHandlerClient::ReadyState m_state;
73 unsigned long m_bufferedAmount; 72 unsigned long m_bufferedAmount;
74 }; 73 };
75 74
76 } // namespace 75 } // namespace
77 76
78 TEST(RTCDataChannelTest, BufferedAmount) 77 TEST(RTCDataChannelTest, BufferedAmount)
79 { 78 {
80 MockHandler* handler = new MockHandler(); 79 MockHandler* handler = new MockHandler();
81 RTCDataChannel* channel = RTCDataChannel::create(0, wrapUnique(handler)); 80 RTCDataChannel* channel = RTCDataChannel::create(0, adoptPtr(handler));
82 81
83 handler->changeState(WebRTCDataChannelHandlerClient::ReadyStateOpen); 82 handler->changeState(WebRTCDataChannelHandlerClient::ReadyStateOpen);
84 String message(std::string(100, 'A').c_str()); 83 String message(std::string(100, 'A').c_str());
85 channel->send(message, IGNORE_EXCEPTION); 84 channel->send(message, IGNORE_EXCEPTION);
86 EXPECT_EQ(100U, channel->bufferedAmount()); 85 EXPECT_EQ(100U, channel->bufferedAmount());
87 } 86 }
88 87
89 TEST(RTCDataChannelTest, BufferedAmountLow) 88 TEST(RTCDataChannelTest, BufferedAmountLow)
90 { 89 {
91 MockHandler* handler = new MockHandler(); 90 MockHandler* handler = new MockHandler();
92 RTCDataChannel* channel = RTCDataChannel::create(0, wrapUnique(handler)); 91 RTCDataChannel* channel = RTCDataChannel::create(0, adoptPtr(handler));
93 92
94 // Add and drain 100 bytes 93 // Add and drain 100 bytes
95 handler->changeState(WebRTCDataChannelHandlerClient::ReadyStateOpen); 94 handler->changeState(WebRTCDataChannelHandlerClient::ReadyStateOpen);
96 String message(std::string(100, 'A').c_str()); 95 String message(std::string(100, 'A').c_str());
97 channel->send(message, IGNORE_EXCEPTION); 96 channel->send(message, IGNORE_EXCEPTION);
98 EXPECT_EQ(100U, channel->bufferedAmount()); 97 EXPECT_EQ(100U, channel->bufferedAmount());
99 EXPECT_EQ(1U, channel->m_scheduledEvents.size()); 98 EXPECT_EQ(1U, channel->m_scheduledEvents.size());
100 99
101 handler->drainBuffer(100); 100 handler->drainBuffer(100);
102 EXPECT_EQ(0U, channel->bufferedAmount()); 101 EXPECT_EQ(0U, channel->bufferedAmount());
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 channel->setBufferedAmountLowThreshold(97U); 135 channel->setBufferedAmountLowThreshold(97U);
137 EXPECT_EQ(4U, channel->m_scheduledEvents.size()); // No new events. 136 EXPECT_EQ(4U, channel->m_scheduledEvents.size()); // No new events.
138 137
139 handler->drainBuffer(1); 138 handler->drainBuffer(1);
140 EXPECT_EQ(97U, channel->bufferedAmount()); 139 EXPECT_EQ(97U, channel->bufferedAmount());
141 EXPECT_EQ(5U, channel->m_scheduledEvents.size()); // New event. 140 EXPECT_EQ(5U, channel->m_scheduledEvents.size()); // New event.
142 EXPECT_EQ("bufferedamountlow", std::string(channel->m_scheduledEvents.last() ->type().utf8().data())); 141 EXPECT_EQ("bufferedamountlow", std::string(channel->m_scheduledEvents.last() ->type().utf8().data()));
143 } 142 }
144 143
145 } // namespace blink 144 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698