Skip to content

Commit 804fd7b

Browse files
committed
fix lint
1 parent 2fd90fe commit 804fd7b

File tree

11 files changed

+59
-49
lines changed

11 files changed

+59
-49
lines changed

src/__tests__/fire-event-async.test.tsx

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -658,11 +658,3 @@ describe('React.Suspense integration', () => {
658658
expect(screen.getByText('Loading data...')).toBeTruthy();
659659
});
660660
});
661-
662-
function createMockPromise<T>(): [Promise<T>, (value: T) => void] {
663-
let resolve: (value: T) => void;
664-
const promise = new Promise<T>((res) => {
665-
resolve = res;
666-
});
667-
return [promise, resolve!];
668-
}

src/__tests__/suspense-fake-timers.test.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import { Text, View } from 'react-native';
3+
34
import { act, renderAsync, screen } from '..';
45

56
jest.useFakeTimers();
@@ -28,7 +29,7 @@ testGateReact19('resolves timer-controlled promise', async () => {
2829
expect(screen.queryByTestId('content')).not.toBeOnTheScreen();
2930
expect(screen.queryByTestId('sibling')).not.toBeOnTheScreen();
3031

31-
await act(async () => jest.runOnlyPendingTimers());
32+
await act(async () => await jest.runOnlyPendingTimersAsync());
3233
expect(screen.getByTestId('content')).toBeOnTheScreen();
3334
expect(screen.getByTestId('sibling')).toBeOnTheScreen();
3435
expect(screen.queryByText('Loading...')).not.toBeOnTheScreen();

src/__tests__/suspense.test.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import * as React from 'react';
22
import { Text, View } from 'react-native';
3+
34
import { act, renderAsync, screen } from '..';
45

56
const testGateReact19 = React.version.startsWith('19.') ? test : test.skip;

src/fire-event.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,11 @@ fireEvent.changeText = (element: ReactTestInstance, ...data: unknown[]) =>
134134
fireEvent.scroll = (element: ReactTestInstance, ...data: unknown[]) =>
135135
fireEvent(element, 'scroll', ...data);
136136

137-
async function fireEventAsync(element: ReactTestInstance, eventName: EventName, ...data: unknown[]) {
137+
async function fireEventAsync(
138+
element: ReactTestInstance,
139+
eventName: EventName,
140+
...data: unknown[]
141+
) {
138142
if (!isElementMounted(element)) {
139143
return;
140144
}
@@ -147,6 +151,7 @@ async function fireEventAsync(element: ReactTestInstance, eventName: EventName,
147151
}
148152

149153
let returnValue;
154+
// eslint-disable-next-line require-await
150155
await act(async () => {
151156
returnValue = handler(...data);
152157
});
@@ -155,13 +160,13 @@ async function fireEventAsync(element: ReactTestInstance, eventName: EventName,
155160
}
156161

157162
fireEventAsync.press = async (element: ReactTestInstance, ...data: unknown[]) =>
158-
fireEventAsync(element, 'press', ...data);
163+
await fireEventAsync(element, 'press', ...data);
159164

160165
fireEventAsync.changeText = async (element: ReactTestInstance, ...data: unknown[]) =>
161-
fireEventAsync(element, 'changeText', ...data);
166+
await fireEventAsync(element, 'changeText', ...data);
162167

163168
fireEventAsync.scroll = async (element: ReactTestInstance, ...data: unknown[]) =>
164-
fireEventAsync(element, 'scroll', ...data);
169+
await fireEventAsync(element, 'scroll', ...data);
165170

166171
export { fireEventAsync };
167172
export default fireEvent;

src/render-async.tsx

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ function buildRenderResult(
6868
});
6969
};
7070
const updateAsync = async function (component: React.ReactElement) {
71+
// eslint-disable-next-line require-await
7172
await act(async () => {
7273
renderer.update(wrap(component));
7374
});
@@ -79,6 +80,7 @@ function buildRenderResult(
7980
});
8081
};
8182
const unmountAsync = async () => {
83+
// eslint-disable-next-line require-await
8284
await act(async () => {
8385
renderer.unmount();
8486
});
@@ -119,19 +121,6 @@ function buildRenderResult(
119121
return result;
120122
}
121123

122-
// TODO: test this
123-
function updateWithAsyncAct(
124-
renderer: ReactTestRenderer,
125-
wrap: (innerElement: React.ReactElement) => React.ReactElement,
126-
) {
127-
return async function (component: React.ReactElement) {
128-
// eslint-disable-next-line require-await
129-
await act(async () => {
130-
renderer.update(wrap(component));
131-
});
132-
};
133-
}
134-
135124
export type DebugFunction = (options?: DebugOptions) => void;
136125

137126
function makeDebug(renderer: ReactTestRenderer): DebugFunction {

src/render.tsx

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import { validateStringsRenderedWithinText } from './helpers/string-validation';
1515
import { renderWithAct } from './render-act';
1616
import { setRenderResult } from './screen';
1717
import { getQueriesForElement } from './within';
18-
import renderAsync from './render-async';
1918

2019
export interface RenderOptions {
2120
/**
@@ -107,6 +106,7 @@ function buildRenderResult(
107106
});
108107
};
109108
const updateAsync = async function (component: React.ReactElement) {
109+
// eslint-disable-next-line require-await
110110
await act(async () => {
111111
renderer.update(wrap(component));
112112
});
@@ -118,6 +118,7 @@ function buildRenderResult(
118118
});
119119
};
120120
const unmountAsync = async () => {
121+
// eslint-disable-next-line require-await
121122
await act(async () => {
122123
renderer.unmount();
123124
});
@@ -158,17 +159,6 @@ function buildRenderResult(
158159
return result;
159160
}
160161

161-
function updateWithAct(
162-
renderer: ReactTestRenderer,
163-
wrap: (innerElement: React.ReactElement) => React.ReactElement,
164-
) {
165-
return function (component: React.ReactElement) {
166-
void act(() => {
167-
renderer.update(wrap(component));
168-
});
169-
};
170-
}
171-
172162
export type DebugFunction = (options?: DebugOptions) => void;
173163

174164
function makeDebug(renderer: ReactTestRenderer): DebugFunction {

src/user-event/clear.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,11 @@ export async function clear(this: UserEventInstance, element: ReactTestInstance)
3030
start: 0,
3131
end: textToClear.length,
3232
};
33-
await dispatchEvent(element, 'selectionChange', EventBuilder.TextInput.selectionChange(selectionRange));
33+
await dispatchEvent(
34+
element,
35+
'selectionChange',
36+
EventBuilder.TextInput.selectionChange(selectionRange),
37+
);
3438

3539
// 3. Press backspace with selected text
3640
const emptyText = '';

src/user-event/paste.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,23 @@ export async function paste(
3131
// 2. Select all
3232
const textToClear = getTextInputValue(element);
3333
const rangeToClear = { start: 0, end: textToClear.length };
34-
await dispatchEvent(element, 'selectionChange', EventBuilder.TextInput.selectionChange(rangeToClear));
34+
await dispatchEvent(
35+
element,
36+
'selectionChange',
37+
EventBuilder.TextInput.selectionChange(rangeToClear),
38+
);
3539

3640
// 3. Paste the text
3741
nativeState.valueForElement.set(element, text);
3842
await dispatchEvent(element, 'change', EventBuilder.TextInput.change(text));
3943
await dispatchEvent(element, 'changeText', text);
4044

4145
const rangeAfter = { start: text.length, end: text.length };
42-
await dispatchEvent(element, 'selectionChange', EventBuilder.TextInput.selectionChange(rangeAfter));
46+
await dispatchEvent(
47+
element,
48+
'selectionChange',
49+
EventBuilder.TextInput.selectionChange(rangeAfter),
50+
);
4351

4452
// According to the docs only multiline TextInput emits contentSizeChange event
4553
// @see: https://reactnative.dev/docs/textinput#oncontentsizechange

src/user-event/scroll/scroll-to.ts

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,20 @@ async function emitDragScrollEvents(
9999
// See: https://github.com/callstack/react-native-testing-library/wiki/ScrollView-Events
100100
for (let i = 1; i < scrollSteps.length - 1; i += 1) {
101101
await wait(config);
102-
await dispatchEvent(element, 'scroll', EventBuilder.ScrollView.scroll(scrollSteps[i], scrollOptions));
102+
await dispatchEvent(
103+
element,
104+
'scroll',
105+
EventBuilder.ScrollView.scroll(scrollSteps[i], scrollOptions),
106+
);
103107
}
104108

105109
await wait(config);
106110
const lastStep = scrollSteps.at(-1);
107-
await dispatchEvent(element, 'scrollEndDrag', EventBuilder.ScrollView.scroll(lastStep, scrollOptions));
111+
await dispatchEvent(
112+
element,
113+
'scrollEndDrag',
114+
EventBuilder.ScrollView.scroll(lastStep, scrollOptions),
115+
);
108116
}
109117

110118
async function emitMomentumScrollEvents(
@@ -129,7 +137,11 @@ async function emitMomentumScrollEvents(
129137
// See: https://github.com/callstack/react-native-testing-library/wiki/ScrollView-Events
130138
for (let i = 1; i < scrollSteps.length; i += 1) {
131139
await wait(config);
132-
await dispatchEvent(element, 'scroll', EventBuilder.ScrollView.scroll(scrollSteps[i], scrollOptions));
140+
await dispatchEvent(
141+
element,
142+
'scroll',
143+
EventBuilder.ScrollView.scroll(scrollSteps[i], scrollOptions),
144+
);
133145
}
134146

135147
await wait(config);

src/user-event/type/type.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,11 @@ export async function emitTypingEvents(
106106
start: text.length,
107107
end: text.length,
108108
};
109-
await dispatchEvent(element, 'selectionChange', EventBuilder.TextInput.selectionChange(selectionRange));
109+
await dispatchEvent(
110+
element,
111+
'selectionChange',
112+
EventBuilder.TextInput.selectionChange(selectionRange),
113+
);
110114

111115
// According to the docs only multiline TextInput emits contentSizeChange event
112116
// @see: https://reactnative.dev/docs/textinput#oncontentsizechange

0 commit comments

Comments
 (0)