Skip to content

Commit 2c649a5

Browse files
committed
fix lint
1 parent 00c2769 commit 2c649a5

File tree

5 files changed

+77
-28
lines changed

5 files changed

+77
-28
lines changed

src/__tests__/render-string-validation.test.tsx

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import * as React from 'react';
22
import { Pressable, Text, View } from 'react-native';
33

44
import { fireEvent, render, screen } from '..';
5+
import { excludeConsoleMessage } from '../test-utils/console';
56

67
// eslint-disable-next-line no-console
78
const originalConsoleError = console.error;
@@ -12,13 +13,8 @@ const PROFILER_ERROR = 'The above error occurred in the <Profiler> component';
1213

1314
beforeEach(() => {
1415
// eslint-disable-next-line no-console
15-
console.error = (errorMessage: string) => {
16-
if (!errorMessage.includes(PROFILER_ERROR)) {
17-
originalConsoleError(errorMessage);
18-
}
19-
};
16+
console.error = excludeConsoleMessage(console.error, PROFILER_ERROR);
2017
});
21-
2218
afterEach(() => {
2319
// eslint-disable-next-line no-console
2420
console.error = originalConsoleError;

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

Lines changed: 32 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,19 @@ import * as React from 'react';
22
import { Text, View } from 'react-native';
33

44
import { act, renderAsync, screen } from '..';
5+
import { excludeConsoleMessage } from '../test-utils/console';
56

67
jest.useFakeTimers();
78

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

11+
// eslint-disable-next-line no-console
12+
const originalConsoleError = console.error;
13+
afterEach(() => {
14+
// eslint-disable-next-line no-console
15+
console.error = originalConsoleError;
16+
});
17+
1018
function Suspending({ promise, testID }: { promise: Promise<unknown>; testID: string }) {
1119
React.use(promise);
1220
return <View testID={testID} />;
@@ -79,8 +87,14 @@ class ErrorBoundary extends React.Component<
7987
}
8088

8189
testGateReact19('handles promise rejection with error boundary', async () => {
90+
const ERROR_MESSAGE = 'Promise Rejected In Test';
91+
// eslint-disable-next-line no-console
92+
console.error = excludeConsoleMessage(console.error, ERROR_MESSAGE);
93+
8294
let rejectPromise: (error: Error) => void;
83-
const promise = new Promise<unknown>((_, reject) => { rejectPromise = reject; });
95+
const promise = new Promise<unknown>((_resolve, reject) => {
96+
rejectPromise = reject;
97+
});
8498

8599
await renderAsync(
86100
<ErrorBoundary fallback={<Text>Error occurred</Text>}>
@@ -94,7 +108,7 @@ testGateReact19('handles promise rejection with error boundary', async () => {
94108
expect(screen.queryByTestId('content')).not.toBeOnTheScreen();
95109

96110
// eslint-disable-next-line require-await
97-
await act(async () => rejectPromise(new Error('Test error')));
111+
await act(async () => rejectPromise(new Error(ERROR_MESSAGE)));
98112

99113
expect(screen.getByText('Error occurred')).toBeOnTheScreen();
100114
expect(screen.queryByText('Loading...')).not.toBeOnTheScreen();
@@ -104,17 +118,21 @@ testGateReact19('handles promise rejection with error boundary', async () => {
104118
testGateReact19('handles multiple suspending components', async () => {
105119
let resolvePromise1: (value: unknown) => void;
106120
let resolvePromise2: (value: unknown) => void;
107-
108-
const promise1 = new Promise((resolve) => { resolvePromise1 = resolve; });
109-
const promise2 = new Promise((resolve) => { resolvePromise2 = resolve; });
121+
122+
const promise1 = new Promise((resolve) => {
123+
resolvePromise1 = resolve;
124+
});
125+
const promise2 = new Promise((resolve) => {
126+
resolvePromise2 = resolve;
127+
});
110128

111129
await renderAsync(
112130
<View>
113131
<React.Suspense fallback={<Text>Loading...</Text>}>
114132
<Suspending promise={promise1} testID="content-1" />
115133
<Suspending promise={promise2} testID="content-2" />
116134
</React.Suspense>
117-
</View>
135+
</View>,
118136
);
119137

120138
expect(screen.getByText('Loading...')).toBeOnTheScreen();
@@ -134,13 +152,16 @@ testGateReact19('handles multiple suspending components', async () => {
134152
expect(screen.queryByText('Loading...')).not.toBeOnTheScreen();
135153
});
136154

137-
138155
testGateReact19('handles multiple suspense boundaries independently', async () => {
139156
let resolvePromise1: (value: unknown) => void;
140157
let resolvePromise2: (value: unknown) => void;
141-
142-
const promise1 = new Promise((resolve) => { resolvePromise1 = resolve; });
143-
const promise2 = new Promise((resolve) => { resolvePromise2 = resolve; });
158+
159+
const promise1 = new Promise((resolve) => {
160+
resolvePromise1 = resolve;
161+
});
162+
const promise2 = new Promise((resolve) => {
163+
resolvePromise2 = resolve;
164+
});
144165

145166
await renderAsync(
146167
<View>
@@ -150,7 +171,7 @@ testGateReact19('handles multiple suspense boundaries independently', async () =
150171
<React.Suspense fallback={<Text>Second Loading...</Text>}>
151172
<Suspending promise={promise2} testID="content-2" />
152173
</React.Suspense>
153-
</View>
174+
</View>,
154175
);
155176

156177
expect(screen.getByText('First Loading...')).toBeOnTheScreen();

src/__tests__/suspense.test.tsx

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,17 @@ import * as React from 'react';
22
import { Text, View } from 'react-native';
33

44
import { act, renderAsync, screen } from '..';
5+
import { excludeConsoleMessage } from '../test-utils/console';
56

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

9+
// eslint-disable-next-line no-console
10+
const originalConsoleError = console.error;
11+
afterEach(() => {
12+
// eslint-disable-next-line no-console
13+
console.error = originalConsoleError;
14+
});
15+
816
function Suspending({ promise, testID }: { promise: Promise<unknown>; testID: string }) {
917
React.use(promise);
1018
return <View testID={testID} />;
@@ -76,8 +84,12 @@ class ErrorBoundary extends React.Component<
7684
}
7785

7886
testGateReact19('handles promise rejection with error boundary', async () => {
87+
const ERROR_MESSAGE = 'Promise Rejected In Test';
88+
// eslint-disable-next-line no-console
89+
console.error = excludeConsoleMessage(console.error, ERROR_MESSAGE);
90+
7991
let rejectPromise: (error: Error) => void;
80-
const promise = new Promise<unknown>((_, reject) => {
92+
const promise = new Promise<unknown>((_resolve, reject) => {
8193
rejectPromise = reject;
8294
});
8395

@@ -93,7 +105,7 @@ testGateReact19('handles promise rejection with error boundary', async () => {
93105
expect(screen.queryByTestId('content')).not.toBeOnTheScreen();
94106

95107
// eslint-disable-next-line require-await
96-
await act(async () => rejectPromise(new Error('Test error')));
108+
await act(async () => rejectPromise(new Error(ERROR_MESSAGE)));
97109

98110
expect(screen.getByText('Error occurred')).toBeOnTheScreen();
99111
expect(screen.queryByText('Loading...')).not.toBeOnTheScreen();
@@ -103,17 +115,21 @@ testGateReact19('handles promise rejection with error boundary', async () => {
103115
testGateReact19('handles multiple suspending components', async () => {
104116
let resolvePromise1: (value: unknown) => void;
105117
let resolvePromise2: (value: unknown) => void;
106-
107-
const promise1 = new Promise((resolve) => { resolvePromise1 = resolve; });
108-
const promise2 = new Promise((resolve) => { resolvePromise2 = resolve; });
118+
119+
const promise1 = new Promise((resolve) => {
120+
resolvePromise1 = resolve;
121+
});
122+
const promise2 = new Promise((resolve) => {
123+
resolvePromise2 = resolve;
124+
});
109125

110126
await renderAsync(
111127
<View>
112128
<React.Suspense fallback={<Text>Loading...</Text>}>
113129
<Suspending promise={promise1} testID="content-1" />
114130
<Suspending promise={promise2} testID="content-2" />
115131
</React.Suspense>
116-
</View>
132+
</View>,
117133
);
118134

119135
expect(screen.getByText('Loading...')).toBeOnTheScreen();
@@ -133,13 +149,16 @@ testGateReact19('handles multiple suspending components', async () => {
133149
expect(screen.queryByText('Loading...')).not.toBeOnTheScreen();
134150
});
135151

136-
137152
testGateReact19('handles multiple suspense boundaries independently', async () => {
138153
let resolvePromise1: (value: unknown) => void;
139154
let resolvePromise2: (value: unknown) => void;
140-
141-
const promise1 = new Promise((resolve) => { resolvePromise1 = resolve; });
142-
const promise2 = new Promise((resolve) => { resolvePromise2 = resolve; });
155+
156+
const promise1 = new Promise((resolve) => {
157+
resolvePromise1 = resolve;
158+
});
159+
const promise2 = new Promise((resolve) => {
160+
resolvePromise2 = resolve;
161+
});
143162

144163
await renderAsync(
145164
<View>
@@ -149,7 +168,7 @@ testGateReact19('handles multiple suspense boundaries independently', async () =
149168
<React.Suspense fallback={<Text>Second Loading...</Text>}>
150169
<Suspending promise={promise2} testID="content-2" />
151170
</React.Suspense>
152-
</View>
171+
</View>,
153172
);
154173

155174
expect(screen.getByText('First Loading...')).toBeOnTheScreen();

src/test-utils/console.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { format } from 'util';
2+
3+
export function excludeConsoleMessage(logFn: (...args: unknown[]) => void, excludeMessage: string) {
4+
return (...args: unknown[]) => {
5+
const message = format(...args);
6+
if (message.includes(excludeMessage)) {
7+
return;
8+
}
9+
10+
logFn(...args);
11+
};
12+
}

src/test-utils/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
export * from './console';
12
export * from './events';

0 commit comments

Comments
 (0)