Skip to content

Commit a7ee51b

Browse files
committed
Use inline snapshots
1 parent d4bc3b0 commit a7ee51b

File tree

2 files changed

+176
-187
lines changed

2 files changed

+176
-187
lines changed

packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js

Lines changed: 176 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,10 @@ const path = require('path');
1414
import {patchSetImmediate} from '../../../../scripts/jest/patchSetImmediate';
1515

1616
let React;
17-
// let ReactServer;
1817
let ReactServerDOMServer;
1918
let ReactServerDOMClient;
2019
let Stream;
2120

22-
// We test pass-through without encoding strings but it should work without it too.
2321
const streamOptions = {
2422
objectMode: true,
2523
};
@@ -91,19 +89,17 @@ function getDebugInfo(obj) {
9189
return debugInfo;
9290
}
9391

94-
describe('ReactFlightAsyncDebugInfoNode', () => {
92+
describe('ReactFlightAsyncDebugInfo', () => {
9593
beforeEach(() => {
9694
jest.resetModules();
9795
jest.useRealTimers();
9896
patchSetImmediate();
9997
global.console = require('console');
10098

101-
// Simulate the condition resolution
10299
jest.mock('react', () => require('react/react.react-server'));
103100
jest.mock('react-server-dom-webpack/server', () =>
104101
require('react-server-dom-webpack/server.node'),
105102
);
106-
// ReactServer = require('react');
107103
ReactServerDOMServer = require('react-server-dom-webpack/server');
108104

109105
jest.resetModules();
@@ -116,7 +112,7 @@ describe('ReactFlightAsyncDebugInfoNode', () => {
116112
require('react-server-dom-webpack/client.node'),
117113
);
118114

119-
// React = require('react');
115+
React = require('react');
120116
ReactServerDOMClient = require('react-server-dom-webpack/client');
121117
Stream = require('stream');
122118
});
@@ -127,7 +123,6 @@ describe('ReactFlightAsyncDebugInfoNode', () => {
127123
});
128124
}
129125

130-
// @gate __DEV__ && enableComponentPerformanceTrack
131126
it('can track async information when awaited', async () => {
132127
async function getData() {
133128
await delay(1);
@@ -152,12 +147,137 @@ describe('ReactFlightAsyncDebugInfoNode', () => {
152147
stream.pipe(readable);
153148

154149
expect(await result).toBe('hi');
155-
const debugInfo = getDebugInfo(result);
156-
expect(debugInfo.length).toBe(5);
157-
expect(getDebugInfo(result)).toMatchSnapshot();
150+
if (__DEV__ && gate(flags => flags.enableComponentPerformanceTrack)) {
151+
expect(getDebugInfo(result)).toMatchInlineSnapshot(`
152+
[
153+
{
154+
"time": 0,
155+
},
156+
{
157+
"env": "Server",
158+
"key": null,
159+
"name": "Component",
160+
"owner": null,
161+
"props": {},
162+
"stack": [
163+
[
164+
"Object.<anonymous>",
165+
"/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
166+
139,
167+
109,
168+
126,
169+
50,
170+
],
171+
],
172+
},
173+
{
174+
"awaited": {
175+
"end": 0,
176+
"stack": [
177+
[
178+
"delay",
179+
"/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
180+
121,
181+
12,
182+
120,
183+
3,
184+
],
185+
[
186+
"getData",
187+
"/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
188+
128,
189+
13,
190+
127,
191+
5,
192+
],
193+
[
194+
"Component",
195+
"/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
196+
135,
197+
26,
198+
134,
199+
5,
200+
],
201+
],
202+
"start": 0,
203+
},
204+
"stack": [
205+
[
206+
"getData",
207+
"/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
208+
128,
209+
13,
210+
127,
211+
5,
212+
],
213+
[
214+
"Component",
215+
"/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
216+
135,
217+
26,
218+
134,
219+
5,
220+
],
221+
],
222+
},
223+
{
224+
"awaited": {
225+
"end": 0,
226+
"stack": [
227+
[
228+
"delay",
229+
"/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
230+
121,
231+
12,
232+
120,
233+
3,
234+
],
235+
[
236+
"getData",
237+
"/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
238+
129,
239+
21,
240+
127,
241+
5,
242+
],
243+
[
244+
"Component",
245+
"/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
246+
135,
247+
20,
248+
134,
249+
5,
250+
],
251+
],
252+
"start": 0,
253+
},
254+
"stack": [
255+
[
256+
"getData",
257+
"/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
258+
130,
259+
21,
260+
127,
261+
5,
262+
],
263+
[
264+
"Component",
265+
"/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
266+
135,
267+
20,
268+
134,
269+
5,
270+
],
271+
],
272+
},
273+
{
274+
"time": 0,
275+
},
276+
]
277+
`);
278+
}
158279
});
159280

160-
// @gate __DEV__ && enableComponentPerformanceTrack
161281
it('can track the start of I/O when no native promise is used', async () => {
162282
function Component() {
163283
const callbacks = [];
@@ -182,8 +302,50 @@ describe('ReactFlightAsyncDebugInfoNode', () => {
182302
stream.pipe(readable);
183303

184304
expect(await result).toBe('hi');
185-
const debugInfo = getDebugInfo(result);
186-
expect(debugInfo.length).toBe(4);
187-
expect(debugInfo).toMatchSnapshot();
305+
if (__DEV__ && gate(flags => flags.enableComponentPerformanceTrack)) {
306+
expect(getDebugInfo(result)).toMatchInlineSnapshot(`
307+
[
308+
{
309+
"time": 0,
310+
},
311+
{
312+
"env": "Server",
313+
"key": null,
314+
"name": "Component",
315+
"owner": null,
316+
"props": {},
317+
"stack": [
318+
[
319+
"Object.<anonymous>",
320+
"/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
321+
171,
322+
109,
323+
158,
324+
152,
325+
],
326+
],
327+
},
328+
{
329+
"awaited": {
330+
"end": 0,
331+
"stack": [
332+
[
333+
"Component",
334+
"/packages/react-server/src/__tests__/ReactFlightAsyncDebugInfo-test.js",
335+
161,
336+
7,
337+
159,
338+
5,
339+
],
340+
],
341+
"start": 0,
342+
},
343+
},
344+
{
345+
"time": 0,
346+
},
347+
]
348+
`);
349+
}
188350
});
189351
});

0 commit comments

Comments
 (0)