Skip to content

Commit 661c5c3

Browse files
committed
test(rsc-mf): expose proxy map collision count diagnostics
1 parent 12dd1e0 commit 661c5c3

2 files changed

Lines changed: 26 additions & 1 deletion

File tree

tests/integration/rsc-mf/host/src/server-component-root/App.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,10 @@ const App = () => {
106106
);
107107
const remoteActionIdMapEntryCount =
108108
remoteActionIdToHostProxyActionEntries.length;
109+
const remoteActionIdMapCollisionCount = Math.max(
110+
remoteActionIdMapEntryCount - remoteActionIdMapKeyCount,
111+
0,
112+
);
109113
const mappedHostProxyActionIds = Array.from(
110114
new Set(Object.values(remoteActionIdToHostProxyActionId)),
111115
).sort();
@@ -152,6 +156,9 @@ const App = () => {
152156
{remoteActionIdMapEntryCount}
153157
</p>
154158
<p className="host-proxy-map-key-count">{remoteActionIdMapKeyCount}</p>
159+
<p className="host-proxy-map-collision-count">
160+
{remoteActionIdMapCollisionCount}
161+
</p>
155162
<p className="host-mapped-proxy-action-ids">
156163
{mappedHostProxyActionIds.join(',')}
157164
</p>

tests/integration/rsc-mf/tests/index.test.ts

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ async function renderRemoteRscIntoHost({ hostPort, page }: TestContext) {
6767
expect(html).toContain('host-proxy-action-id-count');
6868
expect(html).toContain('host-proxy-map-entry-count');
6969
expect(html).toContain('host-proxy-map-key-count');
70+
expect(html).toContain('host-proxy-map-collision-count');
7071
expect(html).toContain('host-mapped-proxy-action-ids');
7172
expect(html).toContain('host-proxy-map-covers-all');
7273
expect(html).toContain('host-proxy-map-equals-all');
@@ -135,6 +136,14 @@ async function renderRemoteRscIntoHost({ hostPort, page }: TestContext) {
135136
expect(Number(hostProxyMapKeyCount)).toBeLessThanOrEqual(
136137
Number(hostProxyMapEntryCount),
137138
);
139+
const hostProxyMapCollisionCount = await page.$eval(
140+
'.host-proxy-map-collision-count',
141+
el => el.textContent?.trim(),
142+
);
143+
expect(Number(hostProxyMapCollisionCount)).toBeGreaterThanOrEqual(0);
144+
expect(Number(hostProxyMapCollisionCount)).toBe(
145+
Number(hostProxyMapEntryCount) - Number(hostProxyMapKeyCount),
146+
);
138147
const hostMappedProxyActionIds = await page.$eval(
139148
'.host-mapped-proxy-action-ids',
140149
el => el.textContent?.trim(),
@@ -460,10 +469,19 @@ function runTests({ mode }: TestConfig) {
460469
el => el.textContent || '0',
461470
),
462471
);
472+
const hostProxyMapCollisionCount = Number(
473+
await page.$eval(
474+
'.host-proxy-map-collision-count',
475+
el => el.textContent || '0',
476+
),
477+
);
463478
expect(hostProxyMapKeyCount).toBe(mappedProxyActionIdSet.size);
464479
expect(new Set(actionRequestIds).size).toBeLessThanOrEqual(
465480
hostProxyMapKeyCount,
466481
);
482+
expect(hostProxyMapCollisionCount).toBe(
483+
hostProxyMapEntryCount - hostProxyMapKeyCount,
484+
);
467485
expect(actionRequestIds.every(id => mappedProxyActionIdSet.has(id))).toBe(
468486
true,
469487
);
@@ -495,7 +513,7 @@ function runTests({ mode }: TestConfig) {
495513
);
496514
expect(usesDirectProxyIds || usesBundledProxyIds).toBe(true);
497515
if (!usesDirectProxyIds || !usesBundledProxyIds) {
498-
expect(hostProxyMapKeyCount).toBeLessThan(hostProxyMapEntryCount);
516+
expect(hostProxyMapCollisionCount).toBeGreaterThan(0);
499517
}
500518
expect(
501519
actionRequestIds.every(

0 commit comments

Comments
 (0)