Add DesktopRectTest for UnionWith() function
DesktopRect::UnionWith() function has been added by change https://codereview.webrtc.org/2845213002. This change adds test cases to cover the newly added logic. More specifically, union between an empty rectangle and a non-empty one or two empty rectangles. BUG=webrtc:7541 Review-Url: https://codereview.webrtc.org/2891593003 Cr-Commit-Position: refs/heads/master@{#18201}
This commit is contained in:
parent
119c407848
commit
8eef7aa7cf
@ -76,6 +76,7 @@ if (rtc_include_tests) {
|
||||
"desktop_and_cursor_composer_unittest.cc",
|
||||
"desktop_capturer_differ_wrapper_unittest.cc",
|
||||
"desktop_frame_rotation_unittest.cc",
|
||||
"desktop_geometry_unittest.cc",
|
||||
"desktop_region_unittest.cc",
|
||||
"differ_block_unittest.cc",
|
||||
"fallback_desktop_capturer_wrapper_unittest.cc",
|
||||
|
||||
69
webrtc/modules/desktop_capture/desktop_geometry_unittest.cc
Normal file
69
webrtc/modules/desktop_capture/desktop_geometry_unittest.cc
Normal file
@ -0,0 +1,69 @@
|
||||
/*
|
||||
* Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include "webrtc/modules/desktop_capture/desktop_geometry.h"
|
||||
|
||||
#include "webrtc/test/gtest.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
TEST(DesktopRectTest, UnionBetweenTwoNonEmptyRects) {
|
||||
DesktopRect rect = DesktopRect::MakeLTRB(1, 1, 2, 2);
|
||||
rect.UnionWith(DesktopRect::MakeLTRB(-2, -2, -1, -1));
|
||||
ASSERT_TRUE(rect.equals(DesktopRect::MakeLTRB(-2, -2, 2, 2)));
|
||||
}
|
||||
|
||||
TEST(DesktopRectTest, UnionWithEmptyRect) {
|
||||
DesktopRect rect = DesktopRect::MakeWH(1, 1);
|
||||
rect.UnionWith(DesktopRect());
|
||||
ASSERT_TRUE(rect.equals(DesktopRect::MakeWH(1, 1)));
|
||||
|
||||
rect = DesktopRect::MakeXYWH(1, 1, 2, 2);
|
||||
rect.UnionWith(DesktopRect());
|
||||
ASSERT_TRUE(rect.equals(DesktopRect::MakeXYWH(1, 1, 2, 2)));
|
||||
|
||||
rect = DesktopRect::MakeXYWH(1, 1, 2, 2);
|
||||
rect.UnionWith(DesktopRect::MakeXYWH(3, 3, 0, 0));
|
||||
ASSERT_TRUE(rect.equals(DesktopRect::MakeXYWH(1, 1, 2, 2)));
|
||||
}
|
||||
|
||||
TEST(DesktopRectTest, EmptyRectUnionWithNonEmptyOne) {
|
||||
DesktopRect rect;
|
||||
rect.UnionWith(DesktopRect::MakeWH(1, 1));
|
||||
ASSERT_TRUE(rect.equals(DesktopRect::MakeWH(1, 1)));
|
||||
|
||||
rect = DesktopRect();
|
||||
rect.UnionWith(DesktopRect::MakeXYWH(1, 1, 2, 2));
|
||||
ASSERT_TRUE(rect.equals(DesktopRect::MakeXYWH(1, 1, 2, 2)));
|
||||
|
||||
rect = DesktopRect::MakeXYWH(3, 3, 0, 0);
|
||||
rect.UnionWith(DesktopRect::MakeXYWH(1, 1, 2, 2));
|
||||
ASSERT_TRUE(rect.equals(DesktopRect::MakeXYWH(1, 1, 2, 2)));
|
||||
}
|
||||
|
||||
TEST(DesktopRectTest, EmptyRectUnionWithEmptyOne) {
|
||||
DesktopRect rect;
|
||||
rect.UnionWith(DesktopRect());
|
||||
ASSERT_TRUE(rect.is_empty());
|
||||
|
||||
rect = DesktopRect::MakeXYWH(1, 1, 0, 0);
|
||||
rect.UnionWith(DesktopRect());
|
||||
ASSERT_TRUE(rect.is_empty());
|
||||
|
||||
rect = DesktopRect();
|
||||
rect.UnionWith(DesktopRect::MakeXYWH(1, 1, 0, 0));
|
||||
ASSERT_TRUE(rect.is_empty());
|
||||
|
||||
rect = DesktopRect::MakeXYWH(1, 1, 0, 0);
|
||||
rect.UnionWith(DesktopRect::MakeXYWH(-1, -1, 0, 0));
|
||||
ASSERT_TRUE(rect.is_empty());
|
||||
}
|
||||
|
||||
} // namespace webrtc
|
||||
Loading…
x
Reference in New Issue
Block a user