/
githubmr
/
facebook-react-native
Обзор
Документация
Войти
/
githubmr
/
facebook-react-native
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/react-native/ReactCommon/react/renderer/components/root/tests/RootShadowNodeTest.cpp
46 строк
2 KB
Ruslan Shestopalyuk
Bulk detect/correct (most of the) typos and misspells in RN core code
20 мар 2023, 12:05
20 мар 2023, 12:05
b9c64f3
Код
Авторство
О чём код?
/* * 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. */ #include <react/renderer/components/root/RootComponentDescriptor.h> #include <react/renderer/core/PropsParserContext.h> #include <react/renderer/element/ComponentBuilder.h> #include <gtest/gtest.h> #include <react/renderer/element/Element.h> #include <react/renderer/element/testUtils.h> namespace facebook::react { TEST(RootShadowNodeTest, cloneWithLayoutConstraints) { ContextContainer contextContainer{}; PropsParserContext parserContext{-1, contextContainer}; auto builder = simpleComponentBuilder(); std::shared_ptr<RootShadowNode> rootShadowNode; LayoutConstraints defaultLayoutConstraints = {}; auto element = Element<RootShadowNode>().reference(rootShadowNode).tag(1).props([&] { auto sharedProps = std::make_shared<RootProps>(); sharedProps->layoutConstraints = defaultLayoutConstraints; return sharedProps; }); builder.build(element); EXPECT_FALSE(rootShadowNode->getIsLayoutClean()); EXPECT_TRUE(rootShadowNode->layoutIfNeeded()); EXPECT_TRUE(rootShadowNode->getIsLayoutClean()); auto clonedWithDifferentLayoutConstraints = rootShadowNode->clone( parserContext, LayoutConstraints{{0, 0}, {10, 10}}, {}); EXPECT_FALSE(clonedWithDifferentLayoutConstraints->getIsLayoutClean()); EXPECT_TRUE(clonedWithDifferentLayoutConstraints->layoutIfNeeded()); } } // namespace facebook::react