add unit tests for EventTarget (#41596)

Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/41596

changelog: [internal]

Reviewed By: rshest

Differential Revision: D51499449

fbshipit-source-id: 782108edf24af1c91d77c664bc496b466995621e
This commit is contained in:
Samuel Susla
2023-11-21 13:31:50 -08:00
committed by Facebook GitHub Bot
parent a6964b3629
commit 0d715cd016
@@ -0,0 +1,43 @@
/*
* 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 <gtest/gtest.h>
#include <hermes/hermes.h>
#include <react/renderer/core/EventTarget.h>
#include <react/renderer/core/InstanceHandle.h>
using namespace facebook;
using namespace facebook::react;
TEST(EventTargetTests, getInstanceHandle) {
auto runtime = facebook::hermes::makeHermesRuntime();
auto object = jsi::Object(*runtime);
auto instanceHandle = std::make_shared<InstanceHandle>(
*runtime, jsi::Value(*runtime, object), 1);
EXPECT_EQ(instanceHandle->getTag(), 1);
auto eventTarget = EventTarget(std::move(instanceHandle));
EXPECT_EQ(eventTarget.getTag(), 1);
EXPECT_TRUE(eventTarget.getInstanceHandle(*runtime).isNull());
eventTarget.retain(*runtime);
EXPECT_TRUE(eventTarget.getInstanceHandle(*runtime).isNull());
eventTarget.setEnabled(true);
eventTarget.retain(*runtime);
EXPECT_FALSE(eventTarget.getInstanceHandle(*runtime).isNull());
eventTarget.release(*runtime);
EXPECT_TRUE(eventTarget.getInstanceHandle(*runtime).isNull());
}