File tree Expand file tree Collapse file tree 1 file changed +5
-2
lines changed
src/bunit.core/Extensions/WaitForHelpers Expand file tree Collapse file tree 1 file changed +5
-2
lines changed Original file line number Diff line number Diff line change @@ -48,9 +48,9 @@ protected WaitForHelper(
4848 {
4949 this . renderedFragment = renderedFragment ?? throw new ArgumentNullException ( nameof ( renderedFragment ) ) ;
5050 this . completeChecker = completeChecker ?? throw new ArgumentNullException ( nameof ( completeChecker ) ) ;
51+
5152 logger = renderedFragment . Services . CreateLogger < WaitForHelper < T > > ( ) ;
5253 checkPassedCompletionSource = new TaskCompletionSource < T > ( ) ;
53-
5454 WaitTask = CreateWaitTask ( renderedFragment , timeout ) ;
5555
5656 InitializeWaiting ( ) ;
@@ -80,8 +80,8 @@ protected virtual void Dispose(bool disposing)
8080 return ;
8181
8282 isDisposed = true ;
83- checkPassedCompletionSource . TrySetCanceled ( ) ;
8483 renderedFragment . OnAfterRender -= OnAfterRender ;
84+ checkPassedCompletionSource . TrySetCanceled ( ) ;
8585 logger . LogWaiterDisposed ( renderedFragment . ComponentId ) ;
8686 }
8787
@@ -175,6 +175,9 @@ private void OnAfterRender(object? sender, EventArgs args)
175175
176176 private void SubscribeToOnAfterRender ( )
177177 {
178+ // There might not be a need to subscribe if the WaitTask has already
179+ // been completed, perhaps due to an unhandled exception from the
180+ // renderer or from the initial check by the checker.
178181 if ( ! isDisposed && ! WaitTask . IsCompleted )
179182 renderedFragment . OnAfterRender += OnAfterRender ;
180183 }
You can’t perform that action at this time.
0 commit comments