/** * 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. */ #include #include TEST(YogaTest, dont_cache_computed_flex_basis_between_layouts) { YGSetExperimentalFeatureEnabled(YGExperimentalFeatureWebFlexBasis, true); const YGNodeRef root = YGNodeNew(); YGNodeStyleSetHeightPercent(root, 100); YGNodeStyleSetWidthPercent(root, 100); const YGNodeRef root_child0 = YGNodeNew(); YGNodeStyleSetFlexBasisPercent(root_child0, 100); YGNodeInsertChild(root, root_child0, 0); YGNodeCalculateLayout(root, 100, YGUndefined, YGDirectionLTR); YGNodeCalculateLayout(root, 100, 100, YGDirectionLTR); ASSERT_FLOAT_EQ(100, YGNodeLayoutGetHeight(root_child0)); YGNodeFreeRecursive(root); YGSetExperimentalFeatureEnabled(YGExperimentalFeatureWebFlexBasis, false); } TEST(YogaTest, recalculate_resolvedDimonsion_onchange) { const YGNodeRef root = YGNodeNew(); const YGNodeRef root_child0 = YGNodeNew(); YGNodeStyleSetMinHeight(root_child0, 10); YGNodeStyleSetMaxHeight(root_child0, 10); YGNodeInsertChild(root, root_child0, 0); YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR); ASSERT_FLOAT_EQ(10, YGNodeLayoutGetHeight(root_child0)); YGNodeStyleSetMinHeight(root_child0, YGUndefined); YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGDirectionLTR); ASSERT_FLOAT_EQ(0, YGNodeLayoutGetHeight(root_child0)); YGNodeFreeRecursive(root); }