| Index: third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm_test.cc
 | 
| diff --git a/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm_test.cc b/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm_test.cc
 | 
| index f239f14719b25fa815b681e07e8f88faa541f101..7b21fa5f0e42c366d8d8beceffe805e7682c87fa 100644
 | 
| --- a/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm_test.cc
 | 
| +++ b/third_party/WebKit/Source/core/layout/ng/ng_block_layout_algorithm_test.cc
 | 
| @@ -35,5 +35,48 @@ TEST_F(NGBlockLayoutAlgorithmTest, FixedSize) {
 | 
|    EXPECT_EQ(frag->Height(), LayoutUnit(40));
 | 
|  }
 | 
|  
 | 
| +// Verifies that two children are laid out with the correct size and position.
 | 
| +TEST_F(NGBlockLayoutAlgorithmTest, LayoutBlockChildren) {
 | 
| +  const int kWidth = 30;
 | 
| +  const int kHeight1 = 20;
 | 
| +  const int kHeight2 = 30;
 | 
| +  const int kMarginTop = 5;
 | 
| +  const int kMarginBottom = 20;
 | 
| +  style_->setWidth(Length(kWidth, Fixed));
 | 
| +
 | 
| +  NGConstraintSpace* space = new NGConstraintSpace(
 | 
| +      HorizontalTopBottom, NGLogicalSize(LayoutUnit(100), NGSizeIndefinite));
 | 
| +
 | 
| +  RefPtr<ComputedStyle> first_style = ComputedStyle::create();
 | 
| +  first_style->setHeight(Length(kHeight1, Fixed));
 | 
| +  NGBox* first_child = new NGBox(first_style.get());
 | 
| +
 | 
| +  RefPtr<ComputedStyle> second_style = ComputedStyle::create();
 | 
| +  second_style->setHeight(Length(kHeight2, Fixed));
 | 
| +  second_style->setMarginTop(Length(kMarginTop, Fixed));
 | 
| +  second_style->setMarginBottom(Length(kMarginBottom, Fixed));
 | 
| +  NGBox* second_child = new NGBox(second_style.get());
 | 
| +
 | 
| +  first_child->SetNextSibling(second_child);
 | 
| +
 | 
| +  NGBlockLayoutAlgorithm algorithm(style_, first_child);
 | 
| +  NGPhysicalFragment* frag;
 | 
| +  while (!algorithm.Layout(space, &frag))
 | 
| +    ;
 | 
| +  EXPECT_EQ(frag->Width(), LayoutUnit(kWidth));
 | 
| +  EXPECT_EQ(frag->Height(),
 | 
| +            LayoutUnit(kHeight1 + kHeight2 + kMarginTop + kMarginBottom));
 | 
| +  EXPECT_EQ(frag->Type(), NGPhysicalFragmentBase::FragmentBox);
 | 
| +  ASSERT_EQ(frag->Children().size(), 2UL);
 | 
| +
 | 
| +  const NGPhysicalFragmentBase* child = frag->Children()[0];
 | 
| +  EXPECT_EQ(child->Height(), kHeight1);
 | 
| +  EXPECT_EQ(child->TopOffset(), 0);
 | 
| +
 | 
| +  child = frag->Children()[1];
 | 
| +  EXPECT_EQ(child->Height(), kHeight2);
 | 
| +  EXPECT_EQ(child->TopOffset(), kHeight1 + kMarginTop);
 | 
| +}
 | 
| +
 | 
|  }  // namespace
 | 
|  }  // namespace blink
 | 
| 
 |