From 990ec920adcc4982ca1a820e5c4529e1da598208 Mon Sep 17 00:00:00 2001 From: Joe Vilches Date: Thu, 3 Oct 2024 12:21:16 -0700 Subject: [PATCH] Add default test for box sizing (#1716) Summary: X-link: https://github.com/facebook/react-native/pull/46800 Pull Request resolved: https://github.com/facebook/yoga/pull/1716 Had a mini heart attack thinking I set the default to content box. Wrote this to double check and it passed. Might as well check it in Technically the default to BoxSizing.h is ContentBox, but in the style we override that. Regardless I switched that around so border box was the default. Changelog: [Internal] Reviewed By: NickGerleman Differential Revision: D63802722 fbshipit-source-id: 49ed29657c964bc12a2bf70988061ab4599267ec --- enums.py | 2 +- java/com/facebook/yoga/YogaBoxSizing.java | 8 ++++---- javascript/src/generated/YGEnums.ts | 6 +++--- tests/YGDefaultValuesTest.cpp | 11 +++++++++++ yoga/YGEnums.cpp | 4 ++-- yoga/YGEnums.h | 4 ++-- yoga/enums/BoxSizing.h | 2 +- 7 files changed, 24 insertions(+), 13 deletions(-) diff --git a/enums.py b/enums.py index bfb1b53e..fa212249 100755 --- a/enums.py +++ b/enums.py @@ -33,7 +33,7 @@ ENUMS = { "PositionType": ["Static", "Relative", "Absolute"], "Display": ["Flex", "None"], "Wrap": ["NoWrap", "Wrap", "WrapReverse"], - "BoxSizing": ["ContentBox", "BorderBox"], + "BoxSizing": ["BorderBox", "ContentBox"], "MeasureMode": ["Undefined", "Exactly", "AtMost"], "Dimension": ["Width", "Height"], "Edge": [ diff --git a/java/com/facebook/yoga/YogaBoxSizing.java b/java/com/facebook/yoga/YogaBoxSizing.java index a8c08f65..fcd25f55 100644 --- a/java/com/facebook/yoga/YogaBoxSizing.java +++ b/java/com/facebook/yoga/YogaBoxSizing.java @@ -10,8 +10,8 @@ package com.facebook.yoga; public enum YogaBoxSizing { - CONTENT_BOX(0), - BORDER_BOX(1); + BORDER_BOX(0), + CONTENT_BOX(1); private final int mIntValue; @@ -25,8 +25,8 @@ public enum YogaBoxSizing { public static YogaBoxSizing fromInt(int value) { switch (value) { - case 0: return CONTENT_BOX; - case 1: return BORDER_BOX; + case 0: return BORDER_BOX; + case 1: return CONTENT_BOX; default: throw new IllegalArgumentException("Unknown enum value: " + value); } } diff --git a/javascript/src/generated/YGEnums.ts b/javascript/src/generated/YGEnums.ts index e3e1f0e7..48f27bf9 100644 --- a/javascript/src/generated/YGEnums.ts +++ b/javascript/src/generated/YGEnums.ts @@ -20,8 +20,8 @@ export enum Align { } export enum BoxSizing { - ContentBox = 0, - BorderBox = 1, + BorderBox = 0, + ContentBox = 1, } export enum Dimension { @@ -142,8 +142,8 @@ const constants = { ALIGN_SPACE_BETWEEN: Align.SpaceBetween, ALIGN_SPACE_AROUND: Align.SpaceAround, ALIGN_SPACE_EVENLY: Align.SpaceEvenly, - BOX_SIZING_CONTENT_BOX: BoxSizing.ContentBox, BOX_SIZING_BORDER_BOX: BoxSizing.BorderBox, + BOX_SIZING_CONTENT_BOX: BoxSizing.ContentBox, DIMENSION_WIDTH: Dimension.Width, DIMENSION_HEIGHT: Dimension.Height, DIRECTION_INHERIT: Direction.Inherit, diff --git a/tests/YGDefaultValuesTest.cpp b/tests/YGDefaultValuesTest.cpp index 93212fde..09c74ce8 100644 --- a/tests/YGDefaultValuesTest.cpp +++ b/tests/YGDefaultValuesTest.cpp @@ -162,3 +162,14 @@ TEST(YogaTest, assert_legacy_stretch_behaviour) { YGConfigFree(config); } + +TEST(YogaTest, assert_box_sizing_border_box) { + YGConfig* config = YGConfigNew(); + YGNodeRef root = YGNodeNewWithConfig(config); + + ASSERT_EQ(YGBoxSizingBorderBox, YGNodeStyleGetBoxSizing(root)); + + YGNodeFreeRecursive(root); + + YGConfigFree(config); +} diff --git a/yoga/YGEnums.cpp b/yoga/YGEnums.cpp index 1d4975b1..c0a72918 100644 --- a/yoga/YGEnums.cpp +++ b/yoga/YGEnums.cpp @@ -35,10 +35,10 @@ const char* YGAlignToString(const YGAlign value) { const char* YGBoxSizingToString(const YGBoxSizing value) { switch (value) { - case YGBoxSizingContentBox: - return "content-box"; case YGBoxSizingBorderBox: return "border-box"; + case YGBoxSizingContentBox: + return "content-box"; } return "unknown"; } diff --git a/yoga/YGEnums.h b/yoga/YGEnums.h index 8a2161a9..83c368a6 100644 --- a/yoga/YGEnums.h +++ b/yoga/YGEnums.h @@ -26,8 +26,8 @@ YG_ENUM_DECL( YG_ENUM_DECL( YGBoxSizing, - YGBoxSizingContentBox, - YGBoxSizingBorderBox) + YGBoxSizingBorderBox, + YGBoxSizingContentBox) YG_ENUM_DECL( YGDimension, diff --git a/yoga/enums/BoxSizing.h b/yoga/enums/BoxSizing.h index 1b6b9a7c..eb18b99a 100644 --- a/yoga/enums/BoxSizing.h +++ b/yoga/enums/BoxSizing.h @@ -16,8 +16,8 @@ namespace facebook::yoga { enum class BoxSizing : uint8_t { - ContentBox = YGBoxSizingContentBox, BorderBox = YGBoxSizingBorderBox, + ContentBox = YGBoxSizingContentBox, }; template <>