From 829e4b46a4f26f285ab4deba82f88b6a1499d68a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Norte?= Date: Mon, 10 Mar 2025 05:03:15 -0700 Subject: [PATCH 1/2] Disable no-react-native-imports rule in Fantom tests (#49911) Summary: Changelog: [internal] The approach in Fantom tests is to use the public API as much as we can, but forcing us to use relative imports in tests makes it harder to see what's the public API and what's not. This disables the lint rule so we can use package imports in Fantom tests without warnings/errors. Reviewed By: sammy-SC Differential Revision: D70779721 --- .eslintrc.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.eslintrc.js b/.eslintrc.js index a71d9474a489..44f80b904154 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -124,5 +124,11 @@ module.exports = { ], }, }, + { + files: ['**/*-itest{.fb,}.js'], + rules: { + 'lint/no-react-native-imports': 'off', + }, + }, ], }; From 29c60cd1b4f37cb995c7f48dcd55892ed5f15f4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Norte?= Date: Mon, 10 Mar 2025 05:03:15 -0700 Subject: [PATCH 2/2] Migrate all imports from react-native to package imports instead of relative in Fantom tests (#49912) Summary: Changelog: [internal] This migrates all Fantom tests to use package-relative imports from `react-native` instead of relative paths. Note that a lot of the current deep imports (e.g.: `import ReactNativeElement from 'react-native/src/private/webapis/dom/nodes/ReactNativeElement'`) will not be necessary when we release those APIs as public. Reviewed By: sammy-SC Differential Revision: D70779722 --- .../src/__tests__/Fantom-itest.js | 4 ++-- ...BenchmarkTests-testMode-benchmark-itest.js | 2 +- .../ScrollView/__tests__/ScrollView-itest.js | 9 ++++---- .../__tests__/ScrollView-viewCulling-itest.js | 10 ++++---- .../TextInput/__tests__/TextInput-itest.js | 9 ++++---- .../View/__tests__/View-benchmark-itest.js | 4 ++-- .../Components/View/__tests__/View-itest.js | 5 ++-- .../LogBox/__tests__/LogBox-itest.js | 6 ++--- ...actFabricPublicInstance-benchmark-itest.js | 11 +++++---- .../__tests__/InterruptibleRendering-itest.js | 11 +++++---- .../__tests__/ReactFabric-Suspense-itest.js | 5 ++-- .../__tests__/UIConsistency-itest.js | 12 +++++----- .../mounting/__tests__/Mounting-itest.js | 6 ++--- .../dom/events/__tests__/CustomEvent-itest.js | 6 ++--- .../dom/events/__tests__/Event-itest.js | 6 ++--- .../__tests__/EventHandlerAttributes-itest.js | 10 ++++---- .../__tests__/EventTarget-benchmark-itest.js | 6 ++--- .../dom/events/__tests__/EventTarget-itest.js | 8 +++---- .../__tests__/ReactNativeDocument-itest.js | 12 +++++----- .../__tests__/ReactNativeElement-itest.js | 23 +++++++++---------- .../ReactNativeElementWithDocument-itest.js | 23 +++++++++---------- .../dom/nodes/__tests__/ReadOnlyText-itest.js | 12 +++++----- .../__tests__/IntersectionObserver-itest.js | 21 ++++++++--------- .../__tests__/MutationObserver-itest.js | 16 ++++++------- .../__tests__/LongTaskAPI-itest.js | 12 +++++----- .../__tests__/Performance-benchmark-itest.js | 4 ++-- .../__tests__/UserTimingAPI-itest.js | 14 +++++------ 27 files changed, 132 insertions(+), 135 deletions(-) diff --git a/packages/react-native-fantom/src/__tests__/Fantom-itest.js b/packages/react-native-fantom/src/__tests__/Fantom-itest.js index e2042ca8ba2d..d16864111f52 100644 --- a/packages/react-native-fantom/src/__tests__/Fantom-itest.js +++ b/packages/react-native-fantom/src/__tests__/Fantom-itest.js @@ -11,9 +11,9 @@ import 'react-native/Libraries/Core/InitializeCore'; -import type {Root} from '..'; +import type {Root} from '@react-native/fantom'; -import Fantom from '..'; +import Fantom from '@react-native/fantom'; import * as React from 'react'; import {Modal, ScrollView, Text, TextInput, View} from 'react-native'; import NativeFantom from 'react-native/src/private/testing/fantom/specs/NativeFantom'; diff --git a/packages/react-native-fantom/src/__tests__/benchmarks/BenchmarkTests-testMode-benchmark-itest.js b/packages/react-native-fantom/src/__tests__/benchmarks/BenchmarkTests-testMode-benchmark-itest.js index feef2214e846..dd0215ac99b9 100644 --- a/packages/react-native-fantom/src/__tests__/benchmarks/BenchmarkTests-testMode-benchmark-itest.js +++ b/packages/react-native-fantom/src/__tests__/benchmarks/BenchmarkTests-testMode-benchmark-itest.js @@ -9,7 +9,7 @@ * @oncall react_native */ -import Fantom from '../..'; +import Fantom from '@react-native/fantom'; let runs = 0; diff --git a/packages/react-native/Libraries/Components/ScrollView/__tests__/ScrollView-itest.js b/packages/react-native/Libraries/Components/ScrollView/__tests__/ScrollView-itest.js index fd21e1078fd3..40d9ac56163f 100644 --- a/packages/react-native/Libraries/Components/ScrollView/__tests__/ScrollView-itest.js +++ b/packages/react-native/Libraries/Components/ScrollView/__tests__/ScrollView-itest.js @@ -9,12 +9,13 @@ * @oncall react_native */ -import '../../../Core/InitializeCore.js'; -import ensureInstance from '../../../../src/private/utilities/ensureInstance'; -import ReactNativeElement from '../../../../src/private/webapis/dom/nodes/ReactNativeElement'; -import ScrollView from '../ScrollView'; +import 'react-native/Libraries/Core/InitializeCore'; + import Fantom from '@react-native/fantom'; import * as React from 'react'; +import {ScrollView} from 'react-native'; +import ensureInstance from 'react-native/src/private/utilities/ensureInstance'; +import ReactNativeElement from 'react-native/src/private/webapis/dom/nodes/ReactNativeElement'; describe('onScroll', () => { it('delivers onScroll event', () => { diff --git a/packages/react-native/Libraries/Components/ScrollView/__tests__/ScrollView-viewCulling-itest.js b/packages/react-native/Libraries/Components/ScrollView/__tests__/ScrollView-viewCulling-itest.js index 50efd299442c..f510640e2325 100644 --- a/packages/react-native/Libraries/Components/ScrollView/__tests__/ScrollView-viewCulling-itest.js +++ b/packages/react-native/Libraries/Components/ScrollView/__tests__/ScrollView-viewCulling-itest.js @@ -11,14 +11,12 @@ * @fantom_flags enableSynchronousStateUpdates:true */ -import '../../../Core/InitializeCore.js'; -import ensureInstance from '../../../../src/private/utilities/ensureInstance'; -import ReactNativeElement from '../../../../src/private/webapis/dom/nodes/ReactNativeElement'; -import Modal from '../../../Modal/Modal'; -import View from '../../View/View'; -import ScrollView from '../ScrollView'; +import 'react-native/Libraries/Core/InitializeCore.js'; import Fantom from '@react-native/fantom'; import * as React from 'react'; +import {Modal, ScrollView, View} from 'react-native'; +import ensureInstance from 'react-native/src/private/utilities/ensureInstance'; +import ReactNativeElement from 'react-native/src/private/webapis/dom/nodes/ReactNativeElement'; test('basic culling', () => { const root = Fantom.createRoot({viewportWidth: 100, viewportHeight: 100}); diff --git a/packages/react-native/Libraries/Components/TextInput/__tests__/TextInput-itest.js b/packages/react-native/Libraries/Components/TextInput/__tests__/TextInput-itest.js index ac6f528daa76..cf75fa333421 100644 --- a/packages/react-native/Libraries/Components/TextInput/__tests__/TextInput-itest.js +++ b/packages/react-native/Libraries/Components/TextInput/__tests__/TextInput-itest.js @@ -9,13 +9,14 @@ * @oncall react_native */ -import '../../../Core/InitializeCore.js'; -import ensureInstance from '../../../../src/private/utilities/ensureInstance'; -import ReactNativeElement from '../../../../src/private/webapis/dom/nodes/ReactNativeElement'; -import TextInput from '../TextInput'; +import 'react-native/Libraries/Core/InitializeCore'; + import Fantom from '@react-native/fantom'; import * as React from 'react'; import {useEffect, useLayoutEffect, useRef} from 'react'; +import {TextInput} from 'react-native'; +import ensureInstance from 'react-native/src/private/utilities/ensureInstance'; +import ReactNativeElement from 'react-native/src/private/webapis/dom/nodes/ReactNativeElement'; describe('focus view command', () => { it('creates view before dispatching view command from ref function', () => { diff --git a/packages/react-native/Libraries/Components/View/__tests__/View-benchmark-itest.js b/packages/react-native/Libraries/Components/View/__tests__/View-benchmark-itest.js index 5cfe8f4ff02d..8469f99e1844 100644 --- a/packages/react-native/Libraries/Components/View/__tests__/View-benchmark-itest.js +++ b/packages/react-native/Libraries/Components/View/__tests__/View-benchmark-itest.js @@ -9,11 +9,11 @@ * @oncall react_native */ -import '../../../../Libraries/Core/InitializeCore.js'; +import 'react-native/Libraries/Core/InitializeCore'; -import View from '../View'; import Fantom from '@react-native/fantom'; import * as React from 'react'; +import {View} from 'react-native'; let root; let thousandViews: React.MixedElement; diff --git a/packages/react-native/Libraries/Components/View/__tests__/View-itest.js b/packages/react-native/Libraries/Components/View/__tests__/View-itest.js index 60d4159d3c71..f8bf0fd854b3 100644 --- a/packages/react-native/Libraries/Components/View/__tests__/View-itest.js +++ b/packages/react-native/Libraries/Components/View/__tests__/View-itest.js @@ -9,12 +9,11 @@ * @oncall react_native */ -import '../../../Core/InitializeCore.js'; +import 'react-native/Libraries/Core/InitializeCore'; import Fantom from '@react-native/fantom'; import * as React from 'react'; - -const View = require('../View').default; +import {View} from 'react-native'; describe('width and height style', () => { it('handles correct percentage-based dimensions', () => { diff --git a/packages/react-native/Libraries/LogBox/__tests__/LogBox-itest.js b/packages/react-native/Libraries/LogBox/__tests__/LogBox-itest.js index e161a1e1e471..35c542c3f44d 100644 --- a/packages/react-native/Libraries/LogBox/__tests__/LogBox-itest.js +++ b/packages/react-native/Libraries/LogBox/__tests__/LogBox-itest.js @@ -9,13 +9,13 @@ * @oncall react_native */ -import View from '../../Components/View/View'; -import Text from '../../Text/Text'; -import LogBox from '../LogBox'; +import 'react-native/Libraries/Core/InitializeCore'; + import {renderLogBox} from './fantomHelpers'; import Fantom from '@react-native/fantom'; import * as React from 'react'; import {useEffect} from 'react'; +import {LogBox, Text, View} from 'react-native'; // If a test uses this, it should have a component frame. // This is a bug we'll fix in a followup. diff --git a/packages/react-native/Libraries/ReactNative/ReactFabricPublicInstance/__tests__/ReactFabricPublicInstance-benchmark-itest.js b/packages/react-native/Libraries/ReactNative/ReactFabricPublicInstance/__tests__/ReactFabricPublicInstance-benchmark-itest.js index c39169080e1e..b666f1670cad 100644 --- a/packages/react-native/Libraries/ReactNative/ReactFabricPublicInstance/__tests__/ReactFabricPublicInstance-benchmark-itest.js +++ b/packages/react-native/Libraries/ReactNative/ReactFabricPublicInstance/__tests__/ReactFabricPublicInstance-benchmark-itest.js @@ -9,16 +9,17 @@ * @oncall react_native */ -import '../../../Core/InitializeCore.js'; -import type ReactNativeDocument from '../../../../src/private/webapis/dom/nodes/ReactNativeDocument'; +import 'react-native/Libraries/Core/InitializeCore'; + import type { InternalInstanceHandle, ViewConfig, -} from '../../../Renderer/shims/ReactNativeTypes'; +} from 'react-native/Libraries/Renderer/shims/ReactNativeTypes'; +import type ReactNativeDocument from 'react-native/src/private/webapis/dom/nodes/ReactNativeDocument'; -import ReactNativeElement from '../../../../src/private/webapis/dom/nodes/ReactNativeElement'; -import ReactFabricHostComponent from '../../../ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent'; import Fantom from '@react-native/fantom'; +import ReactFabricHostComponent from 'react-native/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent'; +import ReactNativeElement from 'react-native/src/private/webapis/dom/nodes/ReactNativeElement'; // Create fake parameters for the class. const tag = 11; diff --git a/packages/react-native/Libraries/ReactNative/__tests__/InterruptibleRendering-itest.js b/packages/react-native/Libraries/ReactNative/__tests__/InterruptibleRendering-itest.js index dd7184bf2b51..93c1d4cceff8 100644 --- a/packages/react-native/Libraries/ReactNative/__tests__/InterruptibleRendering-itest.js +++ b/packages/react-native/Libraries/ReactNative/__tests__/InterruptibleRendering-itest.js @@ -9,14 +9,15 @@ * @oncall react_native */ -import {NativeEventCategory} from '../../../src/private/testing/fantom/specs/NativeFantom'; -import ensureInstance from '../../../src/private/utilities/ensureInstance'; -import ReactNativeElement from '../../../src/private/webapis/dom/nodes/ReactNativeElement'; -import TextInput from '../../Components/TextInput/TextInput'; -import Text from '../../Text/Text'; +import 'react-native/Libraries/Core/InitializeCore'; + import Fantom from '@react-native/fantom'; import * as React from 'react'; import {startTransition, useDeferredValue, useEffect, useState} from 'react'; +import {Text, TextInput} from 'react-native'; +import {NativeEventCategory} from 'react-native/src/private/testing/fantom/specs/NativeFantom'; +import ensureInstance from 'react-native/src/private/utilities/ensureInstance'; +import ReactNativeElement from 'react-native/src/private/webapis/dom/nodes/ReactNativeElement'; function ensureReactNativeElement(value: mixed): ReactNativeElement { return ensureInstance(value, ReactNativeElement); diff --git a/packages/react-native/Libraries/ReactNative/__tests__/ReactFabric-Suspense-itest.js b/packages/react-native/Libraries/ReactNative/__tests__/ReactFabric-Suspense-itest.js index f1abe24eda20..d00eee74e09d 100644 --- a/packages/react-native/Libraries/ReactNative/__tests__/ReactFabric-Suspense-itest.js +++ b/packages/react-native/Libraries/ReactNative/__tests__/ReactFabric-Suspense-itest.js @@ -9,11 +9,12 @@ * @oncall react_native */ -import '../../Core/InitializeCore.js'; -import View from '../../Components/View/View'; +import 'react-native/Libraries/Core/InitializeCore'; + import Fantom from '@react-native/fantom'; import * as React from 'react'; import {Suspense, startTransition} from 'react'; +import {View} from 'react-native'; let resolveFunction: (() => void) | null = null; diff --git a/packages/react-native/src/private/renderer/consistency/__tests__/UIConsistency-itest.js b/packages/react-native/src/private/renderer/consistency/__tests__/UIConsistency-itest.js index fa82907105ad..8d174c355e90 100644 --- a/packages/react-native/src/private/renderer/consistency/__tests__/UIConsistency-itest.js +++ b/packages/react-native/src/private/renderer/consistency/__tests__/UIConsistency-itest.js @@ -12,16 +12,16 @@ * @fantom_flags enableSynchronousStateUpdates:true */ -import ScrollView from '../../../../../Libraries/Components/ScrollView/ScrollView'; -import Text from '../../../../../Libraries/Text/Text'; -import ensureInstance from '../../../utilities/ensureInstance'; -import ReactNativeElement from '../../../webapis/dom/nodes/ReactNativeElement'; +import 'react-native/Libraries/Core/InitializeCore'; + import Fantom from '@react-native/fantom'; import * as React from 'react'; import {useLayoutEffect} from 'react'; +import {ScrollView, Text} from 'react-native'; +import ensureInstance from 'react-native/src/private/utilities/ensureInstance'; +import ReactNativeElement from 'react-native/src/private/webapis/dom/nodes/ReactNativeElement'; -import '../../../../../Libraries/Core/InitializeCore'; - +import 'react-native/Libraries/Core/InitializeCore'; describe('UIConsistency', () => { it('should provide consistent data from the tree within the same synchronous function', () => { const root = Fantom.createRoot(); diff --git a/packages/react-native/src/private/renderer/mounting/__tests__/Mounting-itest.js b/packages/react-native/src/private/renderer/mounting/__tests__/Mounting-itest.js index a3f96c15cf4c..7584d8e7dc61 100644 --- a/packages/react-native/src/private/renderer/mounting/__tests__/Mounting-itest.js +++ b/packages/react-native/src/private/renderer/mounting/__tests__/Mounting-itest.js @@ -9,11 +9,11 @@ * @oncall react_native */ -import View from '../../../../../Libraries/Components/View/View'; +import 'react-native/Libraries/Core/InitializeCore'; + import Fantom from '@react-native/fantom'; import * as React from 'react'; - -import '../../../../../Libraries/Core/InitializeCore'; +import {View} from 'react-native'; describe('ViewFlattening', () => { /** diff --git a/packages/react-native/src/private/webapis/dom/events/__tests__/CustomEvent-itest.js b/packages/react-native/src/private/webapis/dom/events/__tests__/CustomEvent-itest.js index c992f0a57911..9b1c40559cbf 100644 --- a/packages/react-native/src/private/webapis/dom/events/__tests__/CustomEvent-itest.js +++ b/packages/react-native/src/private/webapis/dom/events/__tests__/CustomEvent-itest.js @@ -9,10 +9,10 @@ * @oncall react_native */ -import '../../../../../../Libraries/Core/InitializeCore.js'; +import 'react-native/Libraries/Core/InitializeCore'; -import CustomEvent from '../CustomEvent'; -import Event from '../Event'; +import CustomEvent from 'react-native/src/private/webapis/dom/events/CustomEvent'; +import Event from 'react-native/src/private/webapis/dom/events/Event'; describe('CustomEvent', () => { it('extends Event', () => { diff --git a/packages/react-native/src/private/webapis/dom/events/__tests__/Event-itest.js b/packages/react-native/src/private/webapis/dom/events/__tests__/Event-itest.js index b0d827aa984c..00845a3e639f 100644 --- a/packages/react-native/src/private/webapis/dom/events/__tests__/Event-itest.js +++ b/packages/react-native/src/private/webapis/dom/events/__tests__/Event-itest.js @@ -9,10 +9,10 @@ * @oncall react_native */ -import '../../../../../../Libraries/Core/InitializeCore.js'; +import 'react-native/Libraries/Core/InitializeCore'; -import Event from '../Event'; -import {setInPassiveListenerFlag} from '../internals/EventInternals'; +import Event from 'react-native/src/private/webapis/dom/events/Event'; +import {setInPassiveListenerFlag} from 'react-native/src/private/webapis/dom/events/internals/EventInternals'; describe('Event', () => { it('provides read-only constants for event phases', () => { diff --git a/packages/react-native/src/private/webapis/dom/events/__tests__/EventHandlerAttributes-itest.js b/packages/react-native/src/private/webapis/dom/events/__tests__/EventHandlerAttributes-itest.js index 7f3a4b5fc41c..d17a8dfd0f99 100644 --- a/packages/react-native/src/private/webapis/dom/events/__tests__/EventHandlerAttributes-itest.js +++ b/packages/react-native/src/private/webapis/dom/events/__tests__/EventHandlerAttributes-itest.js @@ -11,16 +11,16 @@ // flowlint unsafe-getters-setters:off -import '../../../../../../Libraries/Core/InitializeCore.js'; +import 'react-native/Libraries/Core/InitializeCore'; -import type {EventCallback} from '../EventTarget'; +import type {EventCallback} from 'react-native/src/private/webapis/dom/events/EventTarget'; -import Event from '../Event'; +import Event from 'react-native/src/private/webapis/dom/events/Event'; import { getEventHandlerAttribute, setEventHandlerAttribute, -} from '../EventHandlerAttributes'; -import EventTarget from '../EventTarget'; +} from 'react-native/src/private/webapis/dom/events/EventHandlerAttributes'; +import EventTarget from 'react-native/src/private/webapis/dom/events/EventTarget'; class EventTargetSubclass extends EventTarget { get oncustomevent(): EventCallback | null { diff --git a/packages/react-native/src/private/webapis/dom/events/__tests__/EventTarget-benchmark-itest.js b/packages/react-native/src/private/webapis/dom/events/__tests__/EventTarget-benchmark-itest.js index 848b1c5dcc69..5c0730edeb10 100644 --- a/packages/react-native/src/private/webapis/dom/events/__tests__/EventTarget-benchmark-itest.js +++ b/packages/react-native/src/private/webapis/dom/events/__tests__/EventTarget-benchmark-itest.js @@ -9,12 +9,12 @@ * @oncall react_native */ -import '../../../../../../Libraries/Core/InitializeCore.js'; +import 'react-native/Libraries/Core/InitializeCore'; -import Event from '../Event'; -import EventTarget from '../EventTarget'; import createEventTargetHierarchyWithDepth from './createEventTargetHierarchyWithDepth'; import {unstable_benchmark} from '@react-native/fantom'; +import Event from 'react-native/src/private/webapis/dom/events/Event'; +import EventTarget from 'react-native/src/private/webapis/dom/events/EventTarget'; let event: Event; let eventTarget: EventTarget; diff --git a/packages/react-native/src/private/webapis/dom/events/__tests__/EventTarget-itest.js b/packages/react-native/src/private/webapis/dom/events/__tests__/EventTarget-itest.js index c2a2a3258d66..8ab051d69051 100644 --- a/packages/react-native/src/private/webapis/dom/events/__tests__/EventTarget-itest.js +++ b/packages/react-native/src/private/webapis/dom/events/__tests__/EventTarget-itest.js @@ -9,12 +9,12 @@ * @oncall react_native */ -import '../../../../../../Libraries/Core/InitializeCore.js'; +import 'react-native/Libraries/Core/InitializeCore'; -import Event from '../Event'; -import EventTarget from '../EventTarget'; -import {dispatchTrustedEvent} from '../internals/EventTargetInternals'; import createEventTargetHierarchyWithDepth from './createEventTargetHierarchyWithDepth'; +import Event from 'react-native/src/private/webapis/dom/events/Event'; +import EventTarget from 'react-native/src/private/webapis/dom/events/EventTarget'; +import {dispatchTrustedEvent} from 'react-native/src/private/webapis/dom/events/internals/EventTargetInternals'; let listenerCallOrder = 0; diff --git a/packages/react-native/src/private/webapis/dom/nodes/__tests__/ReactNativeDocument-itest.js b/packages/react-native/src/private/webapis/dom/nodes/__tests__/ReactNativeDocument-itest.js index 75afc1751af1..fd13905cdfaf 100644 --- a/packages/react-native/src/private/webapis/dom/nodes/__tests__/ReactNativeDocument-itest.js +++ b/packages/react-native/src/private/webapis/dom/nodes/__tests__/ReactNativeDocument-itest.js @@ -9,16 +9,16 @@ * @oncall react_native */ -import '../../../../../../Libraries/Core/InitializeCore.js'; +import 'react-native/Libraries/Core/InitializeCore'; -import View from '../../../../../../Libraries/Components/View/View'; -import ensureInstance from '../../../../utilities/ensureInstance'; -import ReactNativeDocument from '../ReactNativeDocument'; -import ReactNativeElement from '../ReactNativeElement'; -import ReadOnlyNode from '../ReadOnlyNode'; import Fantom from '@react-native/fantom'; import nullthrows from 'nullthrows'; import * as React from 'react'; +import {View} from 'react-native'; +import ensureInstance from 'react-native/src/private/utilities/ensureInstance'; +import ReactNativeDocument from 'react-native/src/private/webapis/dom/nodes/ReactNativeDocument'; +import ReactNativeElement from 'react-native/src/private/webapis/dom/nodes/ReactNativeElement'; +import ReadOnlyNode from 'react-native/src/private/webapis/dom/nodes/ReadOnlyNode'; describe('ReactNativeDocument', () => { it('is connected until the surface is destroyed', () => { diff --git a/packages/react-native/src/private/webapis/dom/nodes/__tests__/ReactNativeElement-itest.js b/packages/react-native/src/private/webapis/dom/nodes/__tests__/ReactNativeElement-itest.js index 993d7c2edfe8..c14261a3f1d5 100644 --- a/packages/react-native/src/private/webapis/dom/nodes/__tests__/ReactNativeElement-itest.js +++ b/packages/react-native/src/private/webapis/dom/nodes/__tests__/ReactNativeElement-itest.js @@ -10,22 +10,21 @@ * @fantom_flags enableDOMDocumentAPI:false */ -import '../../../../../../Libraries/Core/InitializeCore.js'; +import 'react-native/Libraries/Core/InitializeCore'; -import ScrollView from '../../../../../../Libraries/Components/ScrollView/ScrollView'; -import View from '../../../../../../Libraries/Components/View/View'; +import Fantom from '@react-native/fantom'; +import * as React from 'react'; +import {ScrollView, View} from 'react-native'; import { NativeText, NativeVirtualText, -} from '../../../../../../Libraries/Text/TextNativeComponent'; -import ensureInstance from '../../../../utilities/ensureInstance'; -import HTMLCollection from '../../oldstylecollections/HTMLCollection'; -import NodeList from '../../oldstylecollections/NodeList'; -import ReactNativeElement from '../ReactNativeElement'; -import ReadOnlyElement from '../ReadOnlyElement'; -import ReadOnlyNode from '../ReadOnlyNode'; -import Fantom from '@react-native/fantom'; -import * as React from 'react'; +} from 'react-native/Libraries/Text/TextNativeComponent'; +import ensureInstance from 'react-native/src/private/utilities/ensureInstance'; +import ReactNativeElement from 'react-native/src/private/webapis/dom/nodes/ReactNativeElement'; +import ReadOnlyElement from 'react-native/src/private/webapis/dom/nodes/ReadOnlyElement'; +import ReadOnlyNode from 'react-native/src/private/webapis/dom/nodes/ReadOnlyNode'; +import HTMLCollection from 'react-native/src/private/webapis/dom/oldstylecollections/HTMLCollection'; +import NodeList from 'react-native/src/private/webapis/dom/oldstylecollections/NodeList'; function ensureReactNativeElement(value: mixed): ReactNativeElement { return ensureInstance(value, ReactNativeElement); diff --git a/packages/react-native/src/private/webapis/dom/nodes/__tests__/ReactNativeElementWithDocument-itest.js b/packages/react-native/src/private/webapis/dom/nodes/__tests__/ReactNativeElementWithDocument-itest.js index 3732ba0c866f..0d06bb8c7516 100644 --- a/packages/react-native/src/private/webapis/dom/nodes/__tests__/ReactNativeElementWithDocument-itest.js +++ b/packages/react-native/src/private/webapis/dom/nodes/__tests__/ReactNativeElementWithDocument-itest.js @@ -10,22 +10,21 @@ * @fantom_flags enableDOMDocumentAPI:true */ -import '../../../../../../Libraries/Core/InitializeCore.js'; +import 'react-native/Libraries/Core/InitializeCore'; -import ScrollView from '../../../../../../Libraries/Components/ScrollView/ScrollView'; -import View from '../../../../../../Libraries/Components/View/View'; +import Fantom from '@react-native/fantom'; +import * as React from 'react'; +import {ScrollView, View} from 'react-native'; import { NativeText, NativeVirtualText, -} from '../../../../../../Libraries/Text/TextNativeComponent'; -import ensureInstance from '../../../../utilities/ensureInstance'; -import HTMLCollection from '../../oldstylecollections/HTMLCollection'; -import NodeList from '../../oldstylecollections/NodeList'; -import ReactNativeElement from '../ReactNativeElement'; -import ReadOnlyElement from '../ReadOnlyElement'; -import ReadOnlyNode from '../ReadOnlyNode'; -import Fantom from '@react-native/fantom'; -import * as React from 'react'; +} from 'react-native/Libraries/Text/TextNativeComponent'; +import ensureInstance from 'react-native/src/private/utilities/ensureInstance'; +import ReactNativeElement from 'react-native/src/private/webapis/dom/nodes/ReactNativeElement'; +import ReadOnlyElement from 'react-native/src/private/webapis/dom/nodes/ReadOnlyElement'; +import ReadOnlyNode from 'react-native/src/private/webapis/dom/nodes/ReadOnlyNode'; +import HTMLCollection from 'react-native/src/private/webapis/dom/oldstylecollections/HTMLCollection'; +import NodeList from 'react-native/src/private/webapis/dom/oldstylecollections/NodeList'; function ensureReactNativeElement(value: mixed): ReactNativeElement { return ensureInstance(value, ReactNativeElement); diff --git a/packages/react-native/src/private/webapis/dom/nodes/__tests__/ReadOnlyText-itest.js b/packages/react-native/src/private/webapis/dom/nodes/__tests__/ReadOnlyText-itest.js index f27c8df2b6a3..4a3c18188a47 100644 --- a/packages/react-native/src/private/webapis/dom/nodes/__tests__/ReadOnlyText-itest.js +++ b/packages/react-native/src/private/webapis/dom/nodes/__tests__/ReadOnlyText-itest.js @@ -9,16 +9,16 @@ * @oncall react_native */ -import '../../../../../../Libraries/Core/InitializeCore.js'; +import 'react-native/Libraries/Core/InitializeCore'; -import {NativeText} from '../../../../../../Libraries/Text/TextNativeComponent'; -import ensureInstance from '../../../../utilities/ensureInstance'; -import ReactNativeElement from '../ReactNativeElement'; -import ReadOnlyNode from '../ReadOnlyNode'; -import ReadOnlyText from '../ReadOnlyText'; import Fantom from '@react-native/fantom'; import invariant from 'invariant'; import * as React from 'react'; +import {NativeText} from 'react-native/Libraries/Text/TextNativeComponent'; +import ensureInstance from 'react-native/src/private/utilities/ensureInstance'; +import ReactNativeElement from 'react-native/src/private/webapis/dom/nodes/ReactNativeElement'; +import ReadOnlyNode from 'react-native/src/private/webapis/dom/nodes/ReadOnlyNode'; +import ReadOnlyText from 'react-native/src/private/webapis/dom/nodes/ReadOnlyText'; function ensureReadOnlyText(value: mixed): ReadOnlyText { return ensureInstance(value, ReadOnlyText); diff --git a/packages/react-native/src/private/webapis/intersectionobserver/__tests__/IntersectionObserver-itest.js b/packages/react-native/src/private/webapis/intersectionobserver/__tests__/IntersectionObserver-itest.js index 54a39ce4e257..f3517acc66a8 100644 --- a/packages/react-native/src/private/webapis/intersectionobserver/__tests__/IntersectionObserver-itest.js +++ b/packages/react-native/src/private/webapis/intersectionobserver/__tests__/IntersectionObserver-itest.js @@ -9,21 +9,18 @@ * @oncall react_native */ -/* eslint-disable lint/sort-imports */ -import type IntersectionObserverType from '../IntersectionObserver'; +import 'react-native/Libraries/Core/InitializeCore'; + +import type IntersectionObserverType from 'react-native/src/private/webapis/intersectionobserver/IntersectionObserver'; -import DOMRectReadOnly from '../../geometry/DOMRectReadOnly'; import Fantom from '@react-native/fantom'; -import setUpIntersectionObserver from '../../../setup/setUpIntersectionObserver'; -import ReactNativeElement from '../../dom/nodes/ReactNativeElement'; -import IntersectionObserverEntry from '../IntersectionObserverEntry'; import * as React from 'react'; - -import '../../../../../Libraries/Core/InitializeCore.js'; - -import ScrollView from '../../../../../Libraries/Components/ScrollView/ScrollView'; -import View from '../../../../../Libraries/Components/View/View'; -import ensureInstance from '../../../utilities/ensureInstance'; +import {ScrollView, View} from 'react-native'; +import setUpIntersectionObserver from 'react-native/src/private/setup/setUpIntersectionObserver'; +import ensureInstance from 'react-native/src/private/utilities/ensureInstance'; +import ReactNativeElement from 'react-native/src/private/webapis/dom/nodes/ReactNativeElement'; +import DOMRectReadOnly from 'react-native/src/private/webapis/geometry/DOMRectReadOnly'; +import IntersectionObserverEntry from 'react-native/src/private/webapis/intersectionobserver/IntersectionObserverEntry'; declare const IntersectionObserver: Class; diff --git a/packages/react-native/src/private/webapis/mutationobserver/__tests__/MutationObserver-itest.js b/packages/react-native/src/private/webapis/mutationobserver/__tests__/MutationObserver-itest.js index 3be1277d7d90..e0e958410eeb 100644 --- a/packages/react-native/src/private/webapis/mutationobserver/__tests__/MutationObserver-itest.js +++ b/packages/react-native/src/private/webapis/mutationobserver/__tests__/MutationObserver-itest.js @@ -9,18 +9,18 @@ * @oncall react_native */ -import type MutationObserverType from '../MutationObserver'; -import type MutationRecordType from '../MutationRecord'; +import 'react-native/Libraries/Core/InitializeCore'; + +import type MutationObserverType from 'react-native/src/private/webapis/mutationobserver/MutationObserver'; +import type MutationRecordType from 'react-native/src/private/webapis/mutationobserver/MutationRecord'; -import View from '../../../../../Libraries/Components/View/View'; -import setUpMutationObserver from '../../../setup/setUpMutationObserver'; -import ensureInstance from '../../../utilities/ensureInstance'; -import ReactNativeElement from '../../dom/nodes/ReactNativeElement'; import Fantom from '@react-native/fantom'; import nullthrows from 'nullthrows'; import * as React from 'react'; - -import '../../../../../Libraries/Core/InitializeCore.js'; +import {View} from 'react-native'; +import setUpMutationObserver from 'react-native/src/private/setup/setUpMutationObserver'; +import ensureInstance from 'react-native/src/private/utilities/ensureInstance'; +import ReactNativeElement from 'react-native/src/private/webapis/dom/nodes/ReactNativeElement'; declare const MutationObserver: Class; declare const MutationRecord: Class; diff --git a/packages/react-native/src/private/webapis/performance/__tests__/LongTaskAPI-itest.js b/packages/react-native/src/private/webapis/performance/__tests__/LongTaskAPI-itest.js index 3453c26c6e04..5210a6d0dd84 100644 --- a/packages/react-native/src/private/webapis/performance/__tests__/LongTaskAPI-itest.js +++ b/packages/react-native/src/private/webapis/performance/__tests__/LongTaskAPI-itest.js @@ -10,18 +10,18 @@ * @fantom_flags enableLongTaskAPI:true */ +import 'react-native/Libraries/Core/InitializeCore'; + import type { PerformanceObserverCallbackOptions, PerformanceObserverEntryList, -} from '../PerformanceObserver'; +} from 'react-native/src/private/webapis/performance/PerformanceObserver'; -import setUpPerformanceObserver from '../../../setup/setUpPerformanceObserver'; -import {PerformanceLongTaskTiming} from '../LongTasks'; -import {PerformanceObserver} from '../PerformanceObserver'; import Fantom from '@react-native/fantom'; import nullthrows from 'nullthrows'; - -import '../../../../../Libraries/Core/InitializeCore.js'; +import setUpPerformanceObserver from 'react-native/src/private/setup/setUpPerformanceObserver'; +import {PerformanceLongTaskTiming} from 'react-native/src/private/webapis/performance/LongTasks'; +import {PerformanceObserver} from 'react-native/src/private/webapis/performance/PerformanceObserver'; setUpPerformanceObserver(); diff --git a/packages/react-native/src/private/webapis/performance/__tests__/Performance-benchmark-itest.js b/packages/react-native/src/private/webapis/performance/__tests__/Performance-benchmark-itest.js index e0cb134fcbd4..ba7887becd27 100644 --- a/packages/react-native/src/private/webapis/performance/__tests__/Performance-benchmark-itest.js +++ b/packages/react-native/src/private/webapis/performance/__tests__/Performance-benchmark-itest.js @@ -10,9 +10,9 @@ * @fantom_mode opt */ -import '../../../../../Libraries/Core/InitializeCore.js'; +import 'react-native/Libraries/Core/InitializeCore'; -import type Performance from '../Performance'; +import type Performance from 'react-native/src/private/webapis/performance/Performance'; import Fantom from '@react-native/fantom'; diff --git a/packages/react-native/src/private/webapis/performance/__tests__/UserTimingAPI-itest.js b/packages/react-native/src/private/webapis/performance/__tests__/UserTimingAPI-itest.js index 7d521336c94e..66a56a42a4d8 100644 --- a/packages/react-native/src/private/webapis/performance/__tests__/UserTimingAPI-itest.js +++ b/packages/react-native/src/private/webapis/performance/__tests__/UserTimingAPI-itest.js @@ -10,15 +10,15 @@ * @fantom_flags enableLongTaskAPI:true */ -import type Performance from '../Performance'; +import 'react-native/Libraries/Core/InitializeCore'; -import setUpPerformanceObserver from '../../../setup/setUpPerformanceObserver'; -import ensureInstance from '../../../utilities/ensureInstance'; -import {PerformanceObserver} from '../PerformanceObserver'; -import {PerformanceMark} from '../UserTiming'; -import Fantom from '@react-native/fantom'; +import type Performance from 'react-native/src/private/webapis/performance/Performance'; -import '../../../../../Libraries/Core/InitializeCore.js'; +import Fantom from '@react-native/fantom'; +import setUpPerformanceObserver from 'react-native/src/private/setup/setUpPerformanceObserver'; +import ensureInstance from 'react-native/src/private/utilities/ensureInstance'; +import {PerformanceObserver} from 'react-native/src/private/webapis/performance/PerformanceObserver'; +import {PerformanceMark} from 'react-native/src/private/webapis/performance/UserTiming'; setUpPerformanceObserver();