Summary: Remove output properties from computed styles as they will be computed to their output values before we can read them. Only include them if they are explicitly set by the user. Reviewed By: IanChilds Differential Revision: D3770917 fbshipit-source-id: e55996cf8744073496debea19c36a188d2e5086c
55 lines
1.8 KiB
C++
55 lines
1.8 KiB
C++
/**
|
|
* Copyright (c) 2014-present, Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*/
|
|
|
|
/**
|
|
* @Generated by gentest/gentest.sh with the following input
|
|
*
|
|
* <div style="width: 300px; height: 100px; flex-direction: row;">
|
|
* <div style="flex-basis: 100px; flex-grow: 1;"></div>
|
|
* <div style="flex-grow: 1;"></div>
|
|
* </div>
|
|
*
|
|
*/
|
|
|
|
#include <CSSLayout/CSSLayout-internal.h>
|
|
#include <CSSLayoutTestUtils/CSSLayoutTestUtils.h>
|
|
#include <gtest/gtest.h>
|
|
|
|
TEST(CSSLayoutTest, flex_basis) {
|
|
const CSSNodeRef root = CSSNodeNew();
|
|
CSSNodeStyleSetFlexDirection(root, CSSFlexDirectionRow);
|
|
CSSNodeStyleSetWidth(root, 300);
|
|
CSSNodeStyleSetHeight(root, 100);
|
|
|
|
const CSSNodeRef root_child0 = CSSNodeNew();
|
|
CSSNodeStyleSetFlexGrow(root_child0, 1);
|
|
CSSNodeStyleSetFlexBasis(root_child0, 100);
|
|
CSSNodeInsertChild(root, root_child0, 0);
|
|
|
|
const CSSNodeRef root_child1 = CSSNodeNew();
|
|
CSSNodeStyleSetFlexGrow(root_child1, 1);
|
|
CSSNodeInsertChild(root, root_child1, 1);
|
|
CSSNodeCalculateLayout(root, CSSUndefined, CSSUndefined, CSSDirectionLTR);
|
|
|
|
ASSERT_EQ(0, CSSNodeLayoutGetLeft(root));
|
|
ASSERT_EQ(0, CSSNodeLayoutGetTop(root));
|
|
ASSERT_EQ(300, CSSNodeLayoutGetWidth(root));
|
|
ASSERT_EQ(100, CSSNodeLayoutGetHeight(root));
|
|
|
|
ASSERT_EQ(0, CSSNodeLayoutGetLeft(root_child0));
|
|
ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child0));
|
|
ASSERT_EQ(200, CSSNodeLayoutGetWidth(root_child0));
|
|
ASSERT_EQ(100, CSSNodeLayoutGetHeight(root_child0));
|
|
|
|
ASSERT_EQ(200, CSSNodeLayoutGetLeft(root_child1));
|
|
ASSERT_EQ(0, CSSNodeLayoutGetTop(root_child1));
|
|
ASSERT_EQ(100, CSSNodeLayoutGetWidth(root_child1));
|
|
ASSERT_EQ(100, CSSNodeLayoutGetHeight(root_child1));
|
|
}
|