From 0d715cd01657401f2629b854dc052e1f34ebd757 Mon Sep 17 00:00:00 2001 From: Samuel Susla Date: Tue, 21 Nov 2023 13:31:50 -0800 Subject: [PATCH] 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 --- .../renderer/core/tests/EventTargetTests.cpp | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 packages/react-native/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp diff --git a/packages/react-native/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp b/packages/react-native/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp new file mode 100644 index 00000000000..2f919870c79 --- /dev/null +++ b/packages/react-native/ReactCommon/react/renderer/core/tests/EventTargetTests.cpp @@ -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 +#include +#include +#include + +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( + *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()); +}