/
githubmr
/
facebook-react-native
Обзор
Документация
Войти
/
githubmr
/
facebook-react-native
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/react-native/ReactCommon/react/renderer/debug/tests/DebugStringConvertibleTest.cpp
86 строк
3 KB
Riccardo Cipolleschi
Disable expensive checks in OSS (#42306)
16 янв 2024, 19:27
16 янв 2024, 19:27
51fd418
Код
Авторство
О чём код?
/* * 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. */ #if RN_DEBUG_STRING_CONVERTIBLE #include <memory> #include <gtest/gtest.h> #include <react/renderer/debug/DebugStringConvertibleItem.h> using namespace facebook::react; TEST(DebugStringConvertibleTest, handleSimpleNode) { SharedDebugStringConvertibleList empty; auto item = std::make_shared<DebugStringConvertibleItem>( "View", "hello", empty, empty); ASSERT_STREQ(item->getDebugName().c_str(), "View"); ASSERT_STREQ(item->getDebugValue().c_str(), "hello"); ASSERT_STREQ(item->getDebugDescription().c_str(), "<View=hello/>"); } TEST(DebugStringConvertibleTest, handleSimpleNodeWithProps) { SharedDebugStringConvertibleList empty; SharedDebugStringConvertibleList props = { std::make_shared<DebugStringConvertibleItem>("x", "1", empty, empty)}; auto item = std::make_shared<DebugStringConvertibleItem>( "View", "hello", props, empty); ASSERT_STREQ(item->getDebugName().c_str(), "View"); ASSERT_STREQ(item->getDebugValue().c_str(), "hello"); ASSERT_STREQ(item->getDebugDescription().c_str(), "<View=hello x=1/>"); } TEST(DebugStringConvertibleTest, handleSimpleNodeWithChildren) { SharedDebugStringConvertibleList empty; SharedDebugStringConvertibleList children = { std::make_shared<DebugStringConvertibleItem>("Child", "a", empty, empty)}; auto item = std::make_shared<DebugStringConvertibleItem>( "View", "hello", empty, children); ASSERT_STREQ(item->getDebugName().c_str(), "View"); ASSERT_STREQ(item->getDebugValue().c_str(), "hello"); ASSERT_STREQ( item->getDebugDescription().c_str(), "<View=hello>\n <Child=a/>\n</View>"); } TEST(DebugStringConvertibleTest, handleNestedNode) { SharedDebugStringConvertibleList empty; SharedDebugStringConvertibleList props = { std::make_shared<DebugStringConvertibleItem>("x", "1", empty, empty)}; SharedDebugStringConvertibleList children = { std::make_shared<DebugStringConvertibleItem>("Child", "a", props, empty)}; auto item = std::make_shared<DebugStringConvertibleItem>( "View", "hello", props, children); ASSERT_STREQ(item->getDebugName().c_str(), "View"); ASSERT_STREQ(item->getDebugValue().c_str(), "hello"); ASSERT_STREQ( item->getDebugDescription().c_str(), "<View=hello x=1>\n <Child=a x=1/>\n</View>"); } TEST(DebugStringConvertibleTest, handleNodeWithComplexProps) { SharedDebugStringConvertibleList empty; SharedDebugStringConvertibleList subProps = { std::make_shared<DebugStringConvertibleItem>( "height", "100", empty, empty), std::make_shared<DebugStringConvertibleItem>( "width", "200", empty, empty)}; SharedDebugStringConvertibleList props = { std::make_shared<DebugStringConvertibleItem>("x", "1", subProps, empty)}; auto item = std::make_shared<DebugStringConvertibleItem>( "View", "hello", props, empty); ASSERT_STREQ(item->getDebugName().c_str(), "View"); ASSERT_STREQ(item->getDebugValue().c_str(), "hello"); ASSERT_STREQ( item->getDebugDescription().c_str(), "<View=hello x=1(height=100 width=200)/>"); } #endif