| Index: third_party/WebKit/Source/core/layout/ng/ng_units_test.cc
|
| diff --git a/third_party/WebKit/Source/core/layout/ng/ng_units_test.cc b/third_party/WebKit/Source/core/layout/ng/ng_units_test.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cd9b9318b3fbb81ef1e469b3ed1c429ddc5ddcd7
|
| --- /dev/null
|
| +++ b/third_party/WebKit/Source/core/layout/ng/ng_units_test.cc
|
| @@ -0,0 +1,64 @@
|
| +// 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 "core/layout/ng/ng_units.h"
|
| +
|
| +#include "testing/gtest/include/gtest/gtest.h"
|
| +
|
| +namespace blink {
|
| +
|
| +namespace {
|
| +
|
| +// Ideally, this would be tested by NGBoxStrut::ConvertToPhysical, but
|
| +// this has not been implemented yet.
|
| +TEST(NGUnitsTest, ConvertPhysicalStrutToLogical) {
|
| + LayoutUnit left{5}, right{10}, top{15}, bottom{20};
|
| + NGPhysicalBoxStrut physical{left, right, top, bottom};
|
| +
|
| + NGBoxStrut logical =
|
| + physical.ConvertToLogical(kHorizontalTopBottom, TextDirection::kLtr);
|
| + EXPECT_EQ(left, logical.inline_start);
|
| + EXPECT_EQ(top, logical.block_start);
|
| +
|
| + logical =
|
| + physical.ConvertToLogical(kHorizontalTopBottom, TextDirection::kRtl);
|
| + EXPECT_EQ(right, logical.inline_start);
|
| + EXPECT_EQ(top, logical.block_start);
|
| +
|
| + logical = physical.ConvertToLogical(kVerticalLeftRight, TextDirection::kLtr);
|
| + EXPECT_EQ(top, logical.inline_start);
|
| + EXPECT_EQ(left, logical.block_start);
|
| +
|
| + logical = physical.ConvertToLogical(kVerticalLeftRight, TextDirection::kRtl);
|
| + EXPECT_EQ(bottom, logical.inline_start);
|
| + EXPECT_EQ(left, logical.block_start);
|
| +
|
| + logical = physical.ConvertToLogical(kVerticalRightLeft, TextDirection::kLtr);
|
| + EXPECT_EQ(top, logical.inline_start);
|
| + EXPECT_EQ(right, logical.block_start);
|
| +
|
| + logical = physical.ConvertToLogical(kVerticalRightLeft, TextDirection::kRtl);
|
| + EXPECT_EQ(bottom, logical.inline_start);
|
| + EXPECT_EQ(right, logical.block_start);
|
| +}
|
| +
|
| +TEST(NGUnitsTest, ShrinkToFit) {
|
| + MinAndMaxContentSizes sizes;
|
| +
|
| + sizes.min_content = LayoutUnit(100);
|
| + sizes.max_content = LayoutUnit(200);
|
| + EXPECT_EQ(LayoutUnit(200), sizes.ShrinkToFit(LayoutUnit(300)));
|
| +
|
| + sizes.min_content = LayoutUnit(100);
|
| + sizes.max_content = LayoutUnit(300);
|
| + EXPECT_EQ(LayoutUnit(200), sizes.ShrinkToFit(LayoutUnit(200)));
|
| +
|
| + sizes.min_content = LayoutUnit(200);
|
| + sizes.max_content = LayoutUnit(300);
|
| + EXPECT_EQ(LayoutUnit(200), sizes.ShrinkToFit(LayoutUnit(100)));
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| +} // namespace blink
|
|
|