Skip to content

Commit 3af2417

Browse files
authored
Add missing target manager tests (#2312)
* Add missing target manager tests * skip on firefox
1 parent 7fc0143 commit 3af2417

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
2+
using Microsoft.AspNetCore.Http;
3+
using PuppeteerSharp.Tests.Attributes;
4+
using PuppeteerSharp.Nunit;
5+
using System;
6+
using System.Linq;
7+
using System.Threading.Tasks;
8+
using NUnit.Framework;
9+
using PuppeteerSharp.Helpers;
10+
11+
namespace PuppeteerSharp.Tests.TargetManagerTests
12+
{
13+
public class TargetManagerTests : PuppeteerBrowserContextBaseTest
14+
{
15+
public TargetManagerTests(): base()
16+
{
17+
DefaultOptions = TestConstants.DefaultBrowserOptions();
18+
DefaultOptions.Args = new[]
19+
{
20+
"--site-per-process",
21+
"--remote-debugging-port=21222",
22+
"--host-rules=\"MAP * 127.0.0.1\"",
23+
};
24+
}
25+
26+
[PuppeteerTest("TargetManager.spec.ts", "TargetManager", "should handle targets")]
27+
[Skip(SkipAttribute.Targets.Firefox)]
28+
29+
public async Task ShouldHandleTargets()
30+
{
31+
var targetManager = (Browser as Browser).TargetManager;
32+
Assert.AreEqual(2, targetManager.GetAvailableTargets().Values.Count);
33+
34+
Assert.IsEmpty(await Context.PagesAsync());
35+
Assert.AreEqual(2, targetManager.GetAvailableTargets().Values.Count);
36+
37+
var page = await Context.NewPageAsync();
38+
Assert.AreEqual(1, (await Context.PagesAsync()).Length);
39+
Assert.AreEqual(3, targetManager.GetAvailableTargets().Values.Count);
40+
41+
await page.GoToAsync(TestConstants.EmptyPage);
42+
Assert.AreEqual(1, (await Context.PagesAsync()).Length);
43+
Assert.AreEqual(3, targetManager.GetAvailableTargets().Values.Count);
44+
45+
var frameTask = page.WaitForFrameAsync(target => target.Url == TestConstants.EmptyPage);
46+
await FrameUtils.AttachFrameAsync(page, "frame1", TestConstants.EmptyPage);
47+
await frameTask.WithTimeout();
48+
Assert.AreEqual(1, (await Context.PagesAsync()).Length);
49+
Assert.AreEqual(3, targetManager.GetAvailableTargets().Values.Count);
50+
Assert.AreEqual(2, page.Frames.Length);
51+
52+
frameTask = page.WaitForFrameAsync(target => target.Url == TestConstants.CrossProcessUrl + "/empty.html");
53+
await FrameUtils.AttachFrameAsync(page, "frame2", TestConstants.CrossProcessUrl + "/empty.html");
54+
await frameTask.WithTimeout();
55+
Assert.AreEqual(1, (await Context.PagesAsync()).Length);
56+
Assert.AreEqual(4, targetManager.GetAvailableTargets().Values.Count);
57+
Assert.AreEqual(3, page.Frames.Length);
58+
59+
frameTask = page.WaitForFrameAsync(target => target.Url == TestConstants.CrossProcessUrl + "/empty.html");
60+
await FrameUtils.AttachFrameAsync(page, "frame3", TestConstants.CrossProcessUrl + "/empty.html");
61+
await frameTask.WithTimeout();
62+
Assert.AreEqual(1, (await Context.PagesAsync()).Length);
63+
Assert.AreEqual(5, targetManager.GetAvailableTargets().Values.Count);
64+
Assert.AreEqual(4, page.Frames.Length);
65+
}
66+
}
67+
}

0 commit comments

Comments
 (0)