2024-06-26 10:00:17 -07:00
/*
* Copyright ( c ) Meta Platforms , Inc . and affiliates .
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree .
*
* clang - format off
2024-11-20 17:41:11 -08:00
* @ generated SignedSource < < e1a54f4f62d92158dd552c74f56ad1b1 > >
2024-06-26 10:00:17 -07:00
* generated by gentest / gentest - driver . ts from gentest / fixtures / YGIntrinsicSizeTest . html
*/
# include <gtest/gtest.h>
# include <yoga/Yoga.h>
# include "../util/TestUtil.h"
TEST ( YogaTest , contains_inner_text_long_word ) {
2024-07-03 17:30:10 -07:00
YGConfigRef config = YGConfigNew ( ) ;
2024-06-26 10:00:17 -07:00
2024-07-03 17:30:10 -07:00
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetAlignItems ( root , YGAlignFlexStart ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetWidth ( root , 2000 ) ;
YGNodeStyleSetHeight ( root , 2000 ) ;
2024-07-03 17:30:10 -07:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetFlexDirection ( root_child0 , YGFlexDirectionRow ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeSetContext ( root_child0 , ( void * ) " LoremipsumdolorsitametconsecteturadipiscingelitSedeleifasdfettortoracauctorFuscerhoncusipsumtemporerosaliquamconsequatPraesentsoda " ) ;
YGNodeSetMeasureFunc ( root_child0 , & facebook : : yoga : : test : : IntrinsicSizeMeasure ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 1300 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 10 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 700 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 1300 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 10 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , contains_inner_text_no_width_no_height ) {
2024-07-03 17:30:10 -07:00
YGConfigRef config = YGConfigNew ( ) ;
2024-06-26 10:00:17 -07:00
2024-07-03 17:30:10 -07:00
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetAlignItems ( root , YGAlignFlexStart ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetWidth ( root , 2000 ) ;
YGNodeStyleSetHeight ( root , 2000 ) ;
2024-07-03 17:30:10 -07:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetFlexDirection ( root_child0 , YGFlexDirectionRow ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeSetContext ( root_child0 , ( void * ) " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifasd et tortor ac auctor. Integer at volutpat libero, sed elementum dui interdum id. Aliquam consectetur massa vel neque aliquet, quis consequat risus fringilla. Fusce rhoncus ipsum tempor eros aliquam, vel tempus metus ullamcorper. Nam at nulla sed tellus vestibulum fringilla vel sit amet ligula. Proin velit lectus, euismod sit amet quam vel ultricies dolor, vitae finibus lorem ipsum. Pellentesque molestie at mi sit amet dictum. Donec vehicula lacinia felis sit amet consectetur. Praesent sodales enim sapien, sed varius ipsum pellentesque vel. Aenean eu mi eu justo tincidunt finibus vel sit amet ipsum. Sed bibasdum purus vel ipsum sagittis, quis fermentum dolor lobortis. Etiam vulputate eleifasd lectus vel varius. Phasellus imperdiet lectus sit amet ipsum egestas, ut bibasdum ipsum malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed mollis eros sit amet elit porttitor, vel venenatis turpis venenatis. Nulla tempus tortor at eros efficitur, sit amet dapibus ipsum malesuada. Ut at mauris sed nunc malesuada convallis. Duis id sem vel magna varius eleifasd vel at est. Donec eget orci a ipsum tempor lobortis. Sed at consectetur ipsum. " ) ;
YGNodeSetMeasureFunc ( root_child0 , & facebook : : yoga : : test : : IntrinsicSizeMeasure ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 70 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 70 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , contains_inner_text_no_width_no_height_long_word_in_paragraph ) {
2024-07-03 17:30:10 -07:00
YGConfigRef config = YGConfigNew ( ) ;
2024-06-26 10:00:17 -07:00
2024-07-03 17:30:10 -07:00
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetAlignItems ( root , YGAlignFlexStart ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetWidth ( root , 2000 ) ;
YGNodeStyleSetHeight ( root , 2000 ) ;
2024-07-03 17:30:10 -07:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetFlexDirection ( root_child0 , YGFlexDirectionRow ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeSetContext ( root_child0 , ( void * ) " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifasd et tortor ac auctor. Integer at volutpat libero, sed elementum dui interdum id. Aliquam consectetur massa vel neque aliquet, quis consequat risus fringilla. Fusce rhoncus ipsum tempor eros aliquam, vel tempus metus ullamcorper. Nam at nulla sed tellus vestibulum fringilla vel sit amet ligula. Proin velit lectus, euismod sit amet quam vel ultricies dolor, vitae finibus loremipsumloremipsumloremipsumloremipsumloremipsumloremipsumloremipsumloremipsumloremipsumloremipsumloremipsumloremipsumloremipsumlorem Pellentesque molestie at mi sit amet dictum. Donec vehicula lacinia felis sit amet consectetur. Praesent sodales enim sapien, sed varius ipsum pellentesque vel. Aenean eu mi eu justo tincidunt finibus vel sit amet ipsum. Sed bibasdum purus vel ipsum sagittis, quis fermentum dolor lobortis. Etiam vulputate eleifasd lectus vel varius. Phasellus imperdiet lectus sit amet ipsum egestas, ut bibasdum ipsum malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed mollis eros sit amet elit porttitor, vel venenatis turpis venenatis. Nulla tempus tortor at eros efficitur, sit amet dapibus ipsum malesuada. Ut at mauris sed nunc malesuada convallis. Duis id sem vel magna varius eleifasd vel at est. Donec eget orci a ipsum tempor lobortis. Sed at consectetur ipsum. " ) ;
YGNodeSetMeasureFunc ( root_child0 , & facebook : : yoga : : test : : IntrinsicSizeMeasure ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 70 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 70 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , contains_inner_text_fixed_width ) {
2024-07-03 17:30:10 -07:00
YGConfigRef config = YGConfigNew ( ) ;
2024-06-26 10:00:17 -07:00
2024-07-03 17:30:10 -07:00
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetAlignItems ( root , YGAlignFlexStart ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetWidth ( root , 2000 ) ;
YGNodeStyleSetHeight ( root , 2000 ) ;
2024-07-03 17:30:10 -07:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetFlexDirection ( root_child0 , YGFlexDirectionRow ) ;
YGNodeStyleSetWidth ( root_child0 , 100 ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeSetContext ( root_child0 , ( void * ) " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifasd et tortor ac auctor. Integer at volutpat libero, sed elementum dui interdum id. Aliquam consectetur massa vel neque aliquet, quis consequat risus fringilla. Fusce rhoncus ipsum tempor eros aliquam, vel tempus metus ullamcorper. Nam at nulla sed tellus vestibulum fringilla vel sit amet ligula. Proin velit lectus, euismod sit amet quam vel ultricies dolor, vitae finibus lorem ipsum. Pellentesque molestie at mi sit amet dictum. Donec vehicula lacinia felis sit amet consectetur. Praesent sodales enim sapien, sed varius ipsum pellentesque vel. Aenean eu mi eu justo tincidunt finibus vel sit amet ipsum. Sed bibasdum purus vel ipsum sagittis, quis fermentum dolor lobortis. Etiam vulputate eleifasd lectus vel varius. Phasellus imperdiet lectus sit amet ipsum egestas, ut bibasdum ipsum malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed mollis eros sit amet elit porttitor, vel venenatis turpis venenatis. Nulla tempus tortor at eros efficitur, sit amet dapibus ipsum malesuada. Ut at mauris sed nunc malesuada convallis. Duis id sem vel magna varius eleifasd vel at est. Donec eget orci a ipsum tempor lobortis. Sed at consectetur ipsum. " ) ;
YGNodeSetMeasureFunc ( root_child0 , & facebook : : yoga : : test : : IntrinsicSizeMeasure ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 1290 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 1900 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 1290 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , contains_inner_text_no_width_fixed_height ) {
2024-07-03 17:30:10 -07:00
YGConfigRef config = YGConfigNew ( ) ;
2024-06-26 10:00:17 -07:00
2024-07-03 17:30:10 -07:00
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetAlignItems ( root , YGAlignFlexStart ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetWidth ( root , 2000 ) ;
YGNodeStyleSetHeight ( root , 2000 ) ;
2024-07-03 17:30:10 -07:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetFlexDirection ( root_child0 , YGFlexDirectionRow ) ;
YGNodeStyleSetHeight ( root_child0 , 20 ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeSetContext ( root_child0 , ( void * ) " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifasd et tortor ac auctor. Integer at volutpat libero, sed elementum dui interdum id. Aliquam consectetur massa vel neque aliquet, quis consequat risus fringilla. Fusce rhoncus ipsum tempor eros aliquam, vel tempus metus ullamcorper. Nam at nulla sed tellus vestibulum fringilla vel sit amet ligula. Proin velit lectus, euismod sit amet quam vel ultricies dolor, vitae finibus lorem ipsum. Pellentesque molestie at mi sit amet dictum. Donec vehicula lacinia felis sit amet consectetur. Praesent sodales enim sapien, sed varius ipsum pellentesque vel. Aenean eu mi eu justo tincidunt finibus vel sit amet ipsum. Sed bibasdum purus vel ipsum sagittis, quis fermentum dolor lobortis. Etiam vulputate eleifasd lectus vel varius. Phasellus imperdiet lectus sit amet ipsum egestas, ut bibasdum ipsum malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed mollis eros sit amet elit porttitor, vel venenatis turpis venenatis. Nulla tempus tortor at eros efficitur, sit amet dapibus ipsum malesuada. Ut at mauris sed nunc malesuada convallis. Duis id sem vel magna varius eleifasd vel at est. Donec eget orci a ipsum tempor lobortis. Sed at consectetur ipsum. " ) ;
YGNodeSetMeasureFunc ( root_child0 , & facebook : : yoga : : test : : IntrinsicSizeMeasure ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 20 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 20 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , contains_inner_text_fixed_width_fixed_height ) {
2024-07-03 17:30:10 -07:00
YGConfigRef config = YGConfigNew ( ) ;
2024-06-26 10:00:17 -07:00
2024-07-03 17:30:10 -07:00
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetAlignItems ( root , YGAlignFlexStart ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetWidth ( root , 2000 ) ;
YGNodeStyleSetHeight ( root , 2000 ) ;
2024-07-03 17:30:10 -07:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetFlexDirection ( root_child0 , YGFlexDirectionRow ) ;
YGNodeStyleSetWidth ( root_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0 , 20 ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeSetContext ( root_child0 , ( void * ) " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifasd et tortor ac auctor. Integer at volutpat libero, sed elementum dui interdum id. Aliquam consectetur massa vel neque aliquet, quis consequat risus fringilla. Fusce rhoncus ipsum tempor eros aliquam, vel tempus metus ullamcorper. Nam at nulla sed tellus vestibulum fringilla vel sit amet ligula. Proin velit lectus, euismod sit amet quam vel ultricies dolor, vitae finibus lorem ipsum. Pellentesque molestie at mi sit amet dictum. Donec vehicula lacinia felis sit amet consectetur. Praesent sodales enim sapien, sed varius ipsum pellentesque vel. Aenean eu mi eu justo tincidunt finibus vel sit amet ipsum. Sed bibasdum purus vel ipsum sagittis, quis fermentum dolor lobortis. Etiam vulputate eleifasd lectus vel varius. Phasellus imperdiet lectus sit amet ipsum egestas, ut bibasdum ipsum malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed mollis eros sit amet elit porttitor, vel venenatis turpis venenatis. Nulla tempus tortor at eros efficitur, sit amet dapibus ipsum malesuada. Ut at mauris sed nunc malesuada convallis. Duis id sem vel magna varius eleifasd vel at est. Donec eget orci a ipsum tempor lobortis. Sed at consectetur ipsum. " ) ;
YGNodeSetMeasureFunc ( root_child0 , & facebook : : yoga : : test : : IntrinsicSizeMeasure ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 20 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 1950 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 20 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , contains_inner_text_max_width_max_height ) {
2024-07-03 17:30:10 -07:00
YGConfigRef config = YGConfigNew ( ) ;
2024-06-26 10:00:17 -07:00
2024-07-03 17:30:10 -07:00
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetAlignItems ( root , YGAlignFlexStart ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetWidth ( root , 2000 ) ;
YGNodeStyleSetHeight ( root , 2000 ) ;
2024-07-03 17:30:10 -07:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetFlexDirection ( root_child0 , YGFlexDirectionRow ) ;
YGNodeStyleSetMaxWidth ( root_child0 , 50 ) ;
YGNodeStyleSetMaxHeight ( root_child0 , 20 ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeSetContext ( root_child0 , ( void * ) " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifasd et tortor ac auctor. Integer at volutpat libero, sed elementum dui interdum id. Aliquam consectetur massa vel neque aliquet, quis consequat risus fringilla. Fusce rhoncus ipsum tempor eros aliquam, vel tempus metus ullamcorper. Nam at nulla sed tellus vestibulum fringilla vel sit amet ligula. Proin velit lectus, euismod sit amet quam vel ultricies dolor, vitae finibus lorem ipsum. Pellentesque molestie at mi sit amet dictum. Donec vehicula lacinia felis sit amet consectetur. Praesent sodales enim sapien, sed varius ipsum pellentesque vel. Aenean eu mi eu justo tincidunt finibus vel sit amet ipsum. Sed bibasdum purus vel ipsum sagittis, quis fermentum dolor lobortis. Etiam vulputate eleifasd lectus vel varius. Phasellus imperdiet lectus sit amet ipsum egestas, ut bibasdum ipsum malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed mollis eros sit amet elit porttitor, vel venenatis turpis venenatis. Nulla tempus tortor at eros efficitur, sit amet dapibus ipsum malesuada. Ut at mauris sed nunc malesuada convallis. Duis id sem vel magna varius eleifasd vel at est. Donec eget orci a ipsum tempor lobortis. Sed at consectetur ipsum. " ) ;
YGNodeSetMeasureFunc ( root_child0 , & facebook : : yoga : : test : : IntrinsicSizeMeasure ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 20 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 1950 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 20 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , contains_inner_text_max_width ) {
2024-07-03 17:30:10 -07:00
YGConfigRef config = YGConfigNew ( ) ;
2024-06-26 10:00:17 -07:00
2024-07-03 17:30:10 -07:00
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetAlignItems ( root , YGAlignFlexStart ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetWidth ( root , 2000 ) ;
YGNodeStyleSetHeight ( root , 2000 ) ;
2024-07-03 17:30:10 -07:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetFlexDirection ( root_child0 , YGFlexDirectionRow ) ;
YGNodeStyleSetMaxWidth ( root_child0 , 100 ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeSetContext ( root_child0 , ( void * ) " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifasd et tortor ac auctor. Integer at volutpat libero, sed elementum dui interdum id. Aliquam consectetur massa vel neque aliquet, quis consequat risus fringilla. Fusce rhoncus ipsum tempor eros aliquam, vel tempus metus ullamcorper. Nam at nulla sed tellus vestibulum fringilla vel sit amet ligula. Proin velit lectus, euismod sit amet quam vel ultricies dolor, vitae finibus lorem ipsum. Pellentesque molestie at mi sit amet dictum. Donec vehicula lacinia felis sit amet consectetur. Praesent sodales enim sapien, sed varius ipsum pellentesque vel. Aenean eu mi eu justo tincidunt finibus vel sit amet ipsum. Sed bibasdum purus vel ipsum sagittis, quis fermentum dolor lobortis. Etiam vulputate eleifasd lectus vel varius. Phasellus imperdiet lectus sit amet ipsum egestas, ut bibasdum ipsum malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed mollis eros sit amet elit porttitor, vel venenatis turpis venenatis. Nulla tempus tortor at eros efficitur, sit amet dapibus ipsum malesuada. Ut at mauris sed nunc malesuada convallis. Duis id sem vel magna varius eleifasd vel at est. Donec eget orci a ipsum tempor lobortis. Sed at consectetur ipsum. " ) ;
YGNodeSetMeasureFunc ( root_child0 , & facebook : : yoga : : test : : IntrinsicSizeMeasure ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 1290 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 1900 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 1290 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , contains_inner_text_fixed_width_shorter_text ) {
2024-07-03 17:30:10 -07:00
YGConfigRef config = YGConfigNew ( ) ;
2024-06-26 10:00:17 -07:00
2024-07-03 17:30:10 -07:00
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetAlignItems ( root , YGAlignFlexStart ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetWidth ( root , 2000 ) ;
YGNodeStyleSetHeight ( root , 2000 ) ;
2024-07-03 17:30:10 -07:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetFlexDirection ( root_child0 , YGFlexDirectionRow ) ;
YGNodeStyleSetWidth ( root_child0 , 100 ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeSetContext ( root_child0 , ( void * ) " Lorem ipsum " ) ;
YGNodeSetMeasureFunc ( root_child0 , & facebook : : yoga : : test : : IntrinsicSizeMeasure ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 20 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 1900 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 20 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , contains_inner_text_fixed_height_shorter_text ) {
2024-07-03 17:30:10 -07:00
YGConfigRef config = YGConfigNew ( ) ;
2024-06-26 10:00:17 -07:00
2024-07-03 17:30:10 -07:00
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetAlignItems ( root , YGAlignFlexStart ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetWidth ( root , 2000 ) ;
YGNodeStyleSetHeight ( root , 2000 ) ;
2024-07-03 17:30:10 -07:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetFlexDirection ( root_child0 , YGFlexDirectionRow ) ;
YGNodeStyleSetHeight ( root_child0 , 100 ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeSetContext ( root_child0 , ( void * ) " Lorem ipsum " ) ;
YGNodeSetMeasureFunc ( root_child0 , & facebook : : yoga : : test : : IntrinsicSizeMeasure ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 110 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 1890 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 110 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , contains_inner_text_max_height ) {
2024-07-03 17:30:10 -07:00
YGConfigRef config = YGConfigNew ( ) ;
2024-06-26 10:00:17 -07:00
2024-07-03 17:30:10 -07:00
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetAlignItems ( root , YGAlignFlexStart ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetWidth ( root , 2000 ) ;
YGNodeStyleSetHeight ( root , 2000 ) ;
2024-07-03 17:30:10 -07:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-06-26 10:00:17 -07:00
YGNodeStyleSetFlexDirection ( root_child0 , YGFlexDirectionRow ) ;
YGNodeStyleSetMaxHeight ( root_child0 , 20 ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeSetContext ( root_child0 , ( void * ) " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eleifasd et tortor ac auctor. Integer at volutpat libero, sed elementum dui interdum id. Aliquam consectetur massa vel neque aliquet, quis consequat risus fringilla. Fusce rhoncus ipsum tempor eros aliquam, vel tempus metus ullamcorper. Nam at nulla sed tellus vestibulum fringilla vel sit amet ligula. Proin velit lectus, euismod sit amet quam vel ultricies dolor, vitae finibus lorem ipsum. Pellentesque molestie at mi sit amet dictum. Donec vehicula lacinia felis sit amet consectetur. Praesent sodales enim sapien, sed varius ipsum pellentesque vel. Aenean eu mi eu justo tincidunt finibus vel sit amet ipsum. Sed bibasdum purus vel ipsum sagittis, quis fermentum dolor lobortis. Etiam vulputate eleifasd lectus vel varius. Phasellus imperdiet lectus sit amet ipsum egestas, ut bibasdum ipsum malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed mollis eros sit amet elit porttitor, vel venenatis turpis venenatis. Nulla tempus tortor at eros efficitur, sit amet dapibus ipsum malesuada. Ut at mauris sed nunc malesuada convallis. Duis id sem vel magna varius eleifasd vel at est. Donec eget orci a ipsum tempor lobortis. Sed at consectetur ipsum. " ) ;
YGNodeSetMeasureFunc ( root_child0 , & facebook : : yoga : : test : : IntrinsicSizeMeasure ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 20 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 2000 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 20 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
2024-11-04 16:02:37 -08:00
TEST ( YogaTest , max_content_width ) {
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetFlexDirection ( root , YGFlexDirectionRow ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetFlexWrap ( root , YGWrapWrap ) ;
YGNodeStyleSetWidthMaxContent ( root ) ;
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0 , 50 ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child1 , 100 ) ;
YGNodeStyleSetHeight ( root_child1 , 50 ) ;
YGNodeInsertChild ( root , root_child1 , 1 ) ;
YGNodeRef root_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child2 , 25 ) ;
YGNodeStyleSetHeight ( root_child2 , 50 ) ;
YGNodeInsertChild ( root , root_child2 , 2 ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetLeft ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetLeft ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child2 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 125 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetLeft ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child2 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , fit_content_width ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
2024-11-04 16:02:37 -08:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetWidth ( root_child0 , 90 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child0_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetFlexDirection ( root_child0_child0 , YGFlexDirectionRow ) ;
YGNodeStyleSetFlexWrap ( root_child0_child0 , YGWrapWrap ) ;
YGNodeStyleSetWidthFitContent ( root_child0_child0 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root_child0 , root_child0_child0 , 0 ) ;
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child0 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child0 , 0 ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child1 , 100 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child1 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child1 , 1 ) ;
YGNodeRef root_child0_child0_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child2 , 25 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child2 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child2 , 2 ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( - 10 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 75 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , stretch_width ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
2024-11-04 16:02:37 -08:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetWidth ( root_child0 , 500 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child0_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetFlexDirection ( root_child0_child0 , YGFlexDirectionRow ) ;
YGNodeStyleSetFlexWrap ( root_child0_child0 , YGWrapWrap ) ;
YGNodeStyleSetWidthStretch ( root_child0_child0 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root_child0 , root_child0_child0 , 0 ) ;
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child0 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child0 , 0 ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child1 , 100 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child1 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child1 , 1 ) ;
YGNodeRef root_child0_child0_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child2 , 25 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child2 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child2 , 2 ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 450 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 350 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 325 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , max_content_height ) {
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetFlexWrap ( root , YGWrapWrap ) ;
YGNodeStyleSetHeightMaxContent ( root ) ;
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0 , 50 ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child1 , 50 ) ;
YGNodeStyleSetHeight ( root_child1 , 100 ) ;
YGNodeInsertChild ( root , root_child1 , 1 ) ;
YGNodeRef root_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child2 , 50 ) ;
YGNodeStyleSetHeight ( root_child2 , 25 ) ;
YGNodeInsertChild ( root , root_child2 , 2 ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child2 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child2 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , fit_content_height ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
2024-11-04 16:02:37 -08:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetHeight ( root_child0 , 90 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child0_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetFlexWrap ( root_child0_child0 , YGWrapWrap ) ;
YGNodeStyleSetHeightFitContent ( root_child0_child0 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root_child0 , root_child0_child0 , 0 ) ;
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child0 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child0 , 0 ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child1 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child1 , 100 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child1 , 1 ) ;
YGNodeRef root_child0_child0_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child2 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child2 , 25 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child2 , 2 ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , stretch_height ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
2024-11-04 16:02:37 -08:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetHeight ( root_child0 , 500 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child0_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetFlexWrap ( root_child0_child0 , YGWrapWrap ) ;
YGNodeStyleSetHeightStretch ( root_child0_child0 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root_child0 , root_child0_child0 , 0 ) ;
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child0 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child0 , 0 ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child1 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child1 , 100 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child1 , 1 ) ;
YGNodeRef root_child0_child0_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child2 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child2 , 25 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child2 , 2 ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , max_content_flex_basis_column ) {
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetFlexWrap ( root , YGWrapWrap ) ;
YGNodeStyleSetFlexBasisMaxContent ( root ) ;
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0 , 50 ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child1 , 50 ) ;
YGNodeStyleSetHeight ( root_child1 , 100 ) ;
YGNodeInsertChild ( root , root_child1 , 1 ) ;
YGNodeRef root_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child2 , 50 ) ;
YGNodeStyleSetHeight ( root_child2 , 25 ) ;
YGNodeInsertChild ( root , root_child2 , 2 ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child2 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child2 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , fit_content_flex_basis_column ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
2024-11-04 16:02:37 -08:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetHeight ( root_child0 , 90 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child0_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetFlexWrap ( root_child0_child0 , YGWrapWrap ) ;
YGNodeStyleSetFlexBasisFitContent ( root_child0_child0 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root_child0 , root_child0_child0 , 0 ) ;
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child0 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child0 , 0 ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child1 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child1 , 100 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child1 , 1 ) ;
YGNodeRef root_child0_child0_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child2 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child2 , 25 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child2 , 2 ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , stretch_flex_basis_column ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
2024-11-04 16:02:37 -08:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetHeight ( root_child0 , 500 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child0_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetFlexWrap ( root_child0_child0 , YGWrapWrap ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root_child0 , root_child0_child0 , 0 ) ;
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child0 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child0 , 0 ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child1 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child1 , 100 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child1 , 1 ) ;
YGNodeRef root_child0_child0_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child2 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child2 , 25 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child2 , 2 ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , max_content_flex_basis_row ) {
2024-11-20 17:41:11 -08:00
GTEST_SKIP ( ) ;
2024-11-04 16:02:37 -08:00
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetFlexDirection ( root , YGFlexDirectionRow ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetFlexWrap ( root , YGWrapWrap ) ;
YGNodeStyleSetFlexBasisMaxContent ( root ) ;
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0 , 50 ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child1 , 100 ) ;
YGNodeStyleSetHeight ( root_child1 , 500 ) ;
YGNodeInsertChild ( root , root_child1 , 1 ) ;
YGNodeRef root_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child2 , 25 ) ;
YGNodeStyleSetHeight ( root_child2 , 50 ) ;
YGNodeInsertChild ( root , root_child2 , 2 ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 600 , YGNodeLayoutGetHeight ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child1 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetHeight ( root_child1 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 550 , YGNodeLayoutGetTop ( root_child2 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child2 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 600 , YGNodeLayoutGetHeight ( root ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child1 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetHeight ( root_child1 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 75 , YGNodeLayoutGetLeft ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 550 , YGNodeLayoutGetTop ( root_child2 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child2 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , fit_content_flex_basis_row ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
2024-11-04 16:02:37 -08:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetWidth ( root_child0 , 90 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child0_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetFlexDirection ( root_child0_child0 , YGFlexDirectionRow ) ;
YGNodeStyleSetFlexWrap ( root_child0_child0 , YGWrapWrap ) ;
YGNodeStyleSetFlexBasisFitContent ( root_child0_child0 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root_child0 , root_child0_child0 , 0 ) ;
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child0 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child0 , 0 ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child1 , 100 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child1 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child1 , 1 ) ;
YGNodeRef root_child0_child0_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child2 , 25 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child2 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child2 , 2 ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 40 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( - 10 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 65 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , stretch_flex_basis_row ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
2024-11-04 16:02:37 -08:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetWidth ( root_child0 , 500 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child0_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetFlexDirection ( root_child0_child0 , YGFlexDirectionRow ) ;
YGNodeStyleSetFlexWrap ( root_child0_child0 , YGWrapWrap ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root_child0 , root_child0_child0 , 0 ) ;
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child0 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child0 , 0 ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child1 , 100 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child1 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child1 , 1 ) ;
YGNodeRef root_child0_child0_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child2 , 25 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child2 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child2 , 2 ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 450 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 350 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 325 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , max_content_max_width ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetFlexDirection ( root , YGFlexDirectionRow ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetFlexWrap ( root , YGWrapWrap ) ;
YGNodeStyleSetWidth ( root , 200 ) ;
YGNodeStyleSetMaxWidthMaxContent ( root ) ;
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0 , 50 ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child1 , 100 ) ;
YGNodeStyleSetHeight ( root_child1 , 50 ) ;
YGNodeInsertChild ( root , root_child1 , 1 ) ;
YGNodeRef root_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child2 , 25 ) ;
YGNodeStyleSetHeight ( root_child2 , 50 ) ;
YGNodeInsertChild ( root , root_child2 , 2 ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetLeft ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetLeft ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child2 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 125 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetLeft ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child2 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , fit_content_max_width ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
2024-11-04 16:02:37 -08:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetWidth ( root_child0 , 90 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child0_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetFlexDirection ( root_child0_child0 , YGFlexDirectionRow ) ;
YGNodeStyleSetFlexWrap ( root_child0_child0 , YGWrapWrap ) ;
YGNodeStyleSetWidth ( root_child0_child0 , 110 ) ;
YGNodeStyleSetMaxWidthFitContent ( root_child0_child0 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root_child0 , root_child0_child0 , 0 ) ;
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child0 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child0 , 0 ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child1 , 100 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child1 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child1 , 1 ) ;
YGNodeRef root_child0_child0_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child2 , 25 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child2 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child2 , 2 ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( - 10 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 75 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , stretch_max_width ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
2024-11-04 16:02:37 -08:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetWidth ( root_child0 , 500 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child0_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetFlexDirection ( root_child0_child0 , YGFlexDirectionRow ) ;
YGNodeStyleSetFlexWrap ( root_child0_child0 , YGWrapWrap ) ;
YGNodeStyleSetWidth ( root_child0_child0 , 600 ) ;
YGNodeStyleSetMaxWidthStretch ( root_child0_child0 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root_child0 , root_child0_child0 , 0 ) ;
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child0 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child0 , 0 ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child1 , 100 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child1 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child1 , 1 ) ;
YGNodeRef root_child0_child0_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child2 , 25 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child2 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child2 , 2 ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 450 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 350 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 325 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , max_content_min_width ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetFlexDirection ( root , YGFlexDirectionRow ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetFlexWrap ( root , YGWrapWrap ) ;
YGNodeStyleSetWidth ( root , 100 ) ;
YGNodeStyleSetMinWidthMaxContent ( root ) ;
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0 , 50 ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child1 , 100 ) ;
YGNodeStyleSetHeight ( root_child1 , 50 ) ;
YGNodeInsertChild ( root , root_child1 , 1 ) ;
YGNodeRef root_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child2 , 25 ) ;
YGNodeStyleSetHeight ( root_child2 , 50 ) ;
YGNodeInsertChild ( root , root_child2 , 2 ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetLeft ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetLeft ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child2 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 125 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetLeft ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child2 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , fit_content_min_width ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
2024-11-04 16:02:37 -08:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0 , 90 ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child0_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetFlexDirection ( root_child0_child0 , YGFlexDirectionRow ) ;
YGNodeStyleSetFlexWrap ( root_child0_child0 , YGWrapWrap ) ;
YGNodeStyleSetWidth ( root_child0_child0 , 90 ) ;
YGNodeStyleSetMinWidthFitContent ( root_child0_child0 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root_child0 , root_child0_child0 , 0 ) ;
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child0 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child0 , 0 ) ;
YGNodeRef root_child0_child0_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child1 , 100 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child1 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child1 , 1 ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child2 , 25 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child2 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child2 , 2 ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( - 10 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 75 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , stretch_min_width ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
2024-11-04 16:02:37 -08:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetWidth ( root_child0 , 500 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child0_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetFlexDirection ( root_child0_child0 , YGFlexDirectionRow ) ;
YGNodeStyleSetFlexWrap ( root_child0_child0 , YGWrapWrap ) ;
YGNodeStyleSetWidth ( root_child0_child0 , 400 ) ;
YGNodeStyleSetMinWidthStretch ( root_child0_child0 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root_child0 , root_child0_child0 , 0 ) ;
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child0 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child0 , 0 ) ;
YGNodeRef root_child0_child0_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child1 , 100 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child1 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child1 , 1 ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child2 , 25 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child2 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child2 , 2 ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 450 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 350 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 325 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , max_content_max_height ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetFlexWrap ( root , YGWrapWrap ) ;
YGNodeStyleSetHeight ( root , 200 ) ;
YGNodeStyleSetMaxHeightMaxContent ( root ) ;
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0 , 50 ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child1 , 50 ) ;
YGNodeStyleSetHeight ( root_child1 , 100 ) ;
YGNodeInsertChild ( root , root_child1 , 1 ) ;
YGNodeRef root_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child2 , 50 ) ;
YGNodeStyleSetHeight ( root_child2 , 25 ) ;
YGNodeInsertChild ( root , root_child2 , 2 ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child2 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child2 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , fit_content_max_height ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
2024-11-04 16:02:37 -08:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetHeight ( root_child0 , 90 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child0_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetFlexWrap ( root_child0_child0 , YGWrapWrap ) ;
YGNodeStyleSetHeight ( root_child0_child0 , 110 ) ;
YGNodeStyleSetMaxHeightFitContent ( root_child0_child0 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root_child0 , root_child0_child0 , 0 ) ;
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child0 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child0 , 0 ) ;
YGNodeRef root_child0_child0_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child1 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child1 , 100 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child1 , 1 ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child2 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child2 , 25 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child2 , 2 ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( - 50 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( - 100 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , stretch_max_height ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
2024-11-04 16:02:37 -08:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetHeight ( root_child0 , 500 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child0_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetFlexWrap ( root_child0_child0 , YGWrapWrap ) ;
YGNodeStyleSetHeight ( root_child0_child0 , 600 ) ;
YGNodeStyleSetMaxHeightStretch ( root_child0_child0 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root_child0 , root_child0_child0 , 0 ) ;
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child0 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child0 , 0 ) ;
YGNodeRef root_child0_child0_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child1 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child1 , 100 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child1 , 1 ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child2 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child2 , 25 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child2 , 2 ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 600 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 600 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , max_content_min_height ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
YGNodeStyleSetFlexWrap ( root , YGWrapWrap ) ;
YGNodeStyleSetHeight ( root , 100 ) ;
YGNodeStyleSetMinHeightMaxContent ( root ) ;
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0 , 50 ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child1 , 50 ) ;
YGNodeStyleSetHeight ( root_child1 , 100 ) ;
YGNodeInsertChild ( root , root_child1 , 1 ) ;
YGNodeRef root_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child2 , 50 ) ;
YGNodeStyleSetHeight ( root_child2 , 25 ) ;
YGNodeInsertChild ( root , root_child2 , 2 ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child2 ) ) ;
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child2 ) ) ;
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , fit_content_min_height ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
2024-11-04 16:02:37 -08:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetHeight ( root_child0 , 90 ) ;
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child0_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetFlexWrap ( root_child0_child0 , YGWrapWrap ) ;
YGNodeStyleSetHeight ( root_child0_child0 , 90 ) ;
YGNodeStyleSetMinHeightFitContent ( root_child0_child0 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root_child0 , root_child0_child0 , 0 ) ;
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child0 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child0 , 0 ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child1 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child1 , 100 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child1 , 1 ) ;
YGNodeRef root_child0_child0_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child2 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child2 , 25 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child2 , 2 ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 90 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 175 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}
TEST ( YogaTest , stretch_min_height ) {
GTEST_SKIP ( ) ;
YGConfigRef config = YGConfigNew ( ) ;
YGNodeRef root = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetPositionType ( root , YGPositionTypeAbsolute ) ;
2024-11-04 16:02:37 -08:00
YGNodeRef root_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetHeight ( root_child0 , 500 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root , root_child0 , 0 ) ;
YGNodeRef root_child0_child0 = YGNodeNewWithConfig ( config ) ;
2024-11-20 17:41:11 -08:00
YGNodeStyleSetFlexWrap ( root_child0_child0 , YGWrapWrap ) ;
YGNodeStyleSetHeight ( root_child0_child0 , 400 ) ;
YGNodeStyleSetMinHeightStretch ( root_child0_child0 ) ;
2024-11-04 16:02:37 -08:00
YGNodeInsertChild ( root_child0 , root_child0_child0 , 0 ) ;
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child0 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child0 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child0 , 50 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child0 , 0 ) ;
YGNodeRef root_child0_child0_child1 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child1 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child1 , 100 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child1 , 1 ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
YGNodeRef root_child0_child0_child2 = YGNodeNewWithConfig ( config ) ;
YGNodeStyleSetWidth ( root_child0_child0_child2 , 50 ) ;
YGNodeStyleSetHeight ( root_child0_child0_child2 , 25 ) ;
YGNodeInsertChild ( root_child0_child0 , root_child0_child0_child2 , 2 ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionLTR ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 400 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeCalculateLayout ( root , YGUndefined , YGUndefined , YGDirectionRTL ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetHeight ( root ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0 ) ) ;
ASSERT_FLOAT_EQ ( 500 , YGNodeLayoutGetHeight ( root_child0 ) ) ;
2024-11-04 16:02:37 -08:00
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0 ) ) ;
2024-11-04 16:02:37 -08:00
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0 ) ) ;
2024-11-20 17:41:11 -08:00
ASSERT_FLOAT_EQ ( 400 , YGNodeLayoutGetHeight ( root_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetTop ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetHeight ( root_child0_child0_child0 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetTop ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 100 , YGNodeLayoutGetHeight ( root_child0_child0_child1 ) ) ;
ASSERT_FLOAT_EQ ( 0 , YGNodeLayoutGetLeft ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 150 , YGNodeLayoutGetTop ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 50 , YGNodeLayoutGetWidth ( root_child0_child0_child2 ) ) ;
ASSERT_FLOAT_EQ ( 25 , YGNodeLayoutGetHeight ( root_child0_child0_child2 ) ) ;
2024-11-04 16:02:37 -08:00
YGNodeFreeRecursive ( root ) ;
YGConfigFree ( config ) ;
}