Skip to content

Commit 35f3c29

Browse files
committed
test: 更新单元测试
1 parent 4a88d54 commit 35f3c29

File tree

2 files changed

+40
-2
lines changed

2 files changed

+40
-2
lines changed

src/BootstrapBlazor/Components/Tab/Tab.razor.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -695,7 +695,10 @@ public void AddTab(string url, string text, string? icon = null, bool active = t
695695

696696
private void AddTabItem(string url)
697697
{
698-
var parameters = new Dictionary<string, object?>();
698+
var parameters = new Dictionary<string, object?>
699+
{
700+
{ nameof(TabItem.Url), url }
701+
};
699702
var context = RouteTableFactory.Create(AdditionalAssemblies, url);
700703
if (context.Handler != null)
701704
{
@@ -720,7 +723,6 @@ private void AddTabItem(string url)
720723
var menu = GetMenuItem(url) ?? new MenuItem() { Text = url.Split("/").FirstOrDefault() };
721724
SetTabItemParameters(menu.Text, menu.Icon, true, true);
722725
}
723-
parameters.Add(nameof(TabItem.Url), url);
724726

725727
parameters.Add(nameof(TabItem.ChildContent), new RenderFragment(builder =>
726728
{

test/UnitTest/Components/LayoutTest.cs

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,42 @@ namespace UnitTest.Components;
1313

1414
public class LayoutTest : BootstrapBlazorTestBase
1515
{
16+
[Fact]
17+
public void TabStyle_Ok()
18+
{
19+
var cut = Context.RenderComponent<Layout>(pb =>
20+
{
21+
pb.Add(a => a.UseTabSet, true);
22+
pb.Add(a => a.TabStyle, TabStyle.Default);
23+
pb.Add(a => a.RefreshToolbarButtonIcon, "test-refresh-icon");
24+
pb.Add(a => a.FullscreenToolbarButtonIcon, "test-fullscreen-icon");
25+
pb.Add(a => a.OnToolbarRefreshCallback, () => Task.CompletedTask);
26+
pb.Add(a => a.RefreshToolbarTooltipText, "test-refresh-tooltip");
27+
pb.Add(a => a.FullscreenToolbarTooltipText, "test-fullscreen-tooltip");
28+
});
29+
Assert.DoesNotContain("tabs-chrome", cut.Markup);
30+
Assert.DoesNotContain("tabs-capsule", cut.Markup);
31+
32+
cut.SetParametersAndRender(pb => pb.Add(a => a.TabStyle, TabStyle.Capsule));
33+
Assert.Contains("tabs-capsule", cut.Markup);
34+
35+
cut.SetParametersAndRender(pb => pb.Add(a => a.TabStyle, TabStyle.Chrome));
36+
Assert.Contains("tabs-chrome", cut.Markup);
37+
38+
cut.SetParametersAndRender(pb => pb.Add(a => a.ShowToolbar, true));
39+
Assert.Contains("tabs-nav-toolbar-refresh", cut.Markup);
40+
Assert.Contains("tabs-nav-toolbar-fs", cut.Markup);
41+
42+
cut.SetParametersAndRender(pb => pb.Add(a => a.ShowRefreshToolbarButton, false));
43+
Assert.DoesNotContain("tabs-nav-toolbar-refresh", cut.Markup);
44+
45+
cut.SetParametersAndRender(pb => pb.Add(a => a.ShowFullscreenToolbarButton, false));
46+
Assert.DoesNotContain("tabs-nav-toolbar-fs", cut.Markup);
47+
48+
cut.SetParametersAndRender(pb => pb.Add(a => a.ToolbarTemplate, builder => builder.AddContent(0, "test-toolbar-template")));
49+
Assert.Contains("test-toolbar-template", cut.Markup);
50+
}
51+
1652
[Fact]
1753
public void ShowFooter_OK()
1854
{

0 commit comments

Comments
 (0)