Add test support for intrinsic sized nodes (#1671)

Summary:
Pull Request resolved: https://github.com/facebook/yoga/pull/1671

This diff adds support for intrinsic sizing in generated tests. This is done by importing a testing font called "Ahem" which, as used, has an exact width and height of 10px for each character. Support has been added for C++, Java, and Javascript generated tests.

Reviewed By: NickGerleman

Differential Revision: D58307002

fbshipit-source-id: e1dcc1e03310d35a32e0c70f71994880d8f7de55
This commit is contained in:
Maddie Lord
2024-06-26 10:00:17 -07:00
committed by Facebook GitHub Bot
parent 0888b20098
commit 1a3bc6bfbc
77 changed files with 2284 additions and 119 deletions

View File

@@ -7,9 +7,10 @@
#pragma once
#include <yoga/YGNode.h>
#include <yoga/event/event.h>
#include <functional>
#include <string_view>
namespace facebook::yoga::test {
@@ -24,4 +25,19 @@ struct ScopedEventSubscription {
~ScopedEventSubscription();
};
YGSize IntrinsicSizeMeasure(
YGNodeConstRef node,
float width,
YGMeasureMode widthMode,
float height,
YGMeasureMode heightMode);
float longestWordWidth(std::string_view text, float widthPerChar);
float calculateHeight(
std::string_view text,
float measuredWidth,
float widthPerChar,
float heightPerChar);
} // namespace facebook::yoga::test