blob: 6d2432b78135389d847d481832eec6f09fcb11b0 [file] [log] [blame]
// 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_block_layout_algorithm.h"
#include "core/layout/ng/ng_box_iterator.h"
#include "core/layout/ng/ng_constraint_space.h"
#include "core/layout/ng/ng_fragment.h"
#include "core/style/ComputedStyle.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace blink {
namespace {
class NGBlockLayoutAlgorithmTest : public ::testing::Test {
protected:
void SetUp() override { style_ = ComputedStyle::create(); }
RefPtr<ComputedStyle> style_;
};
TEST_F(NGBlockLayoutAlgorithmTest, FixedSize) {
style_->setWidth(Length(30, Fixed));
style_->setHeight(Length(40, Fixed));
NGLogicalSize container_size;
container_size.inlineSize = LayoutUnit(100);
container_size.blockSize = LayoutUnit(-1);
NGConstraintSpace space(container_size);
NGBlockLayoutAlgorithm algorithm(style_, NGBoxIterator(NGBox()));
NGFragment* frag = algorithm.layout(space);
EXPECT_EQ(frag->inlineSize(), LayoutUnit(30));
EXPECT_EQ(frag->blockSize(), LayoutUnit(40));
}
} // namespace
} // namespace blink