Chromium Code Reviews| Index: media/video/capture/screen/screen_capturer_unittest.cc |
| diff --git a/media/video/capture/screen/screen_capturer_unittest.cc b/media/video/capture/screen/screen_capturer_unittest.cc |
| index 4ed45d9648cc45be2b262f56a0ae42a9fac5393c..87074786f6b3392a8a0ed7edbc77d96b3315ab4b 100644 |
| --- a/media/video/capture/screen/screen_capturer_unittest.cc |
| +++ b/media/video/capture/screen/screen_capturer_unittest.cc |
| @@ -8,10 +8,11 @@ |
| #if defined(OS_MACOSX) |
| #include "base/mac/mac_util.h" |
| #endif // defined(OS_MACOSX) |
| -#include "media/video/capture/screen/screen_capture_data.h" |
| #include "media/video/capture/screen/screen_capturer_mock_objects.h" |
| #include "testing/gmock/include/gmock/gmock.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| +#include "third_party/webrtc/modules/desktop_capture/desktop_frame.h" |
| +#include "third_party/webrtc/modules/desktop_capture/desktop_region.h" |
| using ::testing::_; |
| using ::testing::AnyNumber; |
| @@ -20,65 +21,58 @@ using ::testing::Return; |
| namespace media { |
| MATCHER(DirtyRegionIsNonEmptyRect, "") { |
| - const SkRegion& dirty_region = arg->dirty_region(); |
| - const SkIRect& dirty_region_bounds = dirty_region.getBounds(); |
| - if (dirty_region_bounds.isEmpty()) { |
| - return false; |
| - } |
| - return dirty_region == SkRegion(dirty_region_bounds); |
| + const webrtc::DesktopRegion& updated_region = arg->updated_region(); |
| + webrtc::DesktopRegion::Iterator it(updated_region); |
| + return !it.IsAtEnd() && (it.Advance(), it.IsAtEnd()); |
|
alexeypa (please no reviews)
2013/05/08 22:24:59
The name of the matcher does not reflect what it d
Sergey Ulanov
2013/05/09 18:49:02
I think it's correct. This matcher verifies that t
|
| } |
| class ScreenCapturerTest : public testing::Test { |
| public: |
| - scoped_refptr<SharedBuffer> CreateSharedBuffer(uint32 size); |
| protected: |
| scoped_ptr<ScreenCapturer> capturer_; |
| - MockScreenCapturerDelegate delegate_; |
| + MockMouseShapeObserver mouse_observer_; |
| + MockScreenCapturerCallback callback_; |
| }; |
| -scoped_refptr<SharedBuffer> ScreenCapturerTest::CreateSharedBuffer( |
| - uint32 size) { |
| - return scoped_refptr<SharedBuffer>(new SharedBuffer(size)); |
| -} |
| - |
| TEST_F(ScreenCapturerTest, StartCapturer) { |
| capturer_ = ScreenCapturer::Create(); |
| - capturer_->Start(&delegate_); |
| + capturer_->SetMouseShapeObserver(&mouse_observer_); |
| + capturer_->Start(&callback_); |
| } |
| TEST_F(ScreenCapturerTest, Capture) { |
| // Assume that Start() treats the screen as invalid initially. |
| - EXPECT_CALL(delegate_, |
| + EXPECT_CALL(callback_, |
| OnCaptureCompleted(DirtyRegionIsNonEmptyRect())); |
| - EXPECT_CALL(delegate_, OnCursorShapeChangedPtr(_)) |
| + EXPECT_CALL(mouse_observer_, OnCursorShapeChangedPtr(_)) |
| .Times(AnyNumber()); |
| - EXPECT_CALL(delegate_, CreateSharedBuffer(_)) |
| + EXPECT_CALL(callback_, CreateSharedMemory(_)) |
| .Times(AnyNumber()) |
| - .WillRepeatedly(Return(scoped_refptr<SharedBuffer>())); |
| + .WillRepeatedly(Return(static_cast<webrtc::SharedMemory*>(NULL))); |
| capturer_ = ScreenCapturer::Create(); |
| - capturer_->Start(&delegate_); |
| - capturer_->CaptureFrame(); |
| + capturer_->Start(&callback_); |
| + capturer_->Capture(webrtc::DesktopRegion()); |
| } |
| #if defined(OS_WIN) |
| TEST_F(ScreenCapturerTest, UseSharedBuffers) { |
| - EXPECT_CALL(delegate_, |
| + EXPECT_CALL(callback_, |
| OnCaptureCompleted(DirtyRegionIsNonEmptyRect())); |
| - EXPECT_CALL(delegate_, OnCursorShapeChangedPtr(_)) |
| + EXPECT_CALL(mouse_observer_, OnCursorShapeChangedPtr(_)) |
| .Times(AnyNumber()); |
| - EXPECT_CALL(delegate_, CreateSharedBuffer(_)) |
| + EXPECT_CALL(callback_, CreateSharedBuffer(_)) |
| .Times(AnyNumber()) |
| .WillRepeatedly(Invoke(this, &ScreenCapturerTest::CreateSharedBuffer)); |
| - EXPECT_CALL(delegate_, ReleaseSharedBuffer(_)) |
| + EXPECT_CALL(callback_, ReleaseSharedBuffer(_)) |
| .Times(AnyNumber()); |
| capturer_ = ScreenCapturer::Create(); |
| - capturer_->Start(&delegate_); |
| + capturer_->Start(&callback_); |
| capturer_->CaptureFrame(); |
| capturer_.reset(); |
| } |