mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-24 04:16:00 +08:00
iOS: added fabric/core ComponentDescriptor tests
Summary: Basic test for ComponentDescriptor mechanism. Reviewed By: shergin Differential Revision: D7388297 fbshipit-source-id: 3b0c625656e31df03d71a2e036388621a5e2e21d
This commit is contained in:
committed by
Facebook Github Bot
parent
e254474d4c
commit
408a5f264b
66
ReactCommon/fabric/core/tests/ComponentDescriptorTest.cpp
Normal file
66
ReactCommon/fabric/core/tests/ComponentDescriptorTest.cpp
Normal file
@@ -0,0 +1,66 @@
|
||||
/**
|
||||
* Copyright (c) 2015-present, Facebook, Inc.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include "TestComponent.h"
|
||||
|
||||
using namespace facebook::react;
|
||||
|
||||
TEST(ComponentDescriptorTest, createShadowNode) {
|
||||
SharedComponentDescriptor descriptor = std::make_shared<TestComponentDescriptor>();
|
||||
|
||||
ASSERT_EQ(descriptor->getComponentHandle(), typeid(TestShadowNode).hash_code());
|
||||
ASSERT_STREQ(descriptor->getComponentName().c_str(), "Test");
|
||||
|
||||
RawProps raw;
|
||||
raw["nativeID"] = "abc";
|
||||
SharedShadowNode node = descriptor->createShadowNode(9, 1, (void *)NULL, raw);
|
||||
|
||||
ASSERT_EQ(node->getComponentHandle(), typeid(TestShadowNode).hash_code());
|
||||
ASSERT_STREQ(node->getComponentName().c_str(), "Test");
|
||||
ASSERT_EQ(node->getTag(), 9);
|
||||
ASSERT_EQ(node->getRootTag(), 1);
|
||||
|
||||
// TODO(#27369757): getProps() doesn't work
|
||||
// ASSERT_STREQ(node->getProps()->getNativeId().c_str(), "testNativeID");
|
||||
}
|
||||
|
||||
TEST(ComponentDescriptorTest, cloneShadowNode) {
|
||||
SharedComponentDescriptor descriptor = std::make_shared<TestComponentDescriptor>();
|
||||
|
||||
RawProps raw;
|
||||
raw["nativeID"] = "abc";
|
||||
SharedShadowNode node = descriptor->createShadowNode(9, 1, (void *)NULL, raw);
|
||||
SharedShadowNode cloned = descriptor->cloneShadowNode(node);
|
||||
|
||||
ASSERT_EQ(cloned->getComponentHandle(), typeid(TestShadowNode).hash_code());
|
||||
ASSERT_STREQ(cloned->getComponentName().c_str(), "Test");
|
||||
ASSERT_EQ(cloned->getTag(), 9);
|
||||
ASSERT_EQ(cloned->getRootTag(), 1);
|
||||
|
||||
// TODO(#27369757): getProps() doesn't work
|
||||
// ASSERT_STREQ(cloned->getProps()->getNativeId().c_str(), "testNativeID");
|
||||
}
|
||||
|
||||
TEST(ComponentDescriptorTest, appendChild) {
|
||||
SharedComponentDescriptor descriptor = std::make_shared<TestComponentDescriptor>();
|
||||
|
||||
RawProps raw;
|
||||
raw["nativeID"] = "abc";
|
||||
SharedShadowNode node1 = descriptor->createShadowNode(1, 1, (void *)NULL, raw);
|
||||
SharedShadowNode node2 = descriptor->createShadowNode(2, 1, (void *)NULL, raw);
|
||||
SharedShadowNode node3 = descriptor->createShadowNode(3, 1, (void *)NULL, raw);
|
||||
|
||||
descriptor->appendChild(node1, node2);
|
||||
descriptor->appendChild(node1, node3);
|
||||
|
||||
SharedShadowNodeSharedList node1Children = node1->getChildren();
|
||||
ASSERT_EQ(node1Children->size(), 2);
|
||||
ASSERT_EQ(node1Children->at(0), node2);
|
||||
ASSERT_EQ(node1Children->at(1), node3);
|
||||
}
|
||||
Reference in New Issue
Block a user