namespace XFESystem.Browser.Tests;
public sealed class BrowserGateTests
{
[Fact]
public async Task FailedRuntimeInitializationReleasesTheBrowserForAnotherThread()
{
var browser = new BrowserService(limits: new BrowserLimits { MaximumDomNodes = 1 });
Assert.Throws<BrowserLimitException>(() => browser.ExecuteJavaScript("42"));
var page = await Task.Run(() => browser.Navigate("about:Start"))
.WaitAsync(TimeSpan.FromSeconds(5));
Assert.Equal("Navigation failed", page.Title);
Assert.Contains("node", page.Text, StringComparison.OrdinalIgnoreCase);
var refreshed = await Task.Run(browser.RefreshDocument).WaitAsync(TimeSpan.FromSeconds(5));
Assert.Equal(page, refreshed);
}
}
namespace XFESystem.Browser.Tests;
public sealed class BrowserGateTests
{
[Fact]
public async Task FailedRuntimeInitializationReleasesTheBrowserForAnotherThread()
{
var browser = new BrowserService(limits: new BrowserLimits { MaximumDomNodes = 1 });
Assert.Throws<BrowserLimitException>(() => browser.ExecuteJavaScript("42"));
var page = await Task.Run(() => browser.Navigate("about:Start"))
.WaitAsync(TimeSpan.FromSeconds(5));
Assert.Equal("Navigation failed", page.Title);
Assert.Contains("node", page.Text, StringComparison.OrdinalIgnoreCase);
var refreshed = await Task.Run(browser.RefreshDocument).WaitAsync(TimeSpan.FromSeconds(5));
Assert.Equal(page, refreshed);
}
}