diff --git a/packages/react-native/Libraries/Animated/__tests__/AnimatedNative-test.js b/packages/react-native/Libraries/Animated/__tests__/AnimatedNative-test.js
index 67d1cf29113..e4e5a506899 100644
--- a/packages/react-native/Libraries/Animated/__tests__/AnimatedNative-test.js
+++ b/packages/react-native/Libraries/Animated/__tests__/AnimatedNative-test.js
@@ -25,7 +25,7 @@ jest
import {format} from 'node:util';
import * as React from 'react';
-import TestRenderer from 'react-test-renderer';
+import {act, create} from 'react-test-renderer';
const Animated = require('../Animated').default;
const NativeAnimatedHelper = require('../NativeAnimatedHelper').default;
@@ -67,7 +67,7 @@ describe('Native Animated', () => {
useNativeDriver: true,
}).start();
- TestRenderer.create();
+ create();
expect(ref.current).not.toBeNull();
jest.spyOn(ref.current, 'setNativeProps');
@@ -86,7 +86,7 @@ describe('Native Animated', () => {
opacity.setOffset(10);
opacity.__makeNative();
- TestRenderer.create();
+ create();
expect(NativeAnimatedModule.createAnimatedNode).toBeCalledWith(
expect.any(Number),
@@ -103,7 +103,7 @@ describe('Native Animated', () => {
const opacity = new Animated.Value(0);
opacity.__makeNative();
- TestRenderer.create();
+ create();
expect(NativeAnimatedModule.createAnimatedNode).toBeCalledWith(
expect.any(Number),
@@ -123,7 +123,7 @@ describe('Native Animated', () => {
opacity.__makeNative();
- const root = TestRenderer.create();
+ const root = create();
const tag = opacity.__getNativeTag();
root.unmount();
@@ -145,7 +145,7 @@ describe('Native Animated', () => {
opacity.setOffset(0.5);
opacity.__makeNative();
- const root = TestRenderer.create();
+ const root = create();
const tag = opacity.__getNativeTag();
root.unmount();
@@ -161,7 +161,7 @@ describe('Native Animated', () => {
const opacity = new Animated.Value(0);
opacity.__makeNative();
- TestRenderer.create();
+ create();
expect(NativeAnimatedModule.createAnimatedNode).toBeCalledWith(
expect.any(Number),
@@ -250,7 +250,7 @@ describe('Native Animated', () => {
useNativeDriver: true,
});
- const root = TestRenderer.create();
+ const root = create();
expect(NativeAnimatedModule.addAnimatedEventToView).toBeCalledWith(
expect.any(Number),
'onTouchMove',
@@ -278,7 +278,7 @@ describe('Native Animated', () => {
useNativeDriver: true,
});
- TestRenderer.create();
+ create();
['x', 'y'].forEach((key, idx) =>
expect(
NativeAnimatedModule.addAnimatedEventToView,
@@ -289,7 +289,7 @@ describe('Native Animated', () => {
);
});
- it('should throw on invalid event path', () => {
+ it('should throw on invalid event path', async () => {
const value = new Animated.Value(0);
value.__makeNative();
const event = Animated.event([{notNativeEvent: {foo: value}}], {
@@ -305,9 +305,11 @@ describe('Native Animated', () => {
consoleError(...args);
});
- expect(() => {
- TestRenderer.create();
- }).toThrowError(/nativeEvent/);
+ await expect(async () => {
+ await act(() => {
+ create();
+ });
+ }).rejects.toThrowError(/nativeEvent/);
expect(NativeAnimatedModule.addAnimatedEventToView).not.toBeCalled();
console.error.mockRestore();
@@ -331,7 +333,7 @@ describe('Native Animated', () => {
describe('Animated Graph', () => {
it('creates and detaches nodes', () => {
const opacity = new Animated.Value(0);
- const root = TestRenderer.create();
+ const root = create();
Animated.timing(opacity, {
toValue: 10,
@@ -371,7 +373,7 @@ describe('Native Animated', () => {
it('sends a valid description for value, style and props nodes', () => {
const opacity = new Animated.Value(0);
- TestRenderer.create();
+ create();
Animated.timing(opacity, {
toValue: 10,
@@ -399,9 +401,7 @@ describe('Native Animated', () => {
first.__makeNative();
second.__makeNative();
- TestRenderer.create(
- ,
- );
+ create();
expect(NativeAnimatedModule.createAnimatedNode).toBeCalledWith(
expect.any(Number),
@@ -443,7 +443,7 @@ describe('Native Animated', () => {
first.__makeNative();
second.__makeNative();
- TestRenderer.create(
+ create(
,
);
@@ -487,7 +487,7 @@ describe('Native Animated', () => {
first.__makeNative();
second.__makeNative();
- TestRenderer.create(
+ create(
,
);
@@ -531,7 +531,7 @@ describe('Native Animated', () => {
first.__makeNative();
second.__makeNative();
- TestRenderer.create(
+ create(
,
);
@@ -573,9 +573,7 @@ describe('Native Animated', () => {
const value = new Animated.Value(4);
value.__makeNative();
- TestRenderer.create(
- ,
- );
+ create();
expect(NativeAnimatedModule.createAnimatedNode).toBeCalledWith(
expect.any(Number),
@@ -607,7 +605,7 @@ describe('Native Animated', () => {
const value = new Animated.Value(10);
value.__makeNative();
- TestRenderer.create(
+ create(
{
const translateX = new Animated.Value(0);
translateX.__makeNative();
- TestRenderer.create(
- ,
- );
+ create();
expect(NativeAnimatedModule.createAnimatedNode).toBeCalledWith(
expect.any(Number),
@@ -678,7 +674,7 @@ describe('Native Animated', () => {
it('sends create operations before connect operations for multiple animated style props', () => {
const opacity = new Animated.Value(0);
const borderRadius = new Animated.Value(0);
- TestRenderer.create();
+ create();
Animated.timing(opacity, {
toValue: 10,
@@ -772,7 +768,7 @@ describe('Native Animated', () => {
it('sends create operations before connect operations for multiple animated transform props', () => {
const translateX = new Animated.Value(0);
const translateY = new Animated.Value(0);
- TestRenderer.create(
+ create(
{
it('sends create operations before connect operations for multiple animated props', () => {
const propA = new Animated.Value(0);
const propB = new Animated.Value(0);
- TestRenderer.create();
+ create();
Animated.timing(propA, {
toValue: 10,
@@ -967,7 +963,7 @@ describe('Native Animated', () => {
const value = new Animated.Value(2);
value.__makeNative();
- TestRenderer.create(
+ create(
,
);
@@ -1000,7 +996,7 @@ describe('Native Animated', () => {
it("doesn't call into native API if useNativeDriver is set to false", () => {
const opacity = new Animated.Value(0);
- const root = TestRenderer.create();
+ const root = create();
Animated.timing(opacity, {
toValue: 10,
@@ -1017,7 +1013,7 @@ describe('Native Animated', () => {
const opacity = new Animated.Value(0);
const ref = React.createRef(null);
- TestRenderer.create();
+ create();
// Necessary to simulate the native animation.
expect(ref.current).not.toBeNull();
@@ -1046,7 +1042,7 @@ describe('Native Animated', () => {
it('fails for unsupported styles', () => {
const left = new Animated.Value(0);
- TestRenderer.create();
+ create();
const animation = Animated.timing(left, {
toValue: 10,
@@ -1061,7 +1057,7 @@ describe('Native Animated', () => {
const opacity = new Animated.Value(0);
opacity.__makeNative();
- TestRenderer.create(
+ create(
{
const opacity = new Animated.Value(0);
opacity.__makeNative();
- const root = TestRenderer.create();
+ const root = create();
expect(NativeAnimatedModule.restoreDefaultValues).not.toHaveBeenCalled();
root.update();
diff --git a/packages/virtualized-lists/Lists/__tests__/VirtualizedList-test.js b/packages/virtualized-lists/Lists/__tests__/VirtualizedList-test.js
index 8feafd86b64..2a5214438bc 100644
--- a/packages/virtualized-lists/Lists/__tests__/VirtualizedList-test.js
+++ b/packages/virtualized-lists/Lists/__tests__/VirtualizedList-test.js
@@ -12,14 +12,14 @@
import VirtualizedList from '../VirtualizedList';
import {format} from 'node:util';
-import React from 'react';
-import ReactTestRenderer from 'react-test-renderer';
+import * as React from 'react';
+import {act, create} from 'react-test-renderer';
jest.useFakeTimers();
describe('VirtualizedList', () => {
it('renders simple list', () => {
- const component = ReactTestRenderer.create(
+ const component = create(
}
@@ -34,7 +34,7 @@ describe('VirtualizedList', () => {
function ListItemComponent({item}) {
return ;
}
- const component = ReactTestRenderer.create(
+ const component = create(
{
function ListItemComponent({item}) {
return ;
}
- const component = ReactTestRenderer.create(
+ const component = create(
{
console.warn.mockRestore();
});
- it('throws if no renderItem or ListItemComponent', () => {
+ it('throws if no renderItem or ListItemComponent', async () => {
// Silence the React error boundary warning; we expect an uncaught error.
const consoleError = console.error;
jest.spyOn(console, 'error').mockImplementation((...args) => {
@@ -80,15 +80,17 @@ describe('VirtualizedList', () => {
consoleError(...args);
});
- const componentFactory = () =>
- ReactTestRenderer.create(
- data[index]}
- getItemCount={data => data.length}
- />,
- );
- expect(componentFactory).toThrow(
+ await expect(async () => {
+ await act(() => {
+ create(
+ data[index]}
+ getItemCount={data => data.length}
+ />,
+ );
+ });
+ }).rejects.toThrow(
'VirtualizedList: Either ListItemComponent or renderItem props are required but none were found.',
);
@@ -96,7 +98,7 @@ describe('VirtualizedList', () => {
});
it('renders empty list', () => {
- const component = ReactTestRenderer.create(
+ const component = create(
}
@@ -108,7 +110,7 @@ describe('VirtualizedList', () => {
});
it('renders empty list after batch', () => {
- const component = ReactTestRenderer.create(
+ const component = create(
}
@@ -117,7 +119,7 @@ describe('VirtualizedList', () => {
/>,
);
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 200},
@@ -130,7 +132,7 @@ describe('VirtualizedList', () => {
});
it('renders null list', () => {
- const component = ReactTestRenderer.create(
+ const component = create(
}
@@ -143,7 +145,7 @@ describe('VirtualizedList', () => {
it('scrollToEnd works with null list', () => {
const listRef = React.createRef(null);
- ReactTestRenderer.create(
+ create(
}
@@ -156,7 +158,7 @@ describe('VirtualizedList', () => {
});
it('renders empty list with empty component', () => {
- const component = ReactTestRenderer.create(
+ const component = create(
}
@@ -171,7 +173,7 @@ describe('VirtualizedList', () => {
});
it('renders list with empty component', () => {
- const component = ReactTestRenderer.create(
+ const component = create(
}
@@ -184,7 +186,7 @@ describe('VirtualizedList', () => {
});
it('renders all the bells and whistles', () => {
- const component = ReactTestRenderer.create(
+ const component = create(
}
ListEmptyComponent={() => }
@@ -205,7 +207,7 @@ describe('VirtualizedList', () => {
});
it('test getItem functionality where data is not an Array', () => {
- const component = ReactTestRenderer.create(
+ const component = create(
data.get('id_' + index)}
@@ -218,7 +220,7 @@ describe('VirtualizedList', () => {
it('handles separators correctly', () => {
const infos = [];
- const component = ReactTestRenderer.create(
+ const component = create(
}
data={[{key: 'i0'}, {key: 'i1'}, {key: 'i2'}]}
@@ -239,7 +241,7 @@ describe('VirtualizedList', () => {
});
it('handles nested lists', () => {
- const component = ReactTestRenderer.create(
+ const component = create(
(
@@ -270,8 +272,8 @@ describe('VirtualizedList', () => {
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
component.update(
{
onViewableItemsChanged,
};
- const component = ReactTestRenderer.create();
+ const component = create();
const instance = component.getInstance();
@@ -351,7 +353,7 @@ describe('VirtualizedList', () => {
it('getScrollRef for case where it returns a ScrollView', () => {
const listRef = React.createRef(null);
- ReactTestRenderer.create(
+ create(
}
@@ -371,7 +373,7 @@ describe('VirtualizedList', () => {
it('getScrollRef for case where it returns a View', () => {
const listRef = React.createRef(null);
- ReactTestRenderer.create(
+ create(
(
@@ -425,7 +427,7 @@ describe('VirtualizedList', () => {
initialScrollIndex: data.length - 1,
};
- const component = ReactTestRenderer.create();
+ const component = create();
const instance = component.getInstance();
@@ -488,7 +490,7 @@ describe('VirtualizedList', () => {
onStartReached,
};
- const component = ReactTestRenderer.create();
+ const component = create();
const instance = component.getInstance();
@@ -522,7 +524,7 @@ describe('VirtualizedList', () => {
onEndReached,
};
- const component = ReactTestRenderer.create();
+ const component = create();
const instance = component.getInstance();
@@ -585,7 +587,7 @@ describe('VirtualizedList', () => {
onEndReached,
};
- const component = ReactTestRenderer.create();
+ const component = create();
const instance = component.getInstance();
@@ -617,7 +619,7 @@ describe('VirtualizedList', () => {
});
it('throws if using scrollToIndex with index less than 0', () => {
- const component = ReactTestRenderer.create(
+ const component = create(
}
@@ -633,7 +635,7 @@ describe('VirtualizedList', () => {
});
it('throws if using scrollToIndex when item length is less than 1', () => {
- const component = ReactTestRenderer.create(
+ const component = create(
}
@@ -649,7 +651,7 @@ describe('VirtualizedList', () => {
});
it('throws if using scrollToIndex when requested index is bigger than or equal to item length', () => {
- const component = ReactTestRenderer.create(
+ const component = create(
}
@@ -668,7 +670,7 @@ describe('VirtualizedList', () => {
const items = generateItemsStickyEveryN(10, 3);
const ITEM_HEIGHT = 10;
- const component = ReactTestRenderer.create(
+ const component = create(
{
const items = generateItemsStickyEveryN(10, 3);
const ITEM_HEIGHT = 10;
- const component = ReactTestRenderer.create(
+ const component = create(
React.createElement('Header')}
initialNumToRender={10}
@@ -706,7 +708,7 @@ describe('VirtualizedList', () => {
const ITEM_HEIGHT = 10;
- const component = ReactTestRenderer.create(
+ const component = create(
{
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 100},
@@ -755,8 +757,8 @@ describe('VirtualizedList', () => {
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 200},
@@ -774,7 +776,7 @@ describe('VirtualizedList', () => {
performAllBatches();
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateScroll(component, {x: 0, y: 150});
performAllBatches();
});
@@ -794,8 +796,8 @@ it('unmounts sticky headers moved below viewport', () => {
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 200},
@@ -813,12 +815,12 @@ it('unmounts sticky headers moved below viewport', () => {
performAllBatches();
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateScroll(component, {x: 0, y: 150});
performAllBatches();
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateScroll(component, {x: 0, y: 0});
performAllBatches();
});
@@ -835,7 +837,7 @@ it('gracefully handles negative initialScrollIndex', () => {
const mockWarn = jest.spyOn(console, 'warn').mockImplementation(() => {});
- const component = ReactTestRenderer.create(
+ const component = create(
{
expect(mockWarn).toHaveBeenCalledTimes(1);
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 100},
@@ -867,7 +869,7 @@ it('gracefully handles too large initialScrollIndex', () => {
const mockWarn = jest.spyOn(console, 'warn').mockImplementation(() => {});
- const component = ReactTestRenderer.create(
+ const component = create(
{
expect(mockWarn).toHaveBeenCalledTimes(1);
listRef.current.scrollToEnd = jest.fn();
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 100},
@@ -900,7 +902,7 @@ it('renders offset cells in initial render when initialScrollIndex set', () => {
const items = generateItems(10);
const ITEM_HEIGHT = 10;
- const component = ReactTestRenderer.create(
+ const component = create(
{
const listRef = React.createRef(null);
- const component = ReactTestRenderer.create(
+ const component = create(
{
const {scrollTo} = listRef.current.getScrollRef();
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 200},
@@ -948,7 +950,7 @@ it('scrolls after content sizing with near-zero initialScrollIndex', () => {
const listRef = React.createRef(null);
- const component = ReactTestRenderer.create(
+ const component = create(
{
const {scrollTo} = listRef.current.getScrollRef();
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 200},
@@ -977,7 +979,7 @@ it('scrolls after content sizing with near-end initialScrollIndex', () => {
const listRef = React.createRef(null);
- const component = ReactTestRenderer.create(
+ const component = create(
{
const {scrollTo} = listRef.current.getScrollRef();
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 200},
@@ -1011,7 +1013,7 @@ it('scrolls after content sizing with fractional initialScrollIndex (getItemLayo
const listRef = React.createRef(null);
- const component = ReactTestRenderer.create(
+ const component = create(
{
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 200},
@@ -1038,7 +1040,7 @@ it('scrolls after content sizing with fractional initialScrollIndex (cached layo
const items = generateItems(10);
const listRef = React.createRef(null);
- const component = ReactTestRenderer.create(
+ const component = create(
{
+ act(() => {
let y = 0;
for (let i = 0; i < 10; ++i) {
const height = i + 1;
@@ -1076,7 +1078,7 @@ it('scrolls after content sizing with fractional initialScrollIndex (layout esti
const items = generateItems(10);
const listRef = React.createRef(null);
- const component = ReactTestRenderer.create(
+ const component = create(
{
+ act(() => {
let y = 0;
for (let i = 5; i < 10; ++i) {
const height = i + 1;
@@ -1114,7 +1116,7 @@ it('initially renders nothing when initialNumToRender is 0', () => {
const items = generateItems(10);
const ITEM_HEIGHT = 10;
- const component = ReactTestRenderer.create(
+ const component = create(
{
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 200},
@@ -1170,7 +1172,7 @@ it('retains intitial render if initialScrollIndex == 0', () => {
performAllBatches();
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateScroll(component, {x: 0, y: 150});
performAllBatches();
});
@@ -1186,8 +1188,8 @@ it('discards intitial render if initialScrollIndex != 0', () => {
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 200},
@@ -1206,7 +1208,7 @@ it('discards intitial render if initialScrollIndex != 0', () => {
performAllBatches();
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateScroll(component, {x: 0, y: 150});
performAllBatches();
});
@@ -1226,8 +1228,8 @@ it('expands render area by maxToRenderPerBatch on tick', () => {
};
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 200},
@@ -1258,8 +1260,8 @@ it('does not adjust render area until content area layed out', () => {
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateViewportLayout(component, {width: 10, height: 50});
performAllBatches();
});
@@ -1286,8 +1288,8 @@ it('does not move render area when initialScrollIndex is > 0 and offset not yet
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
0 and offset not yet
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 100},
@@ -1318,8 +1320,8 @@ it('clamps render area when items removed for initialScrollIndex > 0 and scrolle
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
0 and scrolle
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
component.update(
0 and scrolle
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 100},
@@ -1359,8 +1361,8 @@ it('adjusts render area with non-zero initialScrollIndex', () => {
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 200},
});
simulateScroll(component, {x: 0, y: 10}); // simulate scroll offset for initialScrollIndex
- performAllBatches();
+ // TODO: Rewrite test to tolerate subtle timing changes.
+ performNextBatch();
+ performNextBatch();
});
// We should expand the render area after receiving a message indcating we
@@ -1392,8 +1396,8 @@ it('renders new items when data is updated with non-zero initialScrollIndex', ()
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 20},
content: {width: 10, height: 20},
@@ -1415,7 +1419,7 @@ it('renders new items when data is updated with non-zero initialScrollIndex', ()
const newItems = generateItems(4);
- ReactTestRenderer.act(() => {
+ act(() => {
component.update(
{
+ act(() => {
performAllBatches();
});
@@ -1440,7 +1444,7 @@ it('renders initialNumToRender cells when virtualization disabled', () => {
const items = generateItems(10);
const ITEM_HEIGHT = 10;
- const component = ReactTestRenderer.create(
+ const component = create(
{
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 100},
@@ -1541,8 +1545,8 @@ it('eventually renders all items when virtualization disabled', () => {
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 100},
@@ -1573,8 +1577,8 @@ it('retains initial render region when an item is appended', () => {
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
component.update(
{
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 100},
@@ -1626,7 +1630,7 @@ it('retains batch render region when an item is appended', () => {
jest.runAllTimers();
- ReactTestRenderer.act(() => {
+ act(() => {
component.update(
{
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 100},
@@ -1669,7 +1673,7 @@ it('constrains batch render region when an item is removed', () => {
performAllBatches();
});
- ReactTestRenderer.act(() => {
+ act(() => {
component.update(
{
it('renders a zero-height tail spacer on initial render if getItemLayout not defined', () => {
const items = generateItems(10);
- const component = ReactTestRenderer.create(
+ const component = create(
,
);
@@ -1704,8 +1708,8 @@ it('renders zero-height tail spacer on batch render if cells not yet measured an
const items = generateItems(10);
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 200},
@@ -1733,8 +1737,8 @@ it('renders tail spacer up to last measured index if getItemLayout not defined',
const items = generateItems(10);
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
+ act(() => {
const LAST_MEASURED_CELL = 6;
for (let i = 0; i <= LAST_MEASURED_CELL; ++i) {
simulateCellLayout(component, items, i, {
@@ -1773,8 +1777,8 @@ it('renders tail spacer up to last measured with irregular layout when getItemLa
const items = generateItems(10);
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
+ act(() => {
const LAST_MEASURED_CELL = 6;
let currentY = 0;
@@ -1816,8 +1820,8 @@ it('renders full tail spacer if all cells measured', () => {
const items = generateItems(10);
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
const LAST_MEASURED_CELL = 9;
for (let i = 0; i <= LAST_MEASURED_CELL; ++i) {
simulateCellLayout(component, items, i, {
@@ -1855,8 +1859,8 @@ it('renders windowSize derived region at top', () => {
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 20},
content: {width: 10, height: 100},
@@ -1888,8 +1892,8 @@ it('renders windowSize derived region in middle', () => {
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 20},
content: {width: 10, height: 100},
@@ -1908,7 +1912,7 @@ it('renders windowSize derived region in middle', () => {
performAllBatches();
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateScroll(component, {x: 0, y: 50});
performAllBatches();
});
@@ -1927,8 +1931,8 @@ it('renders windowSize derived region at bottom', () => {
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 20},
content: {width: 10, height: 100},
});
performAllBatches();
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateScroll(component, {x: 0, y: 80});
performAllBatches();
});
@@ -1963,7 +1967,7 @@ it('renders windowSize derived region at bottom', () => {
it('calls _onCellLayout properly', () => {
const items = [{key: 'i1'}, {key: 'i2'}, {key: 'i3'}];
const mock = jest.fn();
- const component = ReactTestRenderer.create(
+ const component = create(
}
@@ -1995,8 +1999,8 @@ it('keeps viewport below last focused rendered', () => {
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 200},
@@ -2015,11 +2019,11 @@ it('keeps viewport below last focused rendered', () => {
performAllBatches();
});
- ReactTestRenderer.act(() => {
+ act(() => {
component.getInstance()._onCellFocusCapture(3);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateScroll(component, {x: 0, y: 150});
performAllBatches();
});
@@ -2033,8 +2037,8 @@ it('virtualizes away last focused item if focus changes to a new cell', () => {
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 200},
@@ -2053,16 +2057,16 @@ it('virtualizes away last focused item if focus changes to a new cell', () => {
performAllBatches();
});
- ReactTestRenderer.act(() => {
+ act(() => {
component.getInstance()._onCellFocusCapture(3);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateScroll(component, {x: 0, y: 150});
performAllBatches();
});
- ReactTestRenderer.act(() => {
+ act(() => {
component.getInstance()._onCellFocusCapture(17);
});
@@ -2076,8 +2080,8 @@ it('keeps viewport above last focused rendered', () => {
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 200},
@@ -2096,20 +2100,20 @@ it('keeps viewport above last focused rendered', () => {
performAllBatches();
});
- ReactTestRenderer.act(() => {
+ act(() => {
component.getInstance()._onCellFocusCapture(3);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateScroll(component, {x: 0, y: 150});
performAllBatches();
});
- ReactTestRenderer.act(() => {
+ act(() => {
component.getInstance()._onCellFocusCapture(17);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateScroll(component, {x: 0, y: 0});
performAllBatches();
});
@@ -2123,8 +2127,8 @@ it('virtualizes away last focused index if item removed', () => {
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: 200},
@@ -2143,17 +2147,17 @@ it('virtualizes away last focused index if item removed', () => {
performAllBatches();
});
- ReactTestRenderer.act(() => {
+ act(() => {
component.getInstance()._onCellFocusCapture(3);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateScroll(component, {x: 0, y: 150});
performAllBatches();
});
const itemsWithoutFocused = [...items.slice(0, 3), ...items.slice(4)];
- ReactTestRenderer.act(() => {
+ act(() => {
component.update(
{
const ITEM_HEIGHT = 10;
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
);
});
- ReactTestRenderer.act(() => {
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: items.length * ITEM_HEIGHT},
@@ -2199,7 +2203,7 @@ it('handles maintainVisibleContentPosition', () => {
// Add new items at the start of the list to trigger the maintainVisibleContentPosition adjustment.
const newItems = [...generateItems(10, items.length), ...items];
- ReactTestRenderer.act(() => {
+ act(() => {
component.update(
{
expect(component).toMatchSnapshot();
// Simulate scroll adjustment from native maintainVisibleContentPosition.
- ReactTestRenderer.act(() => {
+ act(() => {
simulateContentLayout(component, {
width: 10,
height: newItems.length * ITEM_HEIGHT,
@@ -2234,8 +2238,8 @@ it('handles maintainVisibleContentPosition when anchor moves before minIndexForV
// Render a list with `minIndexForVisible: 1`
let component;
- ReactTestRenderer.act(() => {
- component = ReactTestRenderer.create(
+ act(() => {
+ component = create(
{
+ act(() => {
simulateLayout(component, {
viewport: {width: 10, height: 50},
content: {width: 10, height: items.length * ITEM_HEIGHT},
@@ -2260,7 +2264,7 @@ it('handles maintainVisibleContentPosition when anchor moves before minIndexForV
// Remove the first item to shift the previous anchor to be before
// `minIndexForVisible`.
const [, ...restItems] = items;
- ReactTestRenderer.act(() => {
+ act(() => {
component.update(