@@ -353,7 +353,7 @@ public void Menus_Ok()
353353 } ) ;
354354 var nav = cut . Services . GetRequiredService < FakeNavigationManager > ( ) ;
355355 nav . NavigateTo ( "/Binder" ) ;
356- cut . Contains ( "<div class= \" tabs-body-content \" > Binder</div> " ) ;
356+ cut . Contains ( "Binder" ) ;
357357
358358 var items = cut . Instance . Items ;
359359 Assert . Equal ( 2 , items . Count ( ) ) ;
@@ -542,10 +542,9 @@ public void IsOnlyRenderActiveTab_True()
542542 } ) ;
543543 Assert . Contains ( "Tab1-Content" , cut . Markup ) ;
544544 Assert . DoesNotContain ( "Tab2-Content" , cut . Markup ) ;
545- Assert . DoesNotContain ( "tabs-body-content" , cut . Markup ) ;
546545
547546 // 提高代码覆盖率
548- cut . InvokeAsync ( ( ) => cut . Instance . CloseOtherTabs ( ) ) ;
547+ cut . InvokeAsync ( cut . Instance . CloseOtherTabs ) ;
549548 }
550549
551550 [ Fact ]
@@ -942,6 +941,13 @@ public async Task FullScreen_Ok()
942941
943942 var button = cut . Find ( ".btn-fs" ) ;
944943 await cut . InvokeAsync ( ( ) => button . Click ( ) ) ;
944+
945+ var tab = cut . FindComponent < Tab > ( ) ;
946+ tab . SetParametersAndRender ( pb =>
947+ {
948+ pb . Add ( a => a . ShowFullScreen , false ) ;
949+ } ) ;
950+ cut . DoesNotContain ( "btn btn-fs" ) ;
945951 }
946952
947953 [ Fact ]
@@ -965,6 +971,57 @@ public void BeforeNavigatorTemplate_Ok()
965971 cut . Contains ( "after-navigator-template" ) ;
966972 }
967973
974+ [ Fact ]
975+ public async Task ShowToolbar_Ok ( )
976+ {
977+ var cut = Context . RenderComponent < BootstrapBlazorRoot > ( pb =>
978+ {
979+ pb . AddChildContent < Tab > ( pb =>
980+ {
981+ pb . Add ( a => a . ShowToolbar , false ) ;
982+ pb . AddChildContent < TabItem > ( pb =>
983+ {
984+ pb . Add ( a => a . ShowFullScreen , true ) ;
985+ pb . Add ( a => a . Text , "Text1" ) ;
986+ pb . Add ( a => a . ChildContent , builder => builder . AddContent ( 0 , "Test1" ) ) ;
987+ } ) ;
988+ } ) ;
989+ } ) ;
990+ cut . DoesNotContain ( "tabs-nav-toolbar" ) ;
991+
992+ var tab = cut . FindComponent < Tab > ( ) ;
993+ tab . SetParametersAndRender ( pb =>
994+ {
995+ pb . Add ( a => a . ShowToolbar , true ) ;
996+ } ) ;
997+ cut . Contains ( "tabs-nav-toolbar" ) ;
998+ cut . Contains ( "tabs-nav-toolbar-refresh" ) ;
999+ cut . Contains ( "tabs-nav-toolbar-fs" ) ;
1000+
1001+ // 点击刷新按钮
1002+ var button = cut . Find ( ".tabs-nav-toolbar-refresh > i" ) ;
1003+ await cut . InvokeAsync ( ( ) => button . Click ( ) ) ;
1004+
1005+ tab . SetParametersAndRender ( pb =>
1006+ {
1007+ pb . Add ( a => a . ShowRefreshToolbarButton , false ) ;
1008+ } ) ;
1009+ cut . DoesNotContain ( "tabs-nav-toolbar-refresh" ) ;
1010+
1011+ tab . SetParametersAndRender ( pb =>
1012+ {
1013+ pb . Add ( a => a . ShowFullscreenToolbarButton , false ) ;
1014+ } ) ;
1015+ cut . DoesNotContain ( "tabs-nav-toolbar-fs" ) ;
1016+
1017+ // 利用反射提高代码覆盖率
1018+ var type = Type . GetType ( "BootstrapBlazor.Components.TabItemExtensions, BootstrapBlazor" ) ;
1019+ Assert . NotNull ( type ) ;
1020+ var mi = type . GetMethod ( "Refresh" , BindingFlags . Static | BindingFlags . Public ) ;
1021+ Assert . NotNull ( mi ) ;
1022+ mi . Invoke ( null , [ null , null ] ) ;
1023+ }
1024+
9681025 class DisableTabItemButton : ComponentBase
9691026 {
9701027 [ CascadingParameter , NotNull ]
0 commit comments