|
1 | 1 | namespace ElectronNET.IntegrationTests.Tests |
2 | 2 | { |
3 | | - using System.Runtime.InteropServices; |
4 | 3 | using System.Runtime.Versioning; |
5 | 4 | using ElectronNET.API; |
6 | 5 | using ElectronNET.API.Entities; |
@@ -136,22 +135,28 @@ public async Task MenuBar_auto_hide_and_visibility() |
136 | 135 | [Fact(Timeout = 20000)] |
137 | 136 | public async Task ReadyToShow_event_fires_after_content_ready() |
138 | 137 | { |
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; |
142 | 139 |
|
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(); |
149 | 145 |
|
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; |
152 | 152 |
|
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 | + } |
155 | 160 | } |
156 | 161 |
|
157 | 162 | [Fact(Timeout = 20000)] |
|
0 commit comments