(order)
| 85 | ); |
| 86 | |
| 87 | async function renderWithResolveOrder(order) { |
| 88 | const loaders = {}; |
| 89 | |
| 90 | function Field({ name }) { |
| 91 | const id = useId(); |
| 92 | return <span id={id}>{name}</span>; |
| 93 | } |
| 94 | |
| 95 | const createLazy = name => |
| 96 | lazy( |
| 97 | () => |
| 98 | new Promise(resolve => { |
| 99 | loaders[name] = () => |
| 100 | resolve({ default: () => <Field name={name} /> }); |
| 101 | }) |
| 102 | ); |
| 103 | |
| 104 | const A = createLazy('A'); |
| 105 | const B = createLazy('B'); |
| 106 | const rendered = renderToStringAsync( |
| 107 | <div> |
| 108 | <Suspense fallback={null}> |
| 109 | <A /> |
| 110 | </Suspense> |
| 111 | <Suspense fallback={null}> |
| 112 | <B /> |
| 113 | </Suspense> |
| 114 | </div> |
| 115 | ); |
| 116 | |
| 117 | await Promise.resolve(); |
| 118 | order.some(name => loaders[name]()); |
| 119 | |
| 120 | return getIds(await rendered); |
| 121 | } |
| 122 | |
| 123 | const ordered = await renderWithResolveOrder(['A', 'B']); |
| 124 | const reversed = await renderWithResolveOrder(['B', 'A']); |
no test coverage detected
searching dependent graphs…