66using System . Text . Json ;
77using Microsoft . AspNetCore . Components . Infrastructure ;
88using Microsoft . AspNetCore . Components . RenderTree ;
9- using Microsoft . AspNetCore . Components . Web ;
109using Microsoft . Extensions . DependencyInjection ;
1110using Microsoft . Extensions . Logging ;
1211using Microsoft . Extensions . Logging . Abstractions ;
@@ -423,9 +422,9 @@ IEnumerator IEnumerable.GetEnumerator()
423422 public void PersistenceReasons_HaveCorrectDefaults ( )
424423 {
425424 // Arrange & Act
426- var prerenderingReason = new PersistOnPrerendering ( ) ;
427- var enhancedNavReason = new PersistOnEnhancedNavigation ( ) ;
428- var circuitPauseReason = new PersistOnCircuitPause ( ) ;
425+ var prerenderingReason = new TestPersistOnPrerendering ( ) ;
426+ var enhancedNavReason = new TestPersistOnEnhancedNavigation ( ) ;
427+ var circuitPauseReason = new TestPersistOnCircuitPause ( ) ;
429428
430429 // Assert
431430 Assert . True ( prerenderingReason . PersistByDefault ) ;
@@ -446,7 +445,7 @@ public async Task PersistStateAsync_RespectsReasonFilters()
446445 // Register callback with filter that blocks enhanced navigation
447446 var filters = new List < IPersistenceReasonFilter >
448447 {
449- new TestPersistenceReasonFilter < PersistOnEnhancedNavigation > ( false )
448+ new TestPersistenceReasonFilter < TestPersistOnEnhancedNavigation > ( false )
450449 } ;
451450
452451 manager . State . RegisterOnPersisting ( ( ) =>
@@ -456,7 +455,7 @@ public async Task PersistStateAsync_RespectsReasonFilters()
456455 } , new TestRenderMode ( ) , filters ) ;
457456
458457 // Act - persist with enhanced navigation reason
459- await manager . PersistStateAsync ( store , renderer , new PersistOnEnhancedNavigation ( ) ) ;
458+ await manager . PersistStateAsync ( store , renderer , new TestPersistOnEnhancedNavigation ( ) ) ;
460459
461460 // Assert - callback should not be executed
462461 Assert . False ( callbackExecuted ) ;
@@ -475,7 +474,7 @@ public async Task PersistStateAsync_AllowsWhenFilterMatches()
475474 // Register callback with filter that allows prerendering
476475 var filters = new List < IPersistenceReasonFilter >
477476 {
478- new TestPersistenceReasonFilter < PersistOnPrerendering > ( true )
477+ new TestPersistenceReasonFilter < TestPersistOnPrerendering > ( true )
479478 } ;
480479
481480 manager . State . RegisterOnPersisting ( ( ) =>
@@ -485,7 +484,7 @@ public async Task PersistStateAsync_AllowsWhenFilterMatches()
485484 } , new TestRenderMode ( ) , filters ) ;
486485
487486 // Act - persist with prerendering reason
488- await manager . PersistStateAsync ( store , renderer , new PersistOnPrerendering ( ) ) ;
487+ await manager . PersistStateAsync ( store , renderer , new TestPersistOnPrerendering ( ) ) ;
489488
490489 // Assert - callback should be executed
491490 Assert . True ( callbackExecuted ) ;
@@ -515,6 +514,22 @@ private class TestRenderMode : IComponentRenderMode
515514 {
516515 }
517516
517+ // Test implementations of persistence reasons
518+ private class TestPersistOnPrerendering : IPersistenceReason
519+ {
520+ public bool PersistByDefault => true ;
521+ }
522+
523+ private class TestPersistOnEnhancedNavigation : IPersistenceReason
524+ {
525+ public bool PersistByDefault => false ;
526+ }
527+
528+ private class TestPersistOnCircuitPause : IPersistenceReason
529+ {
530+ public bool PersistByDefault => true ;
531+ }
532+
518533 private class PersistentService : IPersistentServiceRegistration
519534 {
520535 public string Assembly { get ; set ; }
0 commit comments