(levels: number, itemsPerLevel: number)
| 26 | } |
| 27 | |
| 28 | function createMixedBuffer(levels: number, itemsPerLevel: number): SSRBuffer { |
| 29 | const buffer = createBuffer() |
| 30 | |
| 31 | function addItems(buf: ReturnType<typeof createBuffer>, level: number) { |
| 32 | for (let i = 1; i <= levels * itemsPerLevel; i++) { |
| 33 | if (i % 3 === 0) { |
| 34 | // @ts-expect-error testing... |
| 35 | buf.push(Promise.resolve(`async${level}.${i}`)) |
| 36 | } else { |
| 37 | buf.push(`sync${level}.${i}`) |
| 38 | } |
| 39 | } |
| 40 | if (level < levels) { |
| 41 | const subBuffer = createBuffer() |
| 42 | addItems(subBuffer, level + 1) |
| 43 | buf.push(subBuffer.getBuffer()) |
| 44 | } |
| 45 | } |
| 46 | |
| 47 | addItems(buffer, 1) |
| 48 | return buffer.getBuffer() |
| 49 | } |
| 50 | |
| 51 | describe('unrollBuffer', () => { |
| 52 | let syncBuffer = createBuffer().getBuffer() |
no test coverage detected