Skip to content

Commit 6246b44

Browse files
committed
ReadyToShow_event_fires: Destroy window
1 parent 347c1ef commit 6246b44

File tree

1 file changed

+19
-14
lines changed

1 file changed

+19
-14
lines changed

src/ElectronNET.IntegrationTests/Tests/BrowserWindowTests.cs

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
namespace ElectronNET.IntegrationTests.Tests
22
{
3-
using System.Runtime.InteropServices;
43
using System.Runtime.Versioning;
54
using ElectronNET.API;
65
using ElectronNET.API.Entities;
@@ -136,22 +135,28 @@ public async Task MenuBar_auto_hide_and_visibility()
136135
[Fact(Timeout = 20000)]
137136
public async Task ReadyToShow_event_fires_after_content_ready()
138137
{
139-
var window = await Electron.WindowManager.CreateWindowAsync(new BrowserWindowOptions { Show = false }, "about:blank");
140-
var tcs = new TaskCompletionSource();
141-
window.OnReadyToShow += () => tcs.TrySetResult();
138+
BrowserWindow window = null;
142139

143-
// Trigger a navigation and wait for DOM ready so the renderer paints, which emits ready-to-show
144-
var domReadyTcs = new TaskCompletionSource();
145-
window.WebContents.OnDomReady += () => domReadyTcs.TrySetResult();
146-
await Task.Delay(500);
147-
await window.WebContents.LoadURLAsync("about:blank");
148-
await domReadyTcs.Task;
140+
try
141+
{
142+
window = await Electron.WindowManager.CreateWindowAsync(new BrowserWindowOptions { Show = false }, "about:blank");
143+
var tcs = new TaskCompletionSource();
144+
window.OnReadyToShow += () => tcs.TrySetResult();
149145

150-
var completed = await Task.WhenAny(tcs.Task, Task.Delay(3000));
151-
completed.Should().Be(tcs.Task);
146+
// Trigger a navigation and wait for DOM ready so the renderer paints, which emits ready-to-show
147+
var domReadyTcs = new TaskCompletionSource();
148+
window.WebContents.OnDomReady += () => domReadyTcs.TrySetResult();
149+
await Task.Delay(500);
150+
await window.WebContents.LoadURLAsync("about:blank");
151+
await domReadyTcs.Task;
152152

153-
// Typical usage is to show once ready
154-
window.Show();
153+
var completed = await Task.WhenAny(tcs.Task, Task.Delay(3000));
154+
completed.Should().Be(tcs.Task);
155+
}
156+
finally
157+
{
158+
window?.Destroy();
159+
}
155160
}
156161

157162
[Fact(Timeout = 20000)]

0 commit comments

Comments
 (0)