| Index: remoting/ios/bridge/frame_consumer_bridge_unittest.cc
|
| diff --git a/remoting/ios/bridge/frame_consumer_bridge_unittest.cc b/remoting/ios/bridge/frame_consumer_bridge_unittest.cc
|
| deleted file mode 100644
|
| index 30d63d0e326b07f04fb9b8f231c40140fb1a5760..0000000000000000000000000000000000000000
|
| --- a/remoting/ios/bridge/frame_consumer_bridge_unittest.cc
|
| +++ /dev/null
|
| @@ -1,138 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "remoting/ios/bridge/frame_consumer_bridge.h"
|
| -
|
| -#include <queue>
|
| -#include <gtest/gtest.h>
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "third_party/webrtc/modules/desktop_capture/desktop_frame.h"
|
| -#include "third_party/webrtc/modules/desktop_capture/desktop_region.h"
|
| -
|
| -namespace {
|
| -const webrtc::DesktopSize kFrameSize(100, 100);
|
| -const webrtc::DesktopVector kDpi(100, 100);
|
| -
|
| -const webrtc::DesktopRect FrameRect() {
|
| - return webrtc::DesktopRect::MakeSize(kFrameSize);
|
| -}
|
| -
|
| -webrtc::DesktopRegion FrameRegion() {
|
| - return webrtc::DesktopRegion(FrameRect());
|
| -}
|
| -
|
| -void FrameDelivery(const webrtc::DesktopSize& view_size,
|
| - webrtc::DesktopFrame* buffer,
|
| - const webrtc::DesktopRegion& region) {
|
| - ASSERT_TRUE(view_size.equals(kFrameSize));
|
| - ASSERT_TRUE(region.Equals(FrameRegion()));
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -namespace remoting {
|
| -
|
| -class FrameProducerTester : public FrameProducer {
|
| - public:
|
| - virtual ~FrameProducerTester() {};
|
| -
|
| - virtual void DrawBuffer(webrtc::DesktopFrame* buffer) OVERRIDE {
|
| - frames.push(buffer);
|
| - };
|
| -
|
| - virtual void InvalidateRegion(const webrtc::DesktopRegion& region) OVERRIDE {
|
| - NOTIMPLEMENTED();
|
| - };
|
| -
|
| - virtual void RequestReturnBuffers(const base::Closure& done) OVERRIDE {
|
| - // Don't have to actually return the buffers. This function is really
|
| - // saying don't use the references anymore, they are now invalid.
|
| - while (!frames.empty()) {
|
| - frames.pop();
|
| - }
|
| - done.Run();
|
| - };
|
| -
|
| - virtual void SetOutputSizeAndClip(const webrtc::DesktopSize& view_size,
|
| - const webrtc::DesktopRect& clip_area)
|
| - OVERRIDE {
|
| - viewSize = view_size;
|
| - clipArea = clip_area;
|
| - };
|
| -
|
| - std::queue<webrtc::DesktopFrame*> frames;
|
| - webrtc::DesktopSize viewSize;
|
| - webrtc::DesktopRect clipArea;
|
| -};
|
| -
|
| -class FrameConsumerBridgeTest : public ::testing::Test {
|
| - protected:
|
| - virtual void SetUp() OVERRIDE {
|
| - frameProducer_.reset(new FrameProducerTester());
|
| - frameConsumer_.reset(new FrameConsumerBridge(base::Bind(&FrameDelivery)));
|
| - frameConsumer_->Initialize(frameProducer_.get());
|
| - }
|
| - virtual void TearDown() OVERRIDE {}
|
| -
|
| - scoped_ptr<FrameProducerTester> frameProducer_;
|
| - scoped_ptr<FrameConsumerBridge> frameConsumer_;
|
| -};
|
| -
|
| -TEST(FrameConsumerBridgeTest_NotInitialized, CreateAndRelease) {
|
| - scoped_ptr<FrameConsumerBridge> frameConsumer_(
|
| - new FrameConsumerBridge(base::Bind(&FrameDelivery)));
|
| - ASSERT_TRUE(frameConsumer_.get() != NULL);
|
| - frameConsumer_.reset();
|
| - ASSERT_TRUE(frameConsumer_.get() == NULL);
|
| -}
|
| -
|
| -TEST_F(FrameConsumerBridgeTest, ApplyBuffer) {
|
| - webrtc::DesktopFrame* frame = NULL;
|
| - ASSERT_EQ(0, frameProducer_->frames.size());
|
| - frameConsumer_->SetSourceSize(kFrameSize, kDpi);
|
| - ASSERT_EQ(1, frameProducer_->frames.size());
|
| -
|
| - // Return the frame, and ensure we get it back
|
| - frame = frameProducer_->frames.front();
|
| - frameProducer_->frames.pop();
|
| - ASSERT_EQ(0, frameProducer_->frames.size());
|
| - frameConsumer_->ApplyBuffer(
|
| - kFrameSize, FrameRect(), frame, FrameRegion(), FrameRegion());
|
| - ASSERT_EQ(1, frameProducer_->frames.size());
|
| - ASSERT_TRUE(frame == frameProducer_->frames.front());
|
| - ASSERT_TRUE(frame->data() == frameProducer_->frames.front()->data());
|
| -
|
| - // Change the SourceSize, we should get a new frame, but when the old frame is
|
| - // submitted we will not get it back.
|
| - frameConsumer_->SetSourceSize(webrtc::DesktopSize(1, 1), kDpi);
|
| - ASSERT_EQ(2, frameProducer_->frames.size());
|
| - frame = frameProducer_->frames.front();
|
| - frameProducer_->frames.pop();
|
| - ASSERT_EQ(1, frameProducer_->frames.size());
|
| - frameConsumer_->ApplyBuffer(
|
| - kFrameSize, FrameRect(), frame, FrameRegion(), FrameRegion());
|
| - ASSERT_EQ(1, frameProducer_->frames.size());
|
| -}
|
| -
|
| -TEST_F(FrameConsumerBridgeTest, SetSourceSize) {
|
| - frameConsumer_->SetSourceSize(webrtc::DesktopSize(0, 0),
|
| - webrtc::DesktopVector(0, 0));
|
| - ASSERT_TRUE(frameProducer_->viewSize.equals(webrtc::DesktopSize(0, 0)));
|
| - ASSERT_TRUE(frameProducer_->clipArea.equals(
|
| - webrtc::DesktopRect::MakeLTRB(0, 0, 0, 0)));
|
| - ASSERT_EQ(1, frameProducer_->frames.size());
|
| - ASSERT_TRUE(
|
| - frameProducer_->frames.front()->size().equals(webrtc::DesktopSize(0, 0)));
|
| -
|
| - frameConsumer_->SetSourceSize(kFrameSize, kDpi);
|
| - ASSERT_TRUE(frameProducer_->viewSize.equals(kFrameSize));
|
| - ASSERT_TRUE(frameProducer_->clipArea.equals(FrameRect()));
|
| - ASSERT_EQ(2, frameProducer_->frames.size());
|
| - frameProducer_->frames.pop();
|
| - ASSERT_TRUE(frameProducer_->frames.front()->size().equals(kFrameSize));
|
| -}
|
| -
|
| -} // namespace remoting
|
|
|