Skip to content

Commit 5012d40

Browse files
authored
fix(screencast): correct overlay/chapter channels (#3303)
1 parent 9dd8fee commit 5012d40

2 files changed

Lines changed: 46 additions & 5 deletions

File tree

src/Playwright.Tests/ScreencastTests.cs

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,4 +281,45 @@ await page.Screencast.StartAsync(new()
281281
}
282282
await context.CloseAsync();
283283
}
284+
285+
[PlaywrightTest()]
286+
public async Task ShowOverlayAsync_ReturnsDisposableThatCompletesOnDispose()
287+
{
288+
var context = await Browser.NewContextAsync();
289+
var page = await context.NewPageAsync();
290+
291+
await using (var overlay = await page.Screencast.ShowOverlayAsync("<div>overlay</div>"))
292+
{
293+
Assert.IsNotNull(overlay);
294+
}
295+
296+
await context.CloseAsync();
297+
}
298+
299+
[PlaywrightTest()]
300+
public async Task ShowChapterAsync_CompletesWithTitleAndOptions()
301+
{
302+
var context = await Browser.NewContextAsync();
303+
var page = await context.NewPageAsync();
304+
305+
await page.Screencast.ShowChapterAsync("Chapter title", new()
306+
{
307+
Description = "Chapter description",
308+
Duration = 500f,
309+
});
310+
311+
await context.CloseAsync();
312+
}
313+
314+
[PlaywrightTest()]
315+
public async Task ShowOverlaysAsync_AndHideOverlaysAsync_Complete()
316+
{
317+
var context = await Browser.NewContextAsync();
318+
var page = await context.NewPageAsync();
319+
320+
await page.Screencast.HideOverlaysAsync();
321+
await page.Screencast.ShowOverlaysAsync();
322+
323+
await context.CloseAsync();
324+
}
284325
}

src/Playwright/Core/Screencast.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,17 +96,17 @@ await _page.WrapApiCallAsync(async () =>
9696

9797
public async Task<IAsyncDisposable> ShowOverlayAsync(string html, ScreencastShowOverlayOptions? options = default)
9898
{
99-
var result = await _page.SendMessageToServerAsync("overlayShow", new Dictionary<string, object?>
99+
var result = await _page.SendMessageToServerAsync("screencastShowOverlay", new Dictionary<string, object?>
100100
{
101101
["html"] = html,
102102
["duration"] = options?.Duration,
103103
}).ConfigureAwait(false);
104104
var id = result!.Value.GetProperty("id").GetString();
105-
return new DisposableStub(() => _page.SendMessageToServerAsync("overlayRemove", new Dictionary<string, object?> { ["id"] = id }));
105+
return new DisposableStub(() => _page.SendMessageToServerAsync("screencastRemoveOverlay", new Dictionary<string, object?> { ["id"] = id }));
106106
}
107107

108108
public Task ShowChapterAsync(string title, ScreencastShowChapterOptions? options = default)
109-
=> _page.SendMessageToServerAsync("overlayChapter", new Dictionary<string, object?>
109+
=> _page.SendMessageToServerAsync("screencastChapter", new Dictionary<string, object?>
110110
{
111111
["title"] = title,
112112
["description"] = options?.Description,
@@ -128,8 +128,8 @@ public Task HideActionsAsync()
128128
=> _page.SendMessageToServerAsync("screencastHideActions");
129129

130130
public Task ShowOverlaysAsync()
131-
=> _page.SendMessageToServerAsync("overlaySetVisible", new Dictionary<string, object?> { ["visible"] = true });
131+
=> _page.SendMessageToServerAsync("screencastSetOverlayVisible", new Dictionary<string, object?> { ["visible"] = true });
132132

133133
public Task HideOverlaysAsync()
134-
=> _page.SendMessageToServerAsync("overlaySetVisible", new Dictionary<string, object?> { ["visible"] = false });
134+
=> _page.SendMessageToServerAsync("screencastSetOverlayVisible", new Dictionary<string, object?> { ["visible"] = false });
135135
}

0 commit comments

Comments
 (0)