Commit b570aec5 authored by Koji Ishii's avatar Koji Ishii Committed by Commit Bot

Move tests for WritingModeConverter

It turned out that |{Logical,Physical}Rect| versions of
|ConvertTo{Logical,Physical}| are not working properly, and
lacks tests.

This patch moves tests for |{Logical,Physical}Offset| to
prepare adding those tests.

Bug: 1091797
Change-Id: I1d98adaf11ac2742a619904332231c619c97f6e3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2237569Reviewed-by: default avatarYoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Koji Ishii <kojii@chromium.org>
Auto-Submit: Koji Ishii <kojii@chromium.org>
Cr-Commit-Position: refs/heads/master@{#776810}
parent 645741b0
...@@ -1184,11 +1184,10 @@ jumbo_source_set("unit_tests") { ...@@ -1184,11 +1184,10 @@ jumbo_source_set("unit_tests") {
"layout/api/selection_state_test.cc", "layout/api/selection_state_test.cc",
"layout/collapsed_border_value_test.cc", "layout/collapsed_border_value_test.cc",
"layout/force_legacy_layout_test.cc", "layout/force_legacy_layout_test.cc",
"layout/geometry/logical_offset_test.cc",
"layout/geometry/logical_rect_test.cc", "layout/geometry/logical_rect_test.cc",
"layout/geometry/physical_offset_test.cc",
"layout/geometry/physical_rect_test.cc", "layout/geometry/physical_rect_test.cc",
"layout/geometry/physical_size_test.cc", "layout/geometry/physical_size_test.cc",
"layout/geometry/writing_mode_converter_test.cc",
"layout/grid_test.cc", "layout/grid_test.cc",
"layout/hit_testing_test.cc", "layout/hit_testing_test.cc",
"layout/layout_block_test.cc", "layout/layout_block_test.cc",
......
// Copyright 2016 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 "third_party/blink/renderer/core/layout/geometry/logical_offset.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/renderer/core/layout/geometry/physical_offset.h"
#include "third_party/blink/renderer/core/layout/geometry/physical_size.h"
#include "third_party/blink/renderer/core/testing/core_unit_test_helper.h"
namespace blink {
namespace {
TEST(GeometryUnitsTest, ConvertLogicalOffsetToPhysicalOffset) {
LogicalOffset logical_offset(20, 30);
PhysicalSize outer_size(300, 400);
PhysicalSize inner_size(5, 65);
PhysicalOffset offset;
offset = logical_offset.ConvertToPhysical(
WritingMode::kHorizontalTb, TextDirection::kLtr, outer_size, inner_size);
EXPECT_EQ(20, offset.left);
EXPECT_EQ(30, offset.top);
offset = logical_offset.ConvertToPhysical(
WritingMode::kHorizontalTb, TextDirection::kRtl, outer_size, inner_size);
EXPECT_EQ(275, offset.left);
EXPECT_EQ(30, offset.top);
offset = logical_offset.ConvertToPhysical(
WritingMode::kVerticalRl, TextDirection::kLtr, outer_size, inner_size);
EXPECT_EQ(265, offset.left);
EXPECT_EQ(20, offset.top);
offset = logical_offset.ConvertToPhysical(
WritingMode::kVerticalRl, TextDirection::kRtl, outer_size, inner_size);
EXPECT_EQ(265, offset.left);
EXPECT_EQ(315, offset.top);
offset = logical_offset.ConvertToPhysical(
WritingMode::kSidewaysRl, TextDirection::kLtr, outer_size, inner_size);
EXPECT_EQ(265, offset.left);
EXPECT_EQ(20, offset.top);
offset = logical_offset.ConvertToPhysical(
WritingMode::kSidewaysRl, TextDirection::kRtl, outer_size, inner_size);
EXPECT_EQ(265, offset.left);
EXPECT_EQ(315, offset.top);
offset = logical_offset.ConvertToPhysical(
WritingMode::kVerticalLr, TextDirection::kLtr, outer_size, inner_size);
EXPECT_EQ(30, offset.left);
EXPECT_EQ(20, offset.top);
offset = logical_offset.ConvertToPhysical(
WritingMode::kVerticalLr, TextDirection::kRtl, outer_size, inner_size);
EXPECT_EQ(30, offset.left);
EXPECT_EQ(315, offset.top);
offset = logical_offset.ConvertToPhysical(
WritingMode::kSidewaysLr, TextDirection::kLtr, outer_size, inner_size);
EXPECT_EQ(30, offset.left);
EXPECT_EQ(315, offset.top);
offset = logical_offset.ConvertToPhysical(
WritingMode::kSidewaysLr, TextDirection::kRtl, outer_size, inner_size);
EXPECT_EQ(30, offset.left);
EXPECT_EQ(20, offset.top);
}
} // namespace
} // namespace blink
// Copyright 2017 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 "third_party/blink/renderer/core/layout/geometry/physical_offset.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/renderer/core/layout/geometry/logical_offset.h"
#include "third_party/blink/renderer/core/layout/geometry/physical_size.h"
#include "third_party/blink/renderer/core/testing/core_unit_test_helper.h"
namespace blink {
namespace {
TEST(GeometryUnitsTest, ConvertPhysicalOffsetToLogicalOffset) {
PhysicalOffset physical_offset(20, 30);
PhysicalSize outer_size(300, 400);
PhysicalSize inner_size(5, 65);
LogicalOffset offset;
offset = physical_offset.ConvertToLogical(
WritingMode::kHorizontalTb, TextDirection::kLtr, outer_size, inner_size);
EXPECT_EQ(20, offset.inline_offset);
EXPECT_EQ(30, offset.block_offset);
offset = physical_offset.ConvertToLogical(
WritingMode::kHorizontalTb, TextDirection::kRtl, outer_size, inner_size);
EXPECT_EQ(275, offset.inline_offset);
EXPECT_EQ(30, offset.block_offset);
offset = physical_offset.ConvertToLogical(
WritingMode::kVerticalRl, TextDirection::kLtr, outer_size, inner_size);
EXPECT_EQ(30, offset.inline_offset);
EXPECT_EQ(275, offset.block_offset);
offset = physical_offset.ConvertToLogical(
WritingMode::kVerticalRl, TextDirection::kRtl, outer_size, inner_size);
EXPECT_EQ(305, offset.inline_offset);
EXPECT_EQ(275, offset.block_offset);
offset = physical_offset.ConvertToLogical(
WritingMode::kSidewaysRl, TextDirection::kLtr, outer_size, inner_size);
EXPECT_EQ(30, offset.inline_offset);
EXPECT_EQ(275, offset.block_offset);
offset = physical_offset.ConvertToLogical(
WritingMode::kSidewaysRl, TextDirection::kRtl, outer_size, inner_size);
EXPECT_EQ(305, offset.inline_offset);
EXPECT_EQ(275, offset.block_offset);
offset = physical_offset.ConvertToLogical(
WritingMode::kVerticalLr, TextDirection::kLtr, outer_size, inner_size);
EXPECT_EQ(30, offset.inline_offset);
EXPECT_EQ(20, offset.block_offset);
offset = physical_offset.ConvertToLogical(
WritingMode::kVerticalLr, TextDirection::kRtl, outer_size, inner_size);
EXPECT_EQ(305, offset.inline_offset);
EXPECT_EQ(20, offset.block_offset);
offset = physical_offset.ConvertToLogical(
WritingMode::kSidewaysLr, TextDirection::kLtr, outer_size, inner_size);
EXPECT_EQ(305, offset.inline_offset);
EXPECT_EQ(20, offset.block_offset);
offset = physical_offset.ConvertToLogical(
WritingMode::kSidewaysLr, TextDirection::kRtl, outer_size, inner_size);
EXPECT_EQ(30, offset.inline_offset);
EXPECT_EQ(20, offset.block_offset);
}
} // namespace
} // namespace blink
// Copyright 2016 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 "third_party/blink/renderer/core/layout/geometry/writing_mode_converter.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/renderer/core/testing/core_unit_test_helper.h"
namespace blink {
namespace {
TEST(WritingModeConverterTest, ConvertLogicalOffsetToPhysicalOffset) {
LogicalOffset logical_offset(20, 30);
PhysicalSize outer_size(300, 400);
PhysicalSize inner_size(5, 65);
PhysicalOffset offset;
offset = WritingModeConverter(
{WritingMode::kHorizontalTb, TextDirection::kLtr}, outer_size)
.ToPhysical(logical_offset, inner_size);
EXPECT_EQ(PhysicalOffset(20, 30), offset);
offset = WritingModeConverter(
{WritingMode::kHorizontalTb, TextDirection::kRtl}, outer_size)
.ToPhysical(logical_offset, inner_size);
EXPECT_EQ(PhysicalOffset(275, 30), offset);
offset = WritingModeConverter({WritingMode::kVerticalRl, TextDirection::kLtr},
outer_size)
.ToPhysical(logical_offset, inner_size);
EXPECT_EQ(PhysicalOffset(265, 20), offset);
offset = WritingModeConverter({WritingMode::kVerticalRl, TextDirection::kRtl},
outer_size)
.ToPhysical(logical_offset, inner_size);
EXPECT_EQ(PhysicalOffset(265, 315), offset);
offset = WritingModeConverter({WritingMode::kSidewaysRl, TextDirection::kLtr},
outer_size)
.ToPhysical(logical_offset, inner_size);
EXPECT_EQ(PhysicalOffset(265, 20), offset);
offset = WritingModeConverter({WritingMode::kSidewaysRl, TextDirection::kRtl},
outer_size)
.ToPhysical(logical_offset, inner_size);
EXPECT_EQ(PhysicalOffset(265, 315), offset);
offset = WritingModeConverter({WritingMode::kVerticalLr, TextDirection::kLtr},
outer_size)
.ToPhysical(logical_offset, inner_size);
EXPECT_EQ(PhysicalOffset(30, 20), offset);
offset = WritingModeConverter({WritingMode::kVerticalLr, TextDirection::kRtl},
outer_size)
.ToPhysical(logical_offset, inner_size);
EXPECT_EQ(PhysicalOffset(30, 315), offset);
offset = WritingModeConverter({WritingMode::kSidewaysLr, TextDirection::kLtr},
outer_size)
.ToPhysical(logical_offset, inner_size);
EXPECT_EQ(PhysicalOffset(30, 315), offset);
offset = WritingModeConverter({WritingMode::kSidewaysLr, TextDirection::kRtl},
outer_size)
.ToPhysical(logical_offset, inner_size);
EXPECT_EQ(PhysicalOffset(30, 20), offset);
}
TEST(WritingModeConverterTest, ConvertPhysicalOffsetToLogicalOffset) {
PhysicalOffset physical_offset(20, 30);
PhysicalSize outer_size(300, 400);
PhysicalSize inner_size(5, 65);
LogicalOffset offset;
offset = WritingModeConverter(
{WritingMode::kHorizontalTb, TextDirection::kLtr}, outer_size)
.ToLogical(physical_offset, inner_size);
EXPECT_EQ(LogicalOffset(20, 30), offset);
offset = WritingModeConverter(
{WritingMode::kHorizontalTb, TextDirection::kRtl}, outer_size)
.ToLogical(physical_offset, inner_size);
EXPECT_EQ(LogicalOffset(275, 30), offset);
offset = WritingModeConverter({WritingMode::kVerticalRl, TextDirection::kLtr},
outer_size)
.ToLogical(physical_offset, inner_size);
EXPECT_EQ(LogicalOffset(30, 275), offset);
offset = WritingModeConverter({WritingMode::kVerticalRl, TextDirection::kRtl},
outer_size)
.ToLogical(physical_offset, inner_size);
EXPECT_EQ(LogicalOffset(305, 275), offset);
offset = WritingModeConverter({WritingMode::kSidewaysRl, TextDirection::kLtr},
outer_size)
.ToLogical(physical_offset, inner_size);
EXPECT_EQ(LogicalOffset(30, 275), offset);
offset = WritingModeConverter({WritingMode::kSidewaysRl, TextDirection::kRtl},
outer_size)
.ToLogical(physical_offset, inner_size);
EXPECT_EQ(LogicalOffset(305, 275), offset);
offset = WritingModeConverter({WritingMode::kVerticalLr, TextDirection::kLtr},
outer_size)
.ToLogical(physical_offset, inner_size);
EXPECT_EQ(LogicalOffset(30, 20), offset);
offset = WritingModeConverter({WritingMode::kVerticalLr, TextDirection::kRtl},
outer_size)
.ToLogical(physical_offset, inner_size);
EXPECT_EQ(LogicalOffset(305, 20), offset);
offset = WritingModeConverter({WritingMode::kSidewaysLr, TextDirection::kLtr},
outer_size)
.ToLogical(physical_offset, inner_size);
EXPECT_EQ(LogicalOffset(305, 20), offset);
offset = WritingModeConverter({WritingMode::kSidewaysLr, TextDirection::kRtl},
outer_size)
.ToLogical(physical_offset, inner_size);
EXPECT_EQ(LogicalOffset(30, 20), offset);
}
} // namespace
} // namespace blink
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment