File tree 2 files changed +29
-2
lines changed
src/Components/Components
2 files changed +29
-2
lines changed Original file line number Diff line number Diff line change @@ -136,8 +136,10 @@ public async Task SetParametersAsync(ParameterView parameters)
136
136
_onNavigateCalled = true ;
137
137
await RunOnNavigateAsync ( NavigationManager . ToBaseRelativePath ( _locationAbsolute ) , isNavigationIntercepted : false ) ;
138
138
}
139
-
140
- Refresh ( isNavigationIntercepted : false ) ;
139
+ else
140
+ {
141
+ Refresh ( isNavigationIntercepted : false ) ;
142
+ }
141
143
}
142
144
143
145
/// <inheritdoc />
Original file line number Diff line number Diff line change @@ -199,6 +199,31 @@ await _renderer.Dispatcher.InvokeAsync(() =>
199
199
Assert . Equal ( $ "Rendering route matching { typeof ( MultiSegmentRouteComponent ) } ", renderedFrame . TextContent ) ;
200
200
}
201
201
202
+ [ Fact ]
203
+ public async Task SetParametersAsyncRefreshesOnce ( )
204
+ {
205
+ //Arrange
206
+ var parameters = new Dictionary < string , object >
207
+ {
208
+ { nameof ( Router . AppAssembly ) , typeof ( RouterTest ) . Assembly } ,
209
+ { nameof ( Router . NotFound ) , ( RenderFragment ) ( builder => { } ) } ,
210
+ } ;
211
+
212
+ var refreshCalled = 0 ;
213
+ _renderer . OnUpdateDisplay = ( renderBatch ) =>
214
+ {
215
+ refreshCalled += 1 ;
216
+ return ;
217
+ } ;
218
+
219
+ // Act
220
+ await _renderer . Dispatcher . InvokeAsync ( ( ) =>
221
+ _router . SetParametersAsync ( ParameterView . FromDictionary ( parameters ) ) ) ;
222
+
223
+ //Assert
224
+ Assert . Equal ( 1 , refreshCalled ) ;
225
+ }
226
+
202
227
internal class TestNavigationManager : NavigationManager
203
228
{
204
229
public TestNavigationManager ( ) =>
You can’t perform that action at this time.
0 commit comments