Skip to content

Commit 94b8680

Browse files
committed
chore: use renderHook from @testing-library/react-native
1 parent 7ec24a6 commit 94b8680

File tree

5 files changed

+20
-42
lines changed

5 files changed

+20
-42
lines changed

packages/render-html/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@
6060
"@react-native/babel-preset": "0.81.5",
6161
"@release-it/conventional-changelog": "^10.0.1",
6262
"@testing-library/jest-native": "^5.4.3",
63-
"@testing-library/react-hooks": "^8.0.1",
6463
"@testing-library/react-native": "^13.3.3",
6564
"@types/jest": "^29.5.14",
6665
"@types/react-test-renderer": "~19.1.0",

packages/render-html/src/context/__tests__/useAmbientTRenderEngine.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { renderHook } from '@testing-library/react-hooks';
1+
import { renderHook } from '@testing-library/react-native';
22
import { useAmbientTRenderEngine } from '../../TRenderEngineProvider';
33

44
describe('useAmbientTRenderEngine', () => {

packages/render-html/src/elements/__tests__/useIMGElementState.test.ts

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,22 @@
11
import React from 'react';
2-
import { renderHook } from '@testing-library/react-hooks';
3-
import { perf, wait } from 'react-performance-testing';
2+
import { act, renderHook, render } from '@testing-library/react-native';
3+
import { perf, wait } from 'react-performance-testing/native';
44
import useIMGElementState from '../useIMGElementState';
55
import { Image } from 'react-native';
66
import { waitFor } from '@testing-library/react-native';
77

8+
/**
9+
* Renders the hook inside a named component to allow extracting perf results
10+
*/
11+
function renderHookForPerf(renderFn: () => void) {
12+
function TestComponent() {
13+
renderFn();
14+
return null;
15+
}
16+
17+
return render(React.createElement(TestComponent));
18+
}
19+
820
describe('useIMGElementState', () => {
921
const props = {
1022
contentWidth: 300,
@@ -14,7 +26,8 @@ describe('useIMGElementState', () => {
1426
};
1527
it('should render at most twice when width and height physical dimensions are not provided, prior and after fetching physical dimensions', async () => {
1628
const { renderCount } = perf<{ TestComponent: unknown }>(React);
17-
renderHook(() => useIMGElementState(props));
29+
30+
renderHookForPerf(() => useIMGElementState(props));
1831
await wait(() => {
1932
expect(renderCount.current.TestComponent.value).toBeLessThan(2);
2033
});
@@ -23,15 +36,15 @@ describe('useIMGElementState', () => {
2336
const { renderCount } = perf<{ TestComponent: unknown }>(React);
2437
const source = { uri: 'http://via.placeholder.com/640x360', headers: {} };
2538
const localProps = { ...props, source };
26-
renderHook(() => useIMGElementState(localProps));
39+
renderHookForPerf(() => useIMGElementState(localProps));
2740
await wait(() => {
2841
expect(renderCount.current.TestComponent.value).toBeLessThan(2);
2942
});
3043
expect(Image.getSizeWithHeaders).toHaveBeenCalled();
3144
});
3245
it('should render once when width and height physical dimensions are provided, bypassing the fetching of physical dimensions', async () => {
3346
const { renderCount } = perf<{ TestComponent: unknown }>(React);
34-
renderHook(() =>
47+
renderHookForPerf(() =>
3548
useIMGElementState({
3649
...props,
3750
width: 600,

packages/render-html/src/elements/__tests__/useIMGElementStateWithCache.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { renderHook } from '@testing-library/react-hooks';
1+
import { renderHook } from '@testing-library/react-native';
22
import useIMGElementStateWithCache from '../useIMGElementStateWithCache';
33

44
const props = {

yarn.lock

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -6749,28 +6749,6 @@ __metadata:
67496749
languageName: node
67506750
linkType: hard
67516751

6752-
"@testing-library/react-hooks@npm:^8.0.1":
6753-
version: 8.0.1
6754-
resolution: "@testing-library/react-hooks@npm:8.0.1"
6755-
dependencies:
6756-
"@babel/runtime": "npm:^7.12.5"
6757-
react-error-boundary: "npm:^3.1.0"
6758-
peerDependencies:
6759-
"@types/react": ^16.9.0 || ^17.0.0
6760-
react: ^16.9.0 || ^17.0.0
6761-
react-dom: ^16.9.0 || ^17.0.0
6762-
react-test-renderer: ^16.9.0 || ^17.0.0
6763-
peerDependenciesMeta:
6764-
"@types/react":
6765-
optional: true
6766-
react-dom:
6767-
optional: true
6768-
react-test-renderer:
6769-
optional: true
6770-
checksum: 10/f7b69373feebe99bc7d60595822cc5c00a1a5a4801bc4f99b597256a5c1d23c45a51f359051dd8a7bdffcc23b26f324c582e9433c25804934fd351a886812790
6771-
languageName: node
6772-
linkType: hard
6773-
67746752
"@testing-library/react-native@npm:^13.3.3":
67756753
version: 13.3.3
67766754
resolution: "@testing-library/react-native@npm:13.3.3"
@@ -23121,17 +23099,6 @@ __metadata:
2312123099
languageName: node
2312223100
linkType: hard
2312323101

23124-
"react-error-boundary@npm:^3.1.0":
23125-
version: 3.1.4
23126-
resolution: "react-error-boundary@npm:3.1.4"
23127-
dependencies:
23128-
"@babel/runtime": "npm:^7.12.5"
23129-
peerDependencies:
23130-
react: ">=16.13.1"
23131-
checksum: 10/7418637bf352b88f35ff3798e6faa094ee046df9d422fc08f54c017892c3c0738dac661ba3d64d97209464e7a60e7fbbeffdbeaee5edc38f3aaf5f1f4a8bf610
23132-
languageName: node
23133-
linkType: hard
23134-
2313523102
"react-fast-compare@npm:^3.2.0":
2313623103
version: 3.2.2
2313723104
resolution: "react-fast-compare@npm:3.2.2"
@@ -23418,7 +23385,6 @@ __metadata:
2341823385
"@react-native/babel-preset": "npm:0.81.5"
2341923386
"@release-it/conventional-changelog": "npm:^10.0.1"
2342023387
"@testing-library/jest-native": "npm:^5.4.3"
23421-
"@testing-library/react-hooks": "npm:^8.0.1"
2342223388
"@testing-library/react-native": "npm:^13.3.3"
2342323389
"@types/jest": "npm:^29.5.14"
2342423390
"@types/ramda": "npm:^0.31.1"

0 commit comments

Comments
 (0)