@@ -402,6 +402,25 @@ describe('menu', () => {
402402 fixture . detectChanges ( ) ;
403403 expect ( subs [ 1 ] . placement ) . toBe ( 'rightTop' ) ;
404404 } ) ;
405+ it ( 'should `nzMenuClassName` work' , fakeAsync ( ( ) => {
406+ fixture . detectChanges ( ) ;
407+ testComponent . open = true ;
408+ fixture . detectChanges ( ) ;
409+ expect ( ( overlayContainerElement . querySelector ( 'ul.submenu' ) as HTMLUListElement ) . classList ) . toContain (
410+ 'ant-menu-sub'
411+ ) ;
412+ } ) ) ;
413+ it ( 'should nested submenu `nzMenuClassName` work' , ( ) => {
414+ testComponent . open = true ;
415+ fixture . detectChanges ( ) ;
416+ const subs = testComponent . subs . toArray ( ) ;
417+ subs [ 1 ] . nzOpen = true ;
418+ subs [ 1 ] . nzSubmenuService . open$ . next ( true ) ;
419+ fixture . detectChanges ( ) ;
420+ expect ( ( overlayContainerElement . querySelector ( 'ul.nested-submenu' ) as HTMLUListElement ) . classList ) . toContain (
421+ 'ant-menu-sub'
422+ ) ;
423+ } ) ;
405424 } ) ;
406425 describe ( 'inline submenu' , ( ) => {
407426 let fixture : ComponentFixture < NzTestMenuInlineComponent > ;
@@ -423,6 +442,17 @@ describe('menu', () => {
423442 expect ( ul . style . height ) . not . toBe ( '0px' ) ;
424443 expect ( submenu . nativeElement . classList . contains ( 'ant-menu-submenu-open' ) ) . toBe ( true ) ;
425444 } ) ) ;
445+ it ( 'should `nzMenuClassName` work' , fakeAsync ( ( ) => {
446+ fixture . detectChanges ( ) ;
447+ expect ( submenu . nativeElement . querySelector ( '.ant-menu-sub' ) . className ) . toContain ( 'submenu' ) ;
448+ } ) ) ;
449+ it ( 'should `nzMenuClassName` multi class names work' , fakeAsync ( ( ) => {
450+ fixture . detectChanges ( ) ;
451+ testComponent . submenuClassName = 'submenu submenu-1' ;
452+ fixture . detectChanges ( ) ;
453+ expect ( submenu . nativeElement . querySelector ( '.ant-menu-sub' ) . className ) . toContain ( 'submenu' ) ;
454+ expect ( submenu . nativeElement . querySelector ( '.ant-menu-sub' ) . className ) . toContain ( 'submenu-1' ) ;
455+ } ) ) ;
426456 it ( 'should disabled work' , fakeAsync ( ( ) => {
427457 testComponent . disabled = true ;
428458 fixture . detectChanges ( ) ;
@@ -448,7 +478,7 @@ describe('menu', () => {
448478 selector : 'nz-test-menu-horizontal' ,
449479 template : `
450480 <ul nz-menu [nzMode]="'horizontal'">
451- <li nz-submenu [nzOpen]="open" [style.width.px]="width">
481+ <li nz-submenu nzMenuClassName="submenu" [nzOpen]="open" [style.width.px]="width">
452482 <span title><i nz-icon type="setting"></i> Navigation Three - Submenu</span>
453483 <ul>
454484 <li nz-menu-group>
@@ -463,7 +493,7 @@ describe('menu', () => {
463493 <ul>
464494 <li nz-menu-item>Option 3</li>
465495 <li nz-menu-item>Option 4</li>
466- <li nz-submenu [nzDisabled]="disabled">
496+ <li nz-submenu nzMenuClassName="nested-submenu" [nzDisabled]="disabled">
467497 <span title>Sub Menu</span>
468498 <ul>
469499 <li nz-menu-item #menuitem>Option 5</li>
@@ -497,7 +527,7 @@ export class NzTestMenuHorizontalComponent {
497527 selector : 'nz-test-menu-inline' ,
498528 template : `
499529 <ul nz-menu [nzMode]="'inline'" [nzInlineCollapsed]="collapse">
500- <li nz-submenu [nzDisabled]="disabled">
530+ <li nz-submenu [nzMenuClassName]="submenuClassName" [ nzDisabled]="disabled">
501531 <span title><i nz-icon type="mail"></i> Navigation One</span>
502532 <ul>
503533 <li nz-menu-item style="padding-left:0px;">Option 1</li>
@@ -511,6 +541,7 @@ export class NzTestMenuHorizontalComponent {
511541export class NzTestMenuInlineComponent {
512542 disabled = false ;
513543 collapse = false ;
544+ submenuClassName = 'submenu' ;
514545 @ViewChild ( NzSubMenuComponent ) subsmenu : NzSubMenuComponent ;
515546 @ViewChild ( 'menuitem' , { read : ElementRef } ) menuitem : ElementRef ;
516547}
0 commit comments