Skip to content

Commit

Permalink
Add missing BF cache test (#2619)
Browse files Browse the repository at this point in the history
  • Loading branch information
kblok committed Apr 30, 2024
1 parent 238193a commit 2eaba48
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions lib/PuppeteerSharp.Tests/BFCacheTests/BFCacheTests.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System.Threading.Tasks;
using NUnit.Framework;
using PuppeteerSharp.Helpers;
using PuppeteerSharp.Nunit;

namespace PuppeteerSharp.Tests.BFCacheTests;
Expand All @@ -23,4 +24,26 @@ public async Task CanNavigateToABFCachedPage()
await Task.WhenAll(Page.WaitForNavigationAsync(), Page.GoBackAsync());
Assert.AreEqual("BFCachednext", await Page.EvaluateExpressionAsync<string>("document.body.innerText"));
}

[Test, Retry(2), PuppeteerTest("bfcache.spec", "BFCache", "can navigate to a BFCached page containing an OOPIF and a worker")]
public async Task CanNavigateToABFCachedPageContainingAnOOPIFAndAWorker()
{
Page.DefaultTimeout = 30_000;
var workerTcs = new TaskCompletionSource<WebWorker>();
Page.WorkerCreated += (_, e) => workerTcs.TrySetResult(e.Worker);
await Page.GoToAsync(TestConstants.ServerUrl + "/cached/bfcache/worker-iframe-container.html");
var worker1 = await workerTcs.Task.WithTimeout();
Assert.AreEqual(2, await worker1.EvaluateExpressionAsync<int>("1 + 1"));
await Task.WhenAll(
Page.WaitForNavigationAsync(),
Page.ClickAsync("a"));

workerTcs = new TaskCompletionSource<WebWorker>();
await Task.WhenAll(
Page.WaitForNavigationAsync(),
Page.GoBackAsync()).WithTimeout();

var worker2 = await workerTcs.Task.WithTimeout();
Assert.AreEqual(2, await worker2.EvaluateExpressionAsync<int>("1 + 1"));
}
}

0 comments on commit 2eaba48

Please sign in to comment.