Skip to content

Commit 74beb47

Browse files
committed
Fixing the build
1 parent 3540515 commit 74beb47

File tree

3 files changed

+0
-357
lines changed

3 files changed

+0
-357
lines changed

src/Components/Components/test/PersistentState/ComponentStatePersistenceManagerTest.cs

Lines changed: 0 additions & 156 deletions
Original file line numberDiff line numberDiff line change
@@ -352,145 +352,6 @@ public async Task PersistStateAsync_InvokesAllCallbacksEvenIfACallbackIsRemovedA
352352
Assert.Equal(4, executionSequence.Count);
353353
}
354354

355-
[Fact]
356-
public async Task RestoreStateAsync_WithoutScenario_InvokesAllCallbacks()
357-
{
358-
// Arrange
359-
var state = new Dictionary<string, byte[]>();
360-
var store = new TestStore(state);
361-
var persistenceManager = new ComponentStatePersistenceManager(
362-
NullLogger<ComponentStatePersistenceManager>.Instance,
363-
CreateServiceProvider());
364-
365-
var callbacksInvoked = new List<string>();
366-
367-
// Register callbacks with different filters
368-
persistenceManager.State.RegisterOnRestoring(null, () => callbacksInvoked.Add("no-filter"));
369-
persistenceManager.State.RegisterOnRestoring(new RestoreStateOnPrerenderingAttribute(),
370-
() => callbacksInvoked.Add("prerender-filter"));
371-
372-
// Act
373-
await persistenceManager.RestoreStateAsync(store);
374-
375-
// Assert - both callbacks should be invoked when no scenario is specified
376-
Assert.Equal(2, callbacksInvoked.Count);
377-
Assert.Contains("no-filter", callbacksInvoked);
378-
Assert.Contains("prerender-filter", callbacksInvoked);
379-
}
380-
381-
[Fact]
382-
public async Task RestoreStateAsync_WithPrerenderingScenario_FiltersCallbacks()
383-
{
384-
// Arrange
385-
var state = new Dictionary<string, byte[]>();
386-
var store = new TestStore(state);
387-
var persistenceManager = new ComponentStatePersistenceManager(
388-
NullLogger<ComponentStatePersistenceManager>.Instance,
389-
CreateServiceProvider());
390-
391-
var callbacksInvoked = new List<string>();
392-
var prerenderingScenario = WebPersistenceScenario.Prerendering;
393-
394-
// Restore happens before, the callbacks that get executed later execute right away and don't get
395-
// added to the subscription list indefinitely unless recurring.
396-
await persistenceManager.RestoreStateAsync(store, prerenderingScenario);
397-
398-
// Act
399-
persistenceManager.State.RegisterOnRestoring(null, () => callbacksInvoked.Add("no-filter"));
400-
persistenceManager.State.RegisterOnRestoring(new RestoreStateOnPrerenderingAttribute(enable: true),
401-
() => callbacksInvoked.Add("prerender-enabled"));
402-
persistenceManager.State.RegisterOnRestoring(new RestoreStateOnPrerenderingAttribute(enable: false),
403-
() => callbacksInvoked.Add("prerender-disabled"));
404-
405-
// Assert - no-filter and prerender-enabled should be invoked, prerender-disabled should not
406-
Assert.Equal(2, callbacksInvoked.Count);
407-
Assert.Contains("no-filter", callbacksInvoked);
408-
Assert.Contains("prerender-enabled", callbacksInvoked);
409-
Assert.DoesNotContain("prerender-disabled", callbacksInvoked);
410-
}
411-
412-
[Fact]
413-
public async Task RestoreStateAsync_WithNonPrerenderingScenario_FiltersCallbacks()
414-
{
415-
// Arrange
416-
var state = new Dictionary<string, byte[]>();
417-
var store = new TestStore(state);
418-
var persistenceManager = new ComponentStatePersistenceManager(
419-
NullLogger<ComponentStatePersistenceManager>.Instance,
420-
CreateServiceProvider());
421-
422-
var callbacksInvoked = new List<string>();
423-
var nonPrerenderingScenario = new TestScenario(isRecurring: false);
424-
425-
// Register callbacks with different filters
426-
persistenceManager.State.RegisterOnRestoring(null, () => callbacksInvoked.Add("no-filter"));
427-
persistenceManager.State.RegisterOnRestoring(new RestoreStateOnPrerenderingAttribute(),
428-
() => callbacksInvoked.Add("prerender-filter"));
429-
430-
// Act
431-
await persistenceManager.RestoreStateAsync(store, nonPrerenderingScenario);
432-
433-
// Assert - both callbacks should be invoked because TestScenario doesn't support prerendering filter
434-
// but it's not recurring, so the fallback logic applies
435-
Assert.Equal(2, callbacksInvoked.Count);
436-
Assert.Contains("no-filter", callbacksInvoked);
437-
Assert.Contains("prerender-filter", callbacksInvoked);
438-
}
439-
440-
[Fact]
441-
public async Task RestoreStateAsync_WithRecurringScenario_SkipsFilteredCallbacks()
442-
{
443-
// Arrange
444-
var state = new Dictionary<string, byte[]>();
445-
var store = new TestStore(state);
446-
var persistenceManager = new ComponentStatePersistenceManager(
447-
NullLogger<ComponentStatePersistenceManager>.Instance,
448-
CreateServiceProvider());
449-
450-
var callbacksInvoked = new List<string>();
451-
var recurringScenario = new TestScenario(isRecurring: true);
452-
453-
await persistenceManager.RestoreStateAsync(store, recurringScenario);
454-
455-
// Act
456-
persistenceManager.State.RegisterOnRestoring(null, () => callbacksInvoked.Add("no-filter"));
457-
persistenceManager.State.RegisterOnRestoring(new RestoreStateOnPrerenderingAttribute(),
458-
() => callbacksInvoked.Add("prerender-filter"));
459-
460-
// Assert - only no-filter callback should be invoked (filtered callbacks skipped for recurring)
461-
Assert.Single(callbacksInvoked);
462-
Assert.Contains("no-filter", callbacksInvoked);
463-
}
464-
465-
[Fact]
466-
public async Task RestoreStateAsync_CallbackDisposal_RemovesFromInvocation()
467-
{
468-
// Arrange
469-
var state = new Dictionary<string, byte[]>();
470-
var store = new TestStore(state);
471-
var persistenceManager = new ComponentStatePersistenceManager(
472-
NullLogger<ComponentStatePersistenceManager>.Instance,
473-
CreateServiceProvider());
474-
475-
var filter = new TestScenarioFilter();
476-
477-
await persistenceManager.RestoreStateAsync(store, new TestScenario(isRecurring: true));
478-
479-
var callbacksInvoked = new List<string>();
480-
481-
// Register callbacks and keep subscription to dispose
482-
var subscription1 = persistenceManager.State.RegisterOnRestoring(filter, () => callbacksInvoked.Add("callback1"));
483-
var subscription2 = persistenceManager.State.RegisterOnRestoring(filter, () => callbacksInvoked.Add("callback2"));
484-
485-
// Act - dispose one subscription before restore
486-
subscription1.Dispose();
487-
await persistenceManager.RestoreStateAsync(store);
488-
489-
// Assert - only non-disposed callback should be invoked
490-
Assert.Single(callbacksInvoked);
491-
Assert.Contains("callback2", callbacksInvoked);
492-
}
493-
494355
private class TestRenderer : Renderer
495356
{
496357
public TestRenderer() : base(new ServiceCollection().BuildServiceProvider(), NullLoggerFactory.Instance)
@@ -570,23 +431,6 @@ private class PersistentService : IPersistentServiceRegistration
570431

571432
public IComponentRenderMode GetRenderModeOrDefault() => null;
572433
}
573-
574-
private class TestScenario(bool isRecurring) : IPersistentComponentStateScenario
575-
{
576-
public bool IsRecurring { get; } = isRecurring;
577-
}
578-
579-
private class TestScenarioFilter : IPersistentStateFilter
580-
{
581-
public bool SupportsScenario(IPersistentComponentStateScenario scenario)
582-
{
583-
return scenario is TestScenario;
584-
}
585-
public bool ShouldRestore(IPersistentComponentStateScenario scenario)
586-
{
587-
return scenario is TestScenario testScenario && !testScenario.IsRecurring;
588-
}
589-
}
590434
}
591435

592436
static file class ComponentStatePersistenceManagerExtensions

src/Components/Components/test/PersistentState/WebPersistenceFilterTest.cs

Lines changed: 0 additions & 106 deletions
This file was deleted.

src/Components/Components/test/PersistentStateValueProviderTests.cs

Lines changed: 0 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -723,99 +723,4 @@ private class ParentComponent : IComponent
723723
public void Attach(RenderHandle renderHandle) => throw new NotImplementedException();
724724
public Task SetParametersAsync(ParameterView parameters) => throw new NotImplementedException();
725725
}
726-
727-
private class TestComponentWithFilteredState : IComponent
728-
{
729-
[PersistentState]
730-
[RestoreStateOnPrerendering]
731-
public string PrerenderState { get; set; }
732-
733-
[PersistentState]
734-
public string NormalState { get; set; }
735-
736-
public void Attach(RenderHandle renderHandle) => throw new NotImplementedException();
737-
public Task SetParametersAsync(ParameterView parameters) => throw new NotImplementedException();
738-
}
739-
740-
[Fact]
741-
public void Subscribe_WithRestoreOnPrerenderingAttribute_CreatesCorrectSubscriptions()
742-
{
743-
// Arrange
744-
var state = new PersistentComponentState(
745-
new Dictionary<string, byte[]>(),
746-
[],
747-
[]);
748-
749-
var provider = new PersistentStateValueProvider(state, NullLogger<PersistentStateValueProvider>.Instance, new ServiceCollection().BuildServiceProvider());
750-
var renderer = new TestRenderer();
751-
var component = new TestComponentWithFilteredState();
752-
var componentStates = CreateComponentState(renderer, [(component, null)], null);
753-
var componentState = componentStates.First();
754-
var cascadingParameterInfo = CreateCascadingParameterInfo(nameof(TestComponentWithFilteredState.PrerenderState), typeof(string));
755-
756-
// Act
757-
provider.Subscribe(componentState, cascadingParameterInfo);
758-
759-
// Assert
760-
Assert.True(provider.Subscriptions.ContainsKey(new(componentState, nameof(TestComponentWithFilteredState.PrerenderState))));
761-
var subscription = provider.Subscriptions[new(componentState, nameof(TestComponentWithFilteredState.PrerenderState))];
762-
}
763-
764-
[Fact]
765-
public void Subscribe_WithFilteredProperty_CreatesValidSubscription()
766-
{
767-
// Arrange
768-
var state = new PersistentComponentState(
769-
new Dictionary<string, byte[]>(),
770-
[],
771-
[]);
772-
773-
var provider = new PersistentStateValueProvider(state, NullLogger<PersistentStateValueProvider>.Instance, new ServiceCollection().BuildServiceProvider());
774-
var renderer = new TestRenderer();
775-
var component = new TestComponentWithFilteredState();
776-
var componentStates = CreateComponentState(renderer, [(component, null)], null);
777-
var componentState = componentStates.First();
778-
779-
var prerenderInfo = CreateCascadingParameterInfo(nameof(TestComponentWithFilteredState.PrerenderState), typeof(string));
780-
var normalInfo = CreateCascadingParameterInfo(nameof(TestComponentWithFilteredState.NormalState), typeof(string));
781-
782-
// Act & Assert - Subscribe to prerender state
783-
provider.Subscribe(componentState, prerenderInfo);
784-
Assert.True(provider.Subscriptions.ContainsKey(new(componentState, nameof(TestComponentWithFilteredState.PrerenderState))));
785-
786-
// Act & Assert - Subscribe to normal state should work too
787-
provider.Subscribe(componentState, normalInfo);
788-
Assert.True(provider.Subscriptions.ContainsKey(new(componentState, nameof(TestComponentWithFilteredState.NormalState))));
789-
790-
// Verify subscription structure is valid and was created
791-
var subscription = provider.Subscriptions[new(componentState, nameof(TestComponentWithFilteredState.NormalState))];
792-
// PersistingComponentStateSubscription is a value type, so just verify the subscription exists
793-
Assert.True(provider.Subscriptions.ContainsKey(new(componentState, nameof(TestComponentWithFilteredState.NormalState))));
794-
}
795-
796-
[Fact]
797-
public void Unsubscribe_RemovesSubscriptionCorrectly()
798-
{
799-
// Arrange
800-
var state = new PersistentComponentState(
801-
new Dictionary<string, byte[]>(),
802-
[],
803-
[]);
804-
805-
var provider = new PersistentStateValueProvider(state, NullLogger<PersistentStateValueProvider>.Instance, new ServiceCollection().BuildServiceProvider());
806-
var renderer = new TestRenderer();
807-
var component = new TestComponentWithFilteredState();
808-
var componentStates = CreateComponentState(renderer, [(component, null)], null);
809-
var componentState = componentStates.First();
810-
var cascadingParameterInfo = CreateCascadingParameterInfo(nameof(TestComponentWithFilteredState.PrerenderState), typeof(string));
811-
812-
// Act - Subscribe then unsubscribe
813-
provider.Subscribe(componentState, cascadingParameterInfo);
814-
Assert.True(provider.Subscriptions.ContainsKey(new(componentState, nameof(TestComponentWithFilteredState.PrerenderState))));
815-
816-
provider.Unsubscribe(componentState, cascadingParameterInfo);
817-
818-
// Assert - Subscription should be removed
819-
Assert.False(provider.Subscriptions.ContainsKey(new(componentState, nameof(TestComponentWithFilteredState.PrerenderState))));
820-
}
821726
}

0 commit comments

Comments
 (0)