From ef182ee5789138f93c575fd83f59bef6d5fdcb0c Mon Sep 17 00:00:00 2001 From: Argo-Tianyi Date: Sat, 16 Apr 2022 12:12:42 +0800 Subject: [PATCH] =?UTF-8?q?test:=20=E5=A2=9E=E5=8A=A0=20Resposive=20?= =?UTF-8?q?=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ResizeNotification/ResizeNotification.cs | 16 +++------ test/UnitTest/Components/ReponsiveTest.cs | 35 +++++++++++++++++++ 2 files changed, 40 insertions(+), 11 deletions(-) create mode 100644 test/UnitTest/Components/ReponsiveTest.cs diff --git a/src/BootstrapBlazor/Components/ResizeNotification/ResizeNotification.cs b/src/BootstrapBlazor/Components/ResizeNotification/ResizeNotification.cs index bf95e89fd..22e151a5f 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 000000000..f652ef821 --- /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); + } +} -- Gitee