Skip to content

Commit

Permalink
Refactor WaitForEvent (microsoft#872)
Browse files Browse the repository at this point in the history
* Refactor WaitForEvent

* Static props
  • Loading branch information
kblok committed Sep 23, 2020
1 parent d2cdaa0 commit 59857fe
Show file tree
Hide file tree
Showing 50 changed files with 257 additions and 257 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ public async Task OpeningAPopup()
await Page.GoToAsync(TestConstants.EmptyPage);

await TaskUtils.WhenAll(
Page.WaitForEvent<PopupEventArgs>(PageEvent.Popup),
Page.WaitForEvent(PageEvent.Popup),
Page.EvaluateAsync("() => window._popup = window.open(window.location.href)"));
}
}
Expand Down
14 changes: 7 additions & 7 deletions src/PlaywrightSharp.Tests/Autowaiting/AutoWaitingTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public async Task ShouldAwaitNavigationWhenClickingAnchor()
await Page.SetContentAsync($"<a href=\"{TestConstants.EmptyPage}\">empty.html</a>");
await TaskUtils.WhenAll(
Page.ClickAsync("a").ContinueWith(t => messages.Add("click")),
Page.WaitForEvent<FrameEventArgs>(PageEvent.FrameNavigated).ContinueWith(t => messages.Add("navigated")));
Page.WaitForEvent(PageEvent.FrameNavigated).ContinueWith(t => messages.Add("navigated")));

Assert.Equal("route|navigated|click", string.Join("|", messages));
}
Expand All @@ -59,7 +59,7 @@ public async Task ShouldAwaitCrossProcessNavigationWhenClickingAnchor()
await Page.SetContentAsync($"<a href=\"{TestConstants.CrossProcessHttpPrefix}/empty.html\">empty.html</a>");
await TaskUtils.WhenAll(
Page.ClickAsync("a").ContinueWith(t => messages.Add("click")),
Page.WaitForEvent<FrameEventArgs>(PageEvent.FrameNavigated).ContinueWith(t => messages.Add("navigated")));
Page.WaitForEvent(PageEvent.FrameNavigated).ContinueWith(t => messages.Add("navigated")));

Assert.Equal("route|navigated|click", string.Join("|", messages));
}
Expand All @@ -86,7 +86,7 @@ await Page.SetContentAsync($@"

await TaskUtils.WhenAll(
Page.ClickAsync("input[type=submit]").ContinueWith(t => messages.Add("click")),
Page.WaitForEvent<FrameEventArgs>(PageEvent.FrameNavigated).ContinueWith(t => messages.Add("navigated")));
Page.WaitForEvent(PageEvent.FrameNavigated).ContinueWith(t => messages.Add("navigated")));

Assert.Equal("route|navigated|click", string.Join("|", messages));
}
Expand All @@ -113,7 +113,7 @@ await Page.SetContentAsync($@"

await TaskUtils.WhenAll(
Page.ClickAsync("input[type=submit]").ContinueWith(t => messages.Add("click")),
Page.WaitForEvent<FrameEventArgs>(PageEvent.FrameNavigated).ContinueWith(t => messages.Add("navigated")));
Page.WaitForEvent(PageEvent.FrameNavigated).ContinueWith(t => messages.Add("navigated")));

Assert.Equal("route|navigated|click", string.Join("|", messages));
}
Expand All @@ -134,7 +134,7 @@ public async Task ShouldAwaitNavigationWhenAssigningLocation()

await TaskUtils.WhenAll(
Page.EvaluateAsync($"window.location.href = '{TestConstants.EmptyPage}'").ContinueWith(t => messages.Add("evaluate")),
Page.WaitForEvent<FrameEventArgs>(PageEvent.FrameNavigated).ContinueWith(t => messages.Add("navigated")));
Page.WaitForEvent(PageEvent.FrameNavigated).ContinueWith(t => messages.Add("navigated")));

Assert.Equal("route|navigated|evaluate", string.Join("|", messages));
}
Expand Down Expand Up @@ -182,7 +182,7 @@ public async Task ShouldAwaitNavigationWhenEvaluatingReload()

await TaskUtils.WhenAll(
Page.EvaluateAsync($"window.location.reload();").ContinueWith(t => messages.Add("evaluate")),
Page.WaitForEvent<FrameEventArgs>(PageEvent.FrameNavigated).ContinueWith(t => messages.Add("navigated")));
Page.WaitForEvent(PageEvent.FrameNavigated).ContinueWith(t => messages.Add("navigated")));

Assert.Equal("route|navigated|evaluate", string.Join("|", messages));
}
Expand All @@ -209,7 +209,7 @@ await Page.SetContentAsync($@"

await TaskUtils.WhenAll(
Page.ClickAsync("a").ContinueWith(t => messages.Add("click")),
Page.WaitForEvent<FrameEventArgs>(PageEvent.FrameNavigated).ContinueWith(t => messages.Add("navigated")));
Page.WaitForEvent(PageEvent.FrameNavigated).ContinueWith(t => messages.Add("navigated")));

Assert.Equal(TestConstants.EmptyPage, frame.Url);
Assert.Equal("route|navigated|click", string.Join("|", messages));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -202,9 +202,9 @@ public async Task CloseShouldWorkForEmptyContext()
public async Task CloseShouldAbortWaitForEvent()
{
var context = await Browser.NewContextAsync();
var waitTask = context.WaitForEvent<PageEventArgs>(ContextEvent.Page);
var waitTask = context.WaitForEvent(ContextEvent.Page);
await context.CloseAsync();
var exception = await Assert.ThrowsAsync<TargetClosedException>(() => waitTask);
var exception = await Assert.ThrowsAsync<PlaywrightSharpException>(() => waitTask);
Assert.Equal("Context closed", exception.Message);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public async Task ShouldHaveUrl()
var page = await context.NewPageAsync();

var (otherPage, _) = await TaskUtils.WhenAll(
context.WaitForEvent<PageEventArgs>(ContextEvent.Page),
context.WaitForEvent(ContextEvent.Page),
page.EvaluateAsync("url => window.open(url)", TestConstants.EmptyPage));

Assert.Equal(TestConstants.EmptyPage, otherPage.Page.Url);
Expand All @@ -46,7 +46,7 @@ public async Task ShouldHaveUrlAfterDomcontentloaded()
var page = await context.NewPageAsync();

var (otherPage, _) = await TaskUtils.WhenAll(
context.WaitForEvent<PageEventArgs>(ContextEvent.Page),
context.WaitForEvent(ContextEvent.Page),
page.EvaluateAsync("url => window.open(url)", TestConstants.EmptyPage));

await otherPage.Page.WaitForLoadStateAsync(LifecycleEvent.DOMContentLoaded);
Expand All @@ -63,7 +63,7 @@ public async Task ShouldHaveAboutBlankUrlWithDomcontentloaded()
var page = await context.NewPageAsync();

var (otherPage, _) = await TaskUtils.WhenAll(
context.WaitForEvent<PageEventArgs>(ContextEvent.Page),
context.WaitForEvent(ContextEvent.Page),
page.EvaluateAsync("url => window.open(url)", "about:blank"));

await otherPage.Page.WaitForLoadStateAsync(LifecycleEvent.DOMContentLoaded);
Expand All @@ -80,7 +80,7 @@ public async Task ShouldHaveAboutBlankUrlForEmptyUrlWithDomcontentloaded()
var page = await context.NewPageAsync();

var (otherPage, _) = await TaskUtils.WhenAll(
context.WaitForEvent<PageEventArgs>(ContextEvent.Page),
context.WaitForEvent(ContextEvent.Page),
page.EvaluateAsync("() => window.open()"));

await otherPage.Page.WaitForLoadStateAsync(LifecycleEvent.DOMContentLoaded);
Expand All @@ -97,7 +97,7 @@ public async Task ShouldReportWhenANewPageIsCreatedAndClosed()
var page = await context.NewPageAsync();

var (otherPageEvent, _) = await TaskUtils.WhenAll(
context.WaitForEvent<PageEventArgs>(ContextEvent.Page),
context.WaitForEvent(ContextEvent.Page),
page.EvaluateAsync("url => window.open(url)", TestConstants.CrossProcessUrl + "/empty.html"));
var otherPage = otherPageEvent.Page;

Expand Down Expand Up @@ -128,12 +128,12 @@ public async Task ShouldReportWhenANewPageIsCreatedAndClosed()
public async Task ShouldReportInitializedPages()
{
await using var context = await Browser.NewContextAsync();
var pageTask = context.WaitForEvent<PageEventArgs>(ContextEvent.Page);
var pageTask = context.WaitForEvent(ContextEvent.Page);
_ = context.NewPageAsync();
var newPage = await pageTask;
Assert.Equal("about:blank", newPage.Page.Url);

var popupTask = context.WaitForEvent<PageEventArgs>(ContextEvent.Page);
var popupTask = context.WaitForEvent(ContextEvent.Page);
var evaluateTask = newPage.Page.EvaluateAsync("() => window.open('about:blank')");
var popup = await popupTask;
Assert.Equal("about:blank", popup.Page.Url);
Expand All @@ -156,7 +156,7 @@ public async Task ShouldNotCrashWhileRedirectingOfOriginalRequestWasMissed()
});

// Open a new page. Use window.open to connect to the page later.
var pageCreatedTask = context.WaitForEvent<PageEventArgs>(ContextEvent.Page);
var pageCreatedTask = context.WaitForEvent(ContextEvent.Page);
await TaskUtils.WhenAll(
pageCreatedTask,
page.EvaluateAsync("url => window.open(url)", TestConstants.ServerUrl + "/one-style.html"),
Expand All @@ -179,7 +179,7 @@ public async Task ShouldHaveAnOpener()
await page.GoToAsync(TestConstants.EmptyPage);

var (popupEvent, _) = await TaskUtils.WhenAll(
context.WaitForEvent<PageEventArgs>(ContextEvent.Page),
context.WaitForEvent(ContextEvent.Page),
page.GoToAsync(TestConstants.ServerUrl + "/popup/window-open.html")).WithTimeout();

var popup = popupEvent.Page;
Expand Down Expand Up @@ -227,7 +227,7 @@ public async Task ShouldWorkWithShiftClicking()
await page.GoToAsync(TestConstants.EmptyPage);
await page.SetContentAsync("<a href=\"/one-style.html\">yo</a>");

var popupEventTask = context.WaitForEvent<PageEventArgs>(ContextEvent.Page);
var popupEventTask = context.WaitForEvent(ContextEvent.Page);
await TaskUtils.WhenAll(
popupEventTask,
page.ClickAsync("a", modifiers: new[] { Modifier.Shift }));
Expand All @@ -248,7 +248,7 @@ public async Task ShouldWorkWithCtrlClicking()
await page.GoToAsync(TestConstants.EmptyPage);
await page.SetContentAsync("<a href=\"/one-style.html\">yo</a>");

var popupEventTask = context.WaitForEvent<PageEventArgs>(ContextEvent.Page);
var popupEventTask = context.WaitForEvent(ContextEvent.Page);
await TaskUtils.WhenAll(
popupEventTask,
page.ClickAsync("a", modifiers: new[] { TestConstants.IsMacOSX ? Modifier.Meta : Modifier.Control }));
Expand Down
8 changes: 4 additions & 4 deletions src/PlaywrightSharp.Tests/BrowserContext/GeolocationTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -186,15 +186,15 @@ await Context.SetGeolocationAsync(new Geolocation
}");

await TaskUtils.WhenAll(
Page.WaitForEvent<ConsoleEventArgs>(PageEvent.Console, e => e.Message.Text.Contains("lat=0 lng=10")),
Page.WaitForEvent(PageEvent.Console, e => e.Message.Text.Contains("lat=0 lng=10")),
Context.SetGeolocationAsync(new Geolocation { Latitude = 0, Longitude = 10 }));

await TaskUtils.WhenAll(
Page.WaitForEvent<ConsoleEventArgs>(PageEvent.Console, e => e.Message.Text.Contains("lat=20 lng=30")),
Page.WaitForEvent(PageEvent.Console, e => e.Message.Text.Contains("lat=20 lng=30")),
Context.SetGeolocationAsync(new Geolocation { Latitude = 20, Longitude = 30 }));

await TaskUtils.WhenAll(
Page.WaitForEvent<ConsoleEventArgs>(PageEvent.Console, e => e.Message.Text.Contains("lat=40 lng=50")),
Page.WaitForEvent(PageEvent.Console, e => e.Message.Text.Contains("lat=40 lng=50")),
Context.SetGeolocationAsync(new Geolocation { Latitude = 40, Longitude = 50 }));

string allMessages = string.Join("|", messages);
Expand All @@ -216,7 +216,7 @@ await Context.SetGeolocationAsync(new Geolocation
Latitude = 10,
});

var popupTask = Page.WaitForEvent<PopupEventArgs>(PageEvent.Popup);
var popupTask = Page.WaitForEvent(PageEvent.Popup);

await TaskUtils.WhenAll(
popupTask,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public ChromiumBrowserContextTests(ITestOutputHelper output) : base(output)
[SkipBrowserAndPlatformFact(skipFirefox: true, skipWebkit: true)]
public async Task ShouldCreateAWorkerFromAServiceWorker()
{
var workerTask = Context.WaitForEvent<WorkerEventArgs>(ContextEvent.ServiceWorker);
var workerTask = Context.WaitForEvent(ContextEvent.ServiceWorker);
await Page.GoToAsync(TestConstants.ServerUrl + "/serviceworkers/empty/sw.html");

var worker = (await workerTask).Worker;
Expand All @@ -38,13 +38,13 @@ public async Task ShouldCreateAWorkerFromAServiceWorker()
public async Task ServiceWorkersShouldReturnCurrentWorkers()
{
var (worker1, _) = await TaskUtils.WhenAll(
Context.WaitForEvent<WorkerEventArgs>(ContextEvent.ServiceWorker),
Context.WaitForEvent(ContextEvent.ServiceWorker),
Page.GoToAsync(TestConstants.ServerUrl + "/serviceworkers/empty/sw.html"));

Assert.Single(Context.ServiceWorkers);

var (worker2, _) = await TaskUtils.WhenAll(
Context.WaitForEvent<WorkerEventArgs>(ContextEvent.ServiceWorker),
Context.WaitForEvent(ContextEvent.ServiceWorker),
Page.GoToAsync(TestConstants.CrossProcessUrl + "/serviceworkers/empty/sw.html"));

Assert.Equal(2, Context.ServiceWorkers.Length);
Expand Down Expand Up @@ -76,7 +76,7 @@ await Page.EvaluateAsync(@"() =>
public async Task ShouldCloseServiceWorkerTogetherWithTheContext()
{
var (worker, _) = await TaskUtils.WhenAll(
Context.WaitForEvent<WorkerEventArgs>(ContextEvent.ServiceWorker),
Context.WaitForEvent(ContextEvent.ServiceWorker),
Page.GoToAsync(TestConstants.ServerUrl + "/serviceworkers/empty/sw.html"));

var messages = new List<string>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public async Task ShouldReturnBackgroundPages()
await using var context = await BrowserType.LaunchPersistentContextAsync(userDataDir.Path, options);
var backgroundPage = context.BackgroundPages.Any()
? context.BackgroundPages.First()
: (await context.WaitForEvent<PageEventArgs>(ContextEvent.BackgroundPage)).Page;
: (await context.WaitForEvent(ContextEvent.BackgroundPage)).Page;

Assert.NotNull(backgroundPage);
Assert.Contains(backgroundPage, context.BackgroundPages);
Expand Down
2 changes: 1 addition & 1 deletion src/PlaywrightSharp.Tests/Chromium/OopifTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public async Task ShouldHandleOopifDetach()
Assert.Equal(TestConstants.CrossProcessHttpPrefix + "/grid.html", await frame.EvaluateAsync<string>("() => '' + location.href"));

var (frameDetached, _) = await TaskUtils.WhenAll(
_page.WaitForEvent<FrameEventArgs>(PageEvent.FrameDetached),
_page.WaitForEvent(PageEvent.FrameDetached),
_page.EvaluateAsync<string>("() => document.querySelector('iframe').remove()"));

Assert.Equal(frame, frameDetached.Frame);
Expand Down
Loading

0 comments on commit 59857fe

Please sign in to comment.