| Index: remoting/client/plugin/empty_cursor_filter_unittest.cc
|
| diff --git a/remoting/client/plugin/empty_cursor_filter_unittest.cc b/remoting/client/plugin/empty_cursor_filter_unittest.cc
|
| deleted file mode 100644
|
| index 8cdeb7d918cc1cb0d88065838c427d0960a8eec9..0000000000000000000000000000000000000000
|
| --- a/remoting/client/plugin/empty_cursor_filter_unittest.cc
|
| +++ /dev/null
|
| @@ -1,132 +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/client/plugin/empty_cursor_filter.h"
|
| -
|
| -#include <ostream>
|
| -
|
| -#include "remoting/proto/control.pb.h"
|
| -#include "remoting/protocol/cursor_shape_stub.h"
|
| -#include "remoting/protocol/protocol_mock_objects.h"
|
| -#include "testing/gmock/include/gmock/gmock.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace remoting {
|
| -
|
| -namespace {
|
| -
|
| -// Chromoting cursors are always RGBA.
|
| -const int kBytesPerPixel = 4;
|
| -
|
| -const int kTestCursorWidth = 100;
|
| -const int kTestCursorHeight = 64;
|
| -const int kTestCursorHotspotX = 10;
|
| -const int kTestCursorHotspotY = 30;
|
| -const int kTestCursorDataSize =
|
| - kTestCursorWidth * kTestCursorHeight * kBytesPerPixel;
|
| -
|
| -protocol::CursorShapeInfo CreateTransparentCursorShape() {
|
| - protocol::CursorShapeInfo transparent_cursor;
|
| - transparent_cursor.set_width(kTestCursorWidth);
|
| - transparent_cursor.set_height(kTestCursorHeight);
|
| - transparent_cursor.set_hotspot_x(kTestCursorHotspotX);
|
| - transparent_cursor.set_hotspot_y(kTestCursorHotspotY);
|
| - transparent_cursor.mutable_data()->resize(kTestCursorDataSize, 0);
|
| - return transparent_cursor;
|
| -}
|
| -
|
| -protocol::CursorShapeInfo CreateOpaqueCursorShape() {
|
| - protocol::CursorShapeInfo cursor = CreateTransparentCursorShape();
|
| - cursor.mutable_data()->assign(kTestCursorDataSize, 0x01);
|
| - return cursor;
|
| -}
|
| -
|
| -MATCHER_P(EqualsCursorShape, cursor_shape, "") {
|
| - // TODO(wez): Should not assume that all fields were set.
|
| - return arg.data() == cursor_shape.data() &&
|
| - arg.width() == cursor_shape.width() &&
|
| - arg.height() == cursor_shape.height() &&
|
| - arg.hotspot_x() == cursor_shape.hotspot_x() &&
|
| - arg.hotspot_y() == cursor_shape.hotspot_y();
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -namespace protocol {
|
| -
|
| -// This pretty-printer must be defined under remoting::protocol to be used.
|
| -::std::ostream& operator<<(::std::ostream& os, const CursorShapeInfo& cursor) {
|
| - return os << "[w:" << cursor.width() << ", h:" << cursor.height()
|
| - << ", h.x:" << cursor.hotspot_x() << ", h.y:" << cursor.hotspot_y()
|
| - << ", data.size:" << cursor.data().size() << "]";
|
| -}
|
| -
|
| -} // namespace protocol
|
| -
|
| -// Verify that EmptyCursorShape() generates a normalized empty cursor.
|
| -TEST(EmptyCursorFilterTest, EmptyCursorShape) {
|
| - const protocol::CursorShapeInfo& empty_cursor = EmptyCursorShape();
|
| -
|
| - // TODO(wez): Replace these individual asserts with IsCursorShapeValid()?
|
| - ASSERT_TRUE(empty_cursor.has_data());
|
| - ASSERT_TRUE(empty_cursor.has_width());
|
| - ASSERT_TRUE(empty_cursor.has_height());
|
| - ASSERT_TRUE(empty_cursor.has_hotspot_x());
|
| - ASSERT_TRUE(empty_cursor.has_hotspot_y());
|
| -
|
| - EXPECT_EQ(0, empty_cursor.width());
|
| - EXPECT_EQ(0, empty_cursor.height());
|
| - EXPECT_EQ(0, empty_cursor.hotspot_x());
|
| - EXPECT_EQ(0, empty_cursor.hotspot_y());
|
| - EXPECT_TRUE(empty_cursor.data().empty());
|
| -}
|
| -
|
| -// Verify that IsCursorShapeEmpty returns true only for normalized empty
|
| -// cursors, not for opaque or transparent non-empty cursors.
|
| -TEST(EmptyCursorFilterTest, IsCursorShapeEmpty) {
|
| - const protocol::CursorShapeInfo& kEmptyCursor = EmptyCursorShape();
|
| - EXPECT_TRUE(IsCursorShapeEmpty(kEmptyCursor));
|
| -
|
| - const protocol::CursorShapeInfo& kOpaqueCursor = CreateOpaqueCursorShape();
|
| - EXPECT_FALSE(IsCursorShapeEmpty(kOpaqueCursor));
|
| -
|
| - const protocol::CursorShapeInfo& kTransparentCursor =
|
| - CreateTransparentCursorShape();
|
| - EXPECT_FALSE(IsCursorShapeEmpty(kTransparentCursor));
|
| -}
|
| -
|
| -// Verify that EmptyCursorFilter behaves correctly for normalized empty cursors.
|
| -TEST(EmptyCursorFilterTest, EmptyCursor) {
|
| - const protocol::CursorShapeInfo& kEmptyCursor = EmptyCursorShape();
|
| - protocol::MockCursorShapeStub cursor_stub;
|
| - EmptyCursorFilter cursor_filter(&cursor_stub);
|
| -
|
| - EXPECT_CALL(cursor_stub, SetCursorShape(EqualsCursorShape(kEmptyCursor)));
|
| -
|
| - cursor_filter.SetCursorShape(kEmptyCursor);
|
| -}
|
| -
|
| -// Verify that EmptyCursorFilter turns transparent cursors into empty ones.
|
| -TEST(EmptyCursorFilterTest, TransparentCursor) {
|
| - const protocol::CursorShapeInfo& kEmptyCursor = EmptyCursorShape();
|
| - protocol::MockCursorShapeStub cursor_stub;
|
| - EmptyCursorFilter cursor_filter(&cursor_stub);
|
| -
|
| - EXPECT_CALL(cursor_stub, SetCursorShape(EqualsCursorShape(kEmptyCursor)));
|
| -
|
| - cursor_filter.SetCursorShape(CreateTransparentCursorShape());
|
| -}
|
| -
|
| -// Verify that EmptyCursorFilter leaves non-transparent cursors alone.
|
| -TEST(EmptyCursorFilterTest, NonTransparentCursor) {
|
| - const protocol::CursorShapeInfo& kOpaqueCursor = CreateOpaqueCursorShape();
|
| - protocol::MockCursorShapeStub cursor_stub;
|
| - EmptyCursorFilter cursor_filter(&cursor_stub);
|
| -
|
| - EXPECT_CALL(cursor_stub, SetCursorShape(EqualsCursorShape(kOpaqueCursor)));
|
| -
|
| - cursor_filter.SetCursorShape(kOpaqueCursor);
|
| -}
|
| -
|
| -} // namespace remoting
|
|
|