Skip to content

Commit 087228c

Browse files
amaitlandkblok
andauthored
Fix Page.AddConsoleMessageAsync NullReferenceException (#2070)
* Fix Page.AddConsoleMessageAsync NullReferenceException * Make fix ready for shipping Co-authored-by: Darío Kondratiuk <[email protected]>
1 parent 35b9e68 commit 087228c

File tree

3 files changed

+26
-5
lines changed

3 files changed

+26
-5
lines changed

lib/PuppeteerSharp.Tests/PageTests/PageEventsConsoleTests.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,5 +198,26 @@ await Page.EvaluateFunctionAsync(@"async () =>
198198
// 4. Connect to the popup and make sure it doesn't throw.
199199
await popupTarget.PageAsync();
200200
}
201+
202+
[SkipBrowserFact(skipFirefox: true)]
203+
public async Task ShouldNotFailForNullArgument()
204+
{
205+
var consoleTcs = new TaskCompletionSource<string>();
206+
207+
void EventHandler(object sender, ConsoleEventArgs e)
208+
{
209+
consoleTcs.TrySetResult(e.Message.Text);
210+
Page.Console -= EventHandler;
211+
}
212+
213+
Page.Console += EventHandler;
214+
215+
await Task.WhenAll(
216+
consoleTcs.Task,
217+
Page.EvaluateExpressionAsync("console.debug(null);")
218+
);
219+
220+
Assert.Equal("JSHandle:null", await consoleTcs.Task);
221+
}
201222
}
202223
}

lib/PuppeteerSharp/Page.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1669,7 +1669,7 @@ private async Task AddConsoleMessageAsync(ConsoleType type, IJSHandle[] values,
16691669
return;
16701670
}
16711671

1672-
var tokens = values.Select(i => i.RemoteObject.ObjectId != null || i.RemoteObject.Value.Type == JTokenType.Object
1672+
var tokens = values.Select(i => i.RemoteObject.ObjectId != null || i.RemoteObject.Type == RemoteObjectType.Object
16731673
? i.ToString()
16741674
: RemoteObjectHelper.ValueFromRemoteObject<string>(i.RemoteObject));
16751675

lib/PuppeteerSharp/PuppeteerSharp.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
<Description>Headless Browser .NET API</Description>
1414
<PackageId>PuppeteerSharp</PackageId>
1515
<PackageReleaseNotes></PackageReleaseNotes>
16-
<PackageVersion>9.0.0</PackageVersion>
17-
<ReleaseVersion>9.0.0</ReleaseVersion>
18-
<AssemblyVersion>9.0.0.0</AssemblyVersion>
19-
<FileVersion>9.0.0.0</FileVersion>
16+
<PackageVersion>9.0.1</PackageVersion>
17+
<ReleaseVersion>9.0.1</ReleaseVersion>
18+
<AssemblyVersion>9.0.0.1</AssemblyVersion>
19+
<FileVersion>9.0.0.1</FileVersion>
2020
<SynchReleaseVersion>false</SynchReleaseVersion>
2121
<StyleCopTreatErrorsAsWarnings>false</StyleCopTreatErrorsAsWarnings>
2222
<CodeAnalysisRuleSet>../PuppeteerSharp.ruleset</CodeAnalysisRuleSet>

0 commit comments

Comments
 (0)