Index: remoting/host/video_frame_capturer_mac_unittest.cc |
diff --git a/remoting/host/video_frame_capturer_mac_unittest.cc b/remoting/host/video_frame_capturer_mac_unittest.cc |
deleted file mode 100644 |
index 6a83b483f1442d0860d137c5cd1caeb3a1689242..0000000000000000000000000000000000000000 |
--- a/remoting/host/video_frame_capturer_mac_unittest.cc |
+++ /dev/null |
@@ -1,127 +0,0 @@ |
-// Copyright (c) 2012 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/host/video_frame_capturer.h" |
- |
-#include <ApplicationServices/ApplicationServices.h> |
- |
-#include <ostream> |
- |
-#include "base/bind.h" |
-#include "base/callback.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "remoting/base/capture_data.h" |
-#include "remoting/host/host_mock_objects.h" |
-#include "remoting/proto/control.pb.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-using ::testing::_; |
-using ::testing::AnyNumber; |
- |
-namespace remoting { |
- |
-// Verify that the OS is at least Snow Leopard (10.6). |
-// Chromoting doesn't support 10.5 or earlier. |
-bool CheckSnowLeopard() { |
- long minorVersion, majorVersion; |
- Gestalt(gestaltSystemVersionMajor, &majorVersion); |
- Gestalt(gestaltSystemVersionMinor, &minorVersion); |
- return majorVersion == 10 && minorVersion > 5; |
-} |
- |
-class VideoFrameCapturerMacTest : public testing::Test { |
- public: |
- // Verifies that the whole screen is initially dirty. |
- void CaptureDoneCallback1(scoped_refptr<CaptureData> capture_data); |
- |
- // Verifies that a rectangle explicitly marked as dirty is propagated |
- // correctly. |
- void CaptureDoneCallback2(scoped_refptr<CaptureData> capture_data); |
- |
- protected: |
- virtual void SetUp() OVERRIDE { |
- capturer_ = VideoFrameCapturer::Create(); |
- } |
- |
- void AddDirtyRect() { |
- SkIRect rect = SkIRect::MakeXYWH(0, 0, 10, 10); |
- region_.op(rect, SkRegion::kUnion_Op); |
- } |
- |
- scoped_ptr<VideoFrameCapturer> capturer_; |
- MockVideoFrameCapturerDelegate delegate_; |
- SkRegion region_; |
-}; |
- |
-void VideoFrameCapturerMacTest::CaptureDoneCallback1( |
- scoped_refptr<CaptureData> capture_data) { |
- CGDirectDisplayID mainDevice = CGMainDisplayID(); |
- int width = CGDisplayPixelsWide(mainDevice); |
- int height = CGDisplayPixelsHigh(mainDevice); |
- SkRegion initial_region(SkIRect::MakeXYWH(0, 0, width, height)); |
- EXPECT_EQ(initial_region, capture_data->dirty_region()); |
-} |
- |
-void VideoFrameCapturerMacTest::CaptureDoneCallback2( |
- scoped_refptr<CaptureData> capture_data) { |
- CGDirectDisplayID mainDevice = CGMainDisplayID(); |
- int width = CGDisplayPixelsWide(mainDevice); |
- int height = CGDisplayPixelsHigh(mainDevice); |
- |
- EXPECT_EQ(region_, capture_data->dirty_region()); |
- EXPECT_EQ(width, capture_data->size().width()); |
- EXPECT_EQ(height, capture_data->size().height()); |
- const DataPlanes &planes = capture_data->data_planes(); |
- EXPECT_TRUE(planes.data[0] != NULL); |
- EXPECT_TRUE(planes.data[1] == NULL); |
- EXPECT_TRUE(planes.data[2] == NULL); |
- // Depending on the capture method, the screen may be flipped or not, so |
- // the stride may be positive or negative. |
- EXPECT_EQ(static_cast<int>(sizeof(uint32_t) * width), |
- abs(planes.strides[0])); |
- EXPECT_EQ(0, planes.strides[1]); |
- EXPECT_EQ(0, planes.strides[2]); |
-} |
- |
-TEST_F(VideoFrameCapturerMacTest, Capture) { |
- if (!CheckSnowLeopard()) { |
- return; |
- } |
- |
- EXPECT_CALL(delegate_, OnCaptureCompleted(_)) |
- .Times(2) |
- .WillOnce(Invoke(this, &VideoFrameCapturerMacTest::CaptureDoneCallback1)) |
- .WillOnce(Invoke(this, &VideoFrameCapturerMacTest::CaptureDoneCallback2)); |
- EXPECT_CALL(delegate_, OnCursorShapeChangedPtr(_)) |
- .Times(AnyNumber()); |
- |
- SCOPED_TRACE(""); |
- capturer_->Start(&delegate_); |
- |
- // Check that we get an initial full-screen updated. |
- capturer_->CaptureFrame(); |
- |
- // Check that subsequent dirty rects are propagated correctly. |
- AddDirtyRect(); |
- capturer_->InvalidateRegion(region_); |
- capturer_->CaptureFrame(); |
- capturer_->Stop(); |
-} |
- |
-} // namespace remoting |
- |
-namespace gfx { |
- |
-std::ostream& operator<<(std::ostream& out, const SkRegion& region) { |
- out << "SkRegion("; |
- for (SkRegion::Iterator i(region); !i.done(); i.next()) { |
- const SkIRect& r = i.rect(); |
- out << "(" << r.fLeft << "," << r.fTop << "," |
- << r.fRight << "," << r.fBottom << ")"; |
- } |
- out << ")"; |
- return out; |
-} |
- |
-} // namespace gfx |