PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/react-native/ReactCommon/jsinspector-modern/tracing/tests
Просмотр файла: ProfileTreeNodeTest.cpp
/*
* 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 "ProfileTreeNode.h"
#include <gmock/gmock.h>
#include <gtest/gtest.h>
namespace facebook::react::jsinspector_modern::tracing {
TEST(ProfileTreeNodeTest, OnlyAddsUniqueChildren) {
auto fooCallFrame = RuntimeSamplingProfile::SampleCallStackFrame{
RuntimeSamplingProfile::SampleCallStackFrame::Kind::JSFunction, 0, "foo"};
auto barCallFrame = RuntimeSamplingProfile::SampleCallStackFrame{
RuntimeSamplingProfile::SampleCallStackFrame::Kind::JSFunction, 0, "bar"};
ProfileTreeNode parent(
1, ProfileTreeNode::CodeType::JavaScript, fooCallFrame);
ProfileTreeNode* child =
parent.addChild(2, ProfileTreeNode::CodeType::JavaScript, barCallFrame);
auto maybeAlreadyExistingChild = parent.getIfAlreadyExists(
ProfileTreeNode::CodeType::JavaScript, barCallFrame);
EXPECT_NE(maybeAlreadyExistingChild, nullptr);
auto maybeExistingChildOfChild = child->getIfAlreadyExists(
ProfileTreeNode::CodeType::JavaScript, barCallFrame);
EXPECT_EQ(maybeExistingChildOfChild, nullptr);
}
TEST(ProfileTreeNodeTest, ConsidersCodeTypeOfChild) {
auto parentCallFrame = RuntimeSamplingProfile::SampleCallStackFrame{
RuntimeSamplingProfile::SampleCallStackFrame::Kind::JSFunction, 0, "foo"};
auto childCallFrame = RuntimeSamplingProfile::SampleCallStackFrame{
RuntimeSamplingProfile::SampleCallStackFrame::Kind::JSFunction, 0, "bar"};
ProfileTreeNode parent(
1, ProfileTreeNode::CodeType::JavaScript, parentCallFrame);
parent.addChild(2, ProfileTreeNode::CodeType::JavaScript, childCallFrame);
auto maybeExistingChild = parent.getIfAlreadyExists(
ProfileTreeNode::CodeType::Other, childCallFrame);
EXPECT_EQ(maybeExistingChild, nullptr);
}
} // namespace facebook::react::jsinspector_modern::tracing
Выполнить команду
Для локальной разработки. Не используйте в интернете!