Breaking: Fix callback const-correctness (#1369)
Summary: Pull Request resolved: https://github.com/facebook/yoga/pull/1369 X-link: https://github.com/facebook/react-native/pull/39370 This fixes const-correctness of callbacks (e.g. not letting a logger function modify nodes during layout). This helps us to continue to fix const-correctness issues inside of Yoga. This change is breaking to the public API, since it requires a change in signature passed to Yoga. Changelog: [Internal] Reviewed By: rshest Differential Revision: D49130714 fbshipit-source-id: 4305f8882d89f296e45b78497a51716a0dbb3b2d
This commit is contained in:
committed by
Facebook GitHub Bot
parent
b12a6a340c
commit
26f2b28eca
@@ -23,8 +23,12 @@ struct ConfigCloningTest : public ::testing::Test {
|
||||
void TearDown() override;
|
||||
|
||||
static yoga::Node clonedNode;
|
||||
static YGNodeRef cloneNode(YGNodeRef, YGNodeRef, int) { return &clonedNode; }
|
||||
static YGNodeRef doNotClone(YGNodeRef, YGNodeRef, int) { return nullptr; }
|
||||
static YGNodeRef cloneNode(YGNodeConstRef, YGNodeConstRef, int) {
|
||||
return &clonedNode;
|
||||
}
|
||||
static YGNodeRef doNotClone(YGNodeConstRef, YGNodeConstRef, int) {
|
||||
return nullptr;
|
||||
}
|
||||
};
|
||||
|
||||
TEST_F(ConfigCloningTest, uses_values_provided_by_cloning_callback) {
|
||||
@@ -49,9 +53,10 @@ TEST_F(
|
||||
}
|
||||
|
||||
TEST_F(ConfigCloningTest, can_clone_with_context) {
|
||||
config->setCloneNodeCallback([](YGNodeRef, YGNodeRef, int, void* context) {
|
||||
return (YGNodeRef) context;
|
||||
});
|
||||
config->setCloneNodeCallback(
|
||||
[](YGNodeConstRef, YGNodeConstRef, int, void* context) {
|
||||
return (YGNodeRef) context;
|
||||
});
|
||||
|
||||
yoga::Node node{}, owner{}, clone{};
|
||||
ASSERT_EQ(config->cloneNode(&node, &owner, 0, &clone), &clone);
|
||||
|
Reference in New Issue
Block a user