Add test support for intrinsic sized nodes

Summary: 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.

Differential Revision: D58307002
This commit is contained in:
Maddie Lord
2024-06-24 22:34:58 -07:00
committed by Facebook GitHub Bot
parent cedac5edf4
commit c24adff88e
77 changed files with 2284 additions and 119 deletions

View File

@@ -30,7 +30,12 @@ CPPEmitter.prototype = Object.create(Emitter.prototype, {
emitPrologue: {
value: function () {
this.push(['#include <gtest/gtest.h>', '#include <yoga/Yoga.h>', '']);
this.push([
'#include <gtest/gtest.h>',
'#include <yoga/Yoga.h>',
'#include "../util/TestUtil.h"',
'',
]);
},
},
@@ -503,4 +508,13 @@ CPPEmitter.prototype = Object.create(Emitter.prototype, {
);
},
},
YGNodeSetMeasureFunc: {
value: function (nodeName, innerText) {
this.push(`YGNodeSetContext(${nodeName}, (void*)"${innerText}");`);
this.push(
`YGNodeSetMeasureFunc(${nodeName}, &facebook::yoga::test::IntrinsicSizeMeasure);`,
);
},
},
});