diff --git a/src/BootstrapBlazor/Components/Circle/CircleBase.cs b/src/BootstrapBlazor/Components/Circle/CircleBase.cs index 31dbf9a617a051c9a0c5ddb80fa5561198860ac5..2ff1c9e880bc7c2a6f72f5e6fd08a12144f57e39 100644 --- a/src/BootstrapBlazor/Components/Circle/CircleBase.cs +++ b/src/BootstrapBlazor/Components/Circle/CircleBase.cs @@ -94,9 +94,9 @@ public abstract class CircleBase : BootstrapComponentBase /// /// OnInitialized 方法 /// - protected override void OnInitialized() + protected override void OnParametersSet() { - base.OnInitialized(); + base.OnParametersSet(); // 检查 StrokeWidth 参数 if (Width / 2 < StrokeWidth) StrokeWidth = 2; diff --git a/test/UnitTest/Components/CircleTest.cs b/test/UnitTest/Components/CircleTest.cs new file mode 100644 index 0000000000000000000000000000000000000000..274ac2415ae94804b5f8deea645f03db056e2a8a --- /dev/null +++ b/test/UnitTest/Components/CircleTest.cs @@ -0,0 +1,81 @@ +// 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/ + +using BootstrapBlazor.Components; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace UnitTest.Components; + +public class CircleTest : TestBase +{ + [Fact] + public void Value_Ok() + { + var cut = Context.RenderComponent(builder => builder.Add(a => a.Value, 100)); + + Assert.Contains("100%", cut.Markup); + } + + [Fact] + public void Width_Ok() + { + var cut = Context.RenderComponent(builder => builder.Add(a => a.Width, 100)); + + Assert.Contains("width: 100px", cut.Markup); + } + + [Fact] + public void StrokeWidth_Ok() + { + var cut = Context.RenderComponent(builder => builder.Add(a => a.StrokeWidth, 5)); + + Assert.Contains("stroke-width=\"5\"", cut.Markup); + + // 增加代码覆盖率 + //Width / 2 < StrokeWidth + cut.SetParametersAndRender(pb => + { + pb.Add(a => a.Width, 6); + pb.Add(a => a.StrokeWidth, 6); + }); + Assert.Equal(2, cut.Instance.StrokeWidth); + } + + [Fact] + public void Color_Ok() + { + var cut = Context.RenderComponent(builder => builder.Add(a => a.Color, Color.Success)); + + var element = cut.Find(".circle-success"); + + Assert.NotNull(element); + } + + [Fact] + public void ShowProgress_Ok() + { + var cut = Context.RenderComponent(builder => builder.Add(a => a.ShowProgress, false)); + + var element = cut.Find(".d-none"); + + Assert.NotNull(element); + } + + [Fact] + public void Value_ChildContent() + { + var cut = Context.RenderComponent(builder => builder.Add(a => a.ChildContent, s => + { + s.OpenElement(1, "div"); + s.AddContent(2, "I am cricle"); + s.CloseElement(); + })); + + Assert.Contains("I am cricle", cut.Markup); + } +}