blob: b242478c76d471889f42b3f3fec8f235b091473c [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "remoting/host/linux/x11_display_util.h"
#include "remoting/proto/control.pb.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/gfx/geometry/vector2d.h"
#include "ui/gfx/x/randr.h"
namespace remoting {
TEST(X11DisplayUtilTest, GetMonitorDpi) {
EXPECT_TRUE(GetMonitorDpi({.width = 1024, .height = 768}) ==
gfx::Vector2d({96, 96}));
EXPECT_TRUE(GetMonitorDpi({.width = 1000,
.height = 500,
.width_in_millimeters = 100,
.height_in_millimeters = 100}) ==
gfx::Vector2d({254, 127}));
}
TEST(X11DisplayUtilTest, ToVideoTrackLayout) {
x11::RandR::MonitorInfo monitor = {.name = static_cast<x11::Atom>(123),
.x = 10,
.y = 20,
.width = 1000,
.height = 500,
.width_in_millimeters = 100,
.height_in_millimeters = 100};
x11::RandRMonitorConfig layout = ToVideoTrackLayout(monitor);
EXPECT_EQ(layout.id(), 123);
EXPECT_EQ(layout.rect().x(), 10);
EXPECT_EQ(layout.rect().y(), 20);
EXPECT_EQ(layout.rect().width(), 1000);
EXPECT_EQ(layout.rect().height(), 500);
EXPECT_EQ(layout.dpi().x(), 254);
EXPECT_EQ(layout.dpi().y(), 127);
}
} // namespace remoting