Skip to content

Commit 325c4ca

Browse files
Merge pull request #355 from preactjs/test-flakyness
Reduce flakyness when clicking record
2 parents f58532d + ca06e0c commit 325c4ca

File tree

4 files changed

+20
-9
lines changed

4 files changed

+20
-9
lines changed

src/view/components/profiler/components/RenderReasons.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,12 @@ export function RenderReasons() {
8080
: "Capturing disabled. "}
8181
<MessageBtn
8282
onClick={() => {
83-
store.profiler.setRenderReasonCapture(!captureReason);
83+
const value = !captureReason;
84+
store.profiler.setRenderReasonCapture(value);
8485
store.profiler.isRecording.$ = true;
86+
store.emit("start-profiling", {
87+
captureRenderReasons: value,
88+
});
8589
}}
8690
testId="toggle-render-reason"
8791
>

src/view/components/profiler/components/TimelineBar/TimelineBar.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ export function TimelineBar() {
4747

4848
const onReset = useCallback(() => {
4949
resetProfiler(store.profiler);
50+
store.emit("stop-profiling", null);
5051
}, [store]);
5152

5253
return (

src/view/components/stats/StatsPanel.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ export function StatsPanel() {
6161
const onReset = useCallback(() => {
6262
store.stats.data.$ = null;
6363
store.stats.isRecording.$ = false;
64+
store.emit("stop-profiling", null);
6465
}, [store]);
6566

6667
return (

test-e2e/test-utils.ts

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -254,14 +254,19 @@ export async function clickRecordButton(page: Page) {
254254
const selector = '[data-testid="record-btn"]';
255255
await waitForSelector(page, selector);
256256
const start = /Start/.test(await getAttribute(page, selector, "title"));
257-
await clickSelector(page, selector);
258-
259-
await waitForAttribute(
260-
page,
261-
selector,
262-
"title",
263-
start ? /Stop Recording/ : /Start Recording/,
264-
);
257+
await clickSelector(page, selector, {
258+
async retryUntil() {
259+
await page.evaluate(
260+
(s, start) => {
261+
return (start ? /Stop Recording/ : /Start Recording/).test(
262+
document.querySelector(s).title,
263+
);
264+
},
265+
selector,
266+
start,
267+
);
268+
},
269+
});
265270
}
266271

267272
// TODO: This might clash with windowing

0 commit comments

Comments
 (0)