diff --git a/src/BootstrapBlazor/Components/ResizeNotification/ResizeNotification.cs b/src/BootstrapBlazor/Components/ResizeNotification/ResizeNotification.cs index bf95e89fd3f95839b10286dec66525a625a2ac00..22e151a5f7d388cccb8c91d629ee640c8a8c4cf1 100644 --- a/src/BootstrapBlazor/Components/ResizeNotification/ResizeNotification.cs +++ b/src/BootstrapBlazor/Components/ResizeNotification/ResizeNotification.cs @@ -10,7 +10,7 @@ namespace BootstrapBlazor.Components; /// /// 网页尺寸变化通知组件 /// -public class ResizeNotification : BootstrapComponentBase, IAsyncDisposable +public class ResizeNotification : BootstrapComponentBase, IDisposable { [Inject] [NotNull] @@ -18,8 +18,6 @@ public class ResizeNotification : BootstrapComponentBase, IAsyncDisposable private JSInterop? Interop { get; set; } - private JSModule? Module { get; set; } - /// /// OnAfterRenderAsync 方法 /// @@ -44,11 +42,11 @@ public class ResizeNotification : BootstrapComponentBase, IAsyncDisposable public Task OnResize(BreakPoint point) => ResizeService.InvokeAsync(point); /// - /// DisposeAsync 方法 + /// Dispose 方法 /// /// /// - protected virtual async Task DisposeAsync(bool disposing) + protected virtual void Dispose(bool disposing) { if (disposing) { @@ -56,10 +54,6 @@ public class ResizeNotification : BootstrapComponentBase, IAsyncDisposable { Interop.Dispose(); } - if (Module != null) - { - await Module.DisposeAsync(); - } } } @@ -67,9 +61,9 @@ public class ResizeNotification : BootstrapComponentBase, IAsyncDisposable /// DisposeAsync 方法 /// /// - public async ValueTask DisposeAsync() + public void Dispose() { - await DisposeAsync(true); + Dispose(true); GC.SuppressFinalize(this); } } diff --git a/test/UnitTest/Components/ReponsiveTest.cs b/test/UnitTest/Components/ReponsiveTest.cs new file mode 100644 index 0000000000000000000000000000000000000000..f652ef8211db2c6f5f2a8c06cfcb9a8270b3bfad --- /dev/null +++ b/test/UnitTest/Components/ReponsiveTest.cs @@ -0,0 +1,35 @@ +// Copyright (c) Argo Zhang (argo@163.com). All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +// Website: https://www.blazor.zone or https://argozhang.github.io/ + +namespace UnitTest.Components; + +public class ReponsiveTest : BootstrapBlazorTestBase +{ + [Fact] + public async Task Resposive_Ok() + { + var point = BreakPoint.None; + var cut = Context.RenderComponent(pb => + { + pb.AddChildContent(pb => + { + pb.Add(a => a.OnBreakPointChanged, b => + { + point = b; + return Task.CompletedTask; + }); + }); + }); + await cut.InvokeAsync(() => cut.FindComponent().Instance.OnResize(BreakPoint.Large)); + Assert.Equal(BreakPoint.Large, point); + } + + [Fact] + public void Service_Ok() + { + var service = new ResizeNotificationService(); + service.Subscribe(this, b => Task.CompletedTask); + service.Subscribe(this, b => Task.CompletedTask); + } +}