Skip to content

Commit 910677b

Browse files
authored
[BREAKING] Implement Interfaces for public API (#1965)
1 parent dae5325 commit 910677b

File tree

135 files changed

+4371
-3226
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

135 files changed

+4371
-3226
lines changed

lib/PuppeteerSharp.Tests/BrowserContextTests/BrowserContextTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Collections.Generic;
33
using System.Linq;
44
using System.Text;
@@ -63,7 +63,7 @@ public async Task WindowOpenShouldUseParentTabContext()
6363
var context = await Browser.CreateIncognitoBrowserContextAsync();
6464
var page = await context.NewPageAsync();
6565
await page.GoToAsync(TestConstants.EmptyPage);
66-
var popupTargetCompletion = new TaskCompletionSource<Target>();
66+
var popupTargetCompletion = new TaskCompletionSource<ITarget>();
6767
Browser.TargetCreated += (_, e) => popupTargetCompletion.SetResult(e.Target);
6868

6969
await Task.WhenAll(

lib/PuppeteerSharp.Tests/ElementHandleTests/BoxModelTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ await Page.EvaluateExpressionAsync(@"
3232

3333
// Step 2: Add div and position it absolutely inside frame.
3434
var frame = Page.FirstChildFrame();
35-
var divHandle = (ElementHandle)await frame.EvaluateFunctionHandleAsync(@"() => {
35+
var divHandle = (IElementHandle)await frame.EvaluateFunctionHandleAsync(@"() => {
3636
const div = document.createElement('div');
3737
document.body.appendChild(div);
3838
div.style = `

lib/PuppeteerSharp.Tests/ElementHandleTests/ClickTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public async Task ShouldWork()
2929
public async Task ShouldWorkForShadowDomV1()
3030
{
3131
await Page.GoToAsync(TestConstants.ServerUrl + "/shadow.html");
32-
var buttonHandle = (ElementHandle)await Page.EvaluateExpressionHandleAsync("button");
32+
var buttonHandle = (IElementHandle)await Page.EvaluateExpressionHandleAsync("button");
3333
await buttonHandle.ClickAsync();
3434
Assert.True(await Page.EvaluateExpressionAsync<bool>("clicked"));
3535
}
@@ -39,7 +39,7 @@ public async Task ShouldWorkForShadowDomV1()
3939
public async Task ShouldWorkForTextNodes()
4040
{
4141
await Page.GoToAsync(TestConstants.ServerUrl + "/input/button.html");
42-
var buttonTextNode = (ElementHandle)await Page.EvaluateExpressionHandleAsync(
42+
var buttonTextNode = (IElementHandle)await Page.EvaluateExpressionHandleAsync(
4343
"document.querySelector('button').firstChild");
4444
var exception = await Assert.ThrowsAsync<PuppeteerException>(async () => await buttonTextNode.ClickAsync());
4545
Assert.Equal("Node is not of type HTMLElement", exception.Message);

lib/PuppeteerSharp.Tests/ElementHandleTests/CustomQueriesTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System;
1+
using System;
22
using System.Linq;
33
using System.Threading.Tasks;
44
using PuppeteerSharp.Tests.Attributes;
@@ -37,7 +37,7 @@ public async Task ShouldRegisterAndUnregister()
3737
@"(el) => el.id",
3838
element));
3939

40-
var handlerNamesAfterRegistering = Browser.GetCustomQueryHandlerNames();
40+
var handlerNamesAfterRegistering = ((Browser)Browser).GetCustomQueryHandlerNames();
4141
Assert.Contains("getById", handlerNamesAfterRegistering);
4242

4343
// Unregister.
@@ -52,7 +52,7 @@ public async Task ShouldRegisterAndUnregister()
5252
Assert.Equal($"Query set to use \"getById\", but no query handler of that name was found", ex.Message);
5353
}
5454

55-
var handlerNamesAfterUnregistering = Browser.GetCustomQueryHandlerNames();
55+
var handlerNamesAfterUnregistering = ((Browser)Browser).GetCustomQueryHandlerNames();
5656
Assert.DoesNotContain("getById", handlerNamesAfterUnregistering);
5757
}
5858

lib/PuppeteerSharp.Tests/FixturesTests/FixturesTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public async Task ShouldCloseTheBrowserWhenTheLaunchedProcessCloses()
7474
browserClosedTaskWrapper.SetResult(true);
7575
};
7676

77-
KillProcess(browser.Launcher.Process.Id);
77+
KillProcess(browser.Process.Id);
7878

7979
await browserClosedTaskWrapper.Task;
8080
Assert.True(browser.IsClosed);

lib/PuppeteerSharp.Tests/FrameTests/FrameManagementTests.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System.Collections.Generic;
1+
using System.Collections.Generic;
22
using System.Threading.Tasks;
33
using Xunit;
44
using System.Linq;
@@ -31,7 +31,7 @@ public async Task ShouldSendEventsWhenFramesAreManipulatedDynamically()
3131
{
3232
await Page.GoToAsync(TestConstants.EmptyPage);
3333
// validate frameattached events
34-
var attachedFrames = new List<Frame>();
34+
var attachedFrames = new List<IFrame>();
3535

3636
Page.FrameAttached += (_, e) => attachedFrames.Add(e.Frame);
3737

@@ -41,15 +41,15 @@ public async Task ShouldSendEventsWhenFramesAreManipulatedDynamically()
4141
Assert.Contains("/Assets/frame.html", attachedFrames[0].Url);
4242

4343
// validate framenavigated events
44-
var navigatedFrames = new List<Frame>();
44+
var navigatedFrames = new List<IFrame>();
4545
Page.FrameNavigated += (_, e) => navigatedFrames.Add(e.Frame);
4646

4747
await FrameUtils.NavigateFrameAsync(Page, "frame1", "./empty.html");
4848
Assert.Single(navigatedFrames);
4949
Assert.Equal(TestConstants.EmptyPage, navigatedFrames[0].Url);
5050

5151
// validate framedetached events
52-
var detachedFrames = new List<Frame>();
52+
var detachedFrames = new List<IFrame>();
5353
Page.FrameDetached += (_, e) => detachedFrames.Add(e.Frame);
5454

5555
await FrameUtils.DetachFrameAsync(Page, "frame1");
@@ -106,9 +106,9 @@ public async Task ShouldNotSendAttachDetachEventsForMainFrame()
106106
[SkipBrowserFact(skipFirefox: true)]
107107
public async Task ShouldDetachChildFramesOnNavigation()
108108
{
109-
var attachedFrames = new List<Frame>();
110-
var detachedFrames = new List<Frame>();
111-
var navigatedFrames = new List<Frame>();
109+
var attachedFrames = new List<IFrame>();
110+
var detachedFrames = new List<IFrame>();
111+
var navigatedFrames = new List<IFrame>();
112112

113113
Page.FrameAttached += (_, e) => attachedFrames.Add(e.Frame);
114114
Page.FrameDetached += (_, e) => detachedFrames.Add(e.Frame);
@@ -184,7 +184,7 @@ await Page.EvaluateFunctionAsync(@"() => {
184184
window.frame.remove();
185185
}");
186186
Assert.True(frame1.Detached);
187-
var frame2tsc = new TaskCompletionSource<Frame>();
187+
var frame2tsc = new TaskCompletionSource<IFrame>();
188188
Page.FrameAttached += (_, e) => frame2tsc.TrySetResult(e.Frame);
189189
await Page.EvaluateExpressionAsync("document.body.appendChild(window.frame)");
190190
var frame2 = await frame2tsc.Task;
@@ -196,9 +196,9 @@ await Page.EvaluateFunctionAsync(@"() => {
196196
[SkipBrowserFact(skipFirefox: true)]
197197
public async Task ShouldSupportFramesets()
198198
{
199-
var attachedFrames = new List<Frame>();
200-
var detachedFrames = new List<Frame>();
201-
var navigatedFrames = new List<Frame>();
199+
var attachedFrames = new List<IFrame>();
200+
var detachedFrames = new List<IFrame>();
201+
var navigatedFrames = new List<IFrame>();
202202

203203
Page.FrameAttached += (_, e) => attachedFrames.Add(e.Frame);
204204
Page.FrameDetached += (_, e) => detachedFrames.Add(e.Frame);

lib/PuppeteerSharp.Tests/FrameUtils.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ namespace PuppeteerSharp.Tests
66
{
77
public static class FrameUtils
88
{
9-
public static Task<Frame> AttachFrameAsync(Page page, string frameId, string url)
9+
public static Task<IFrame> AttachFrameAsync(IPage page, string frameId, string url)
1010
=> AttachFrameAsync(page.MainFrame, frameId, url);
1111

12-
public static async Task<Frame> AttachFrameAsync(Frame frame, string frameId, string url)
12+
public static async Task<IFrame> AttachFrameAsync(IFrame frame, string frameId, string url)
1313
{
14-
var handle = (ElementHandle)await frame.EvaluateFunctionHandleAsync(@" async (frameId, url) => {
14+
var handle = (IElementHandle)await frame.EvaluateFunctionHandleAsync(@" async (frameId, url) => {
1515
const frame = document.createElement('iframe');
1616
frame.src = url;
1717
frame.id = frameId;
@@ -22,35 +22,35 @@ public static async Task<Frame> AttachFrameAsync(Frame frame, string frameId, st
2222
return await handle.ContentFrameAsync();
2323
}
2424

25-
public static Task DetachFrameAsync(Page page, string frameId)
25+
public static Task DetachFrameAsync(IPage page, string frameId)
2626
=> DetachFrameAsync(page.MainFrame, frameId);
2727

28-
public static Task DetachFrameAsync(Frame frame, string frameId)
28+
public static Task DetachFrameAsync(IFrame frame, string frameId)
2929
=> frame.EvaluateFunctionAsync(@"function detachFrame(frameId) {
3030
const frame = document.getElementById(frameId);
3131
frame.remove();
3232
}", frameId);
3333

34-
public static IEnumerable<string> DumpFrames(Frame frame, string indentation = "")
34+
public static IEnumerable<string> DumpFrames(IFrame frame, string indentation = "")
3535
{
3636
var description = indentation + Regex.Replace(frame.Url, @":\d{4}", ":<PORT>");
3737
if (!string.IsNullOrEmpty(frame.Name))
3838
{
3939
description += $" ({frame.Name})";
4040
}
4141
var result = new List<string>() { description };
42-
foreach (var child in frame.ChildFrames)
42+
foreach (Frame child in frame.ChildFrames)
4343
{
4444
result.AddRange(DumpFrames(child, " " + indentation));
4545
}
4646

4747
return result;
4848
}
4949

50-
internal static Task NavigateFrameAsync(Page page, string frameId, string url)
50+
internal static Task NavigateFrameAsync(IPage page, string frameId, string url)
5151
=> NavigateFrameAsync(page.MainFrame, frameId, url);
5252

53-
internal static async Task NavigateFrameAsync(Frame frame, string frameId, string url)
53+
internal static async Task NavigateFrameAsync(IFrame frame, string frameId, string url)
5454
{
5555
await frame.EvaluateFunctionAsync(@"function navigateFrame(frameId, url) {
5656
const frame = document.getElementById(frameId);

lib/PuppeteerSharp.Tests/HeadfulTests/HeadfulTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ public async Task OOPIFShouldExposeEventsWithinOOPIFs()
138138
// Setup our session listeners to observe OOPIF activity.
139139
var session = await page.Target.CreateCDPSessionAsync();
140140
var networkEvents = new List<string>();
141-
var otherSessions = new List<CDPSession>();
141+
var otherSessions = new List<ICDPSession>();
142142

143143
await session.SendAsync("Target.setAutoAttach", new TargetSetAutoAttachRequest
144144
{
@@ -147,7 +147,7 @@ public async Task OOPIFShouldExposeEventsWithinOOPIFs()
147147
WaitForDebuggerOnStart = true,
148148
});
149149

150-
session.SessionAttached += async (_, e) =>
150+
((CDPSession)session).SessionAttached += async (_, e) =>
151151
{
152152
otherSessions.Add(e.Session);
153153

lib/PuppeteerSharp.Tests/IgnoreHttpsErrorsTests/ResponseSecurityDetailsTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public async Task ShouldBeNullForNonSecureRequests()
5454
[SkipBrowserFact(skipFirefox: true)]
5555
public async Task NetworkRedirectsShouldReportSecurityDetails()
5656
{
57-
var responses = new List<Response>();
57+
var responses = new List<IResponse>();
5858
HttpsServer.SetRedirect("/plzredirect", "/empty.html");
5959

6060
Page.Response += (_, e) => responses.Add(e.Response);

lib/PuppeteerSharp.Tests/Issues/Issue1447.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public async Task Example()
4242
}
4343
}
4444

45-
public Task<Response> Navigate(Page page, string url)
45+
public Task<IResponse> Navigate(IPage page, string url)
4646
{
4747
return page.MainFrame.GoToAsync(
4848
url,

0 commit comments

Comments
 (0)