@@ -10,30 +10,22 @@ import { TranslateLoaderMock } from '../shared/testing/translate-loader.mock';
1010import { RouterTestingModule } from '@angular/router/testing' ;
1111import { of as observableOf } from 'rxjs' ;
1212import { DebugElement } from '@angular/core' ;
13- import { BreadcrumbTooltipPipe } from './breadcrumb/breadcrumb-tooltip.pipe' ;
14- import { TruncateBreadcrumbItemCharactersPipe } from './breadcrumb/truncate-breadcrumb-item-characters.pipe' ;
15- import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap' ;
1613
1714describe ( 'BreadcrumbsComponent' , ( ) => {
1815 let component : BreadcrumbsComponent ;
1916 let fixture : ComponentFixture < BreadcrumbsComponent > ;
2017 let breadcrumbsServiceMock : BreadcrumbsService ;
21- let truncateTextPipe : TruncateBreadcrumbItemCharactersPipe ;
2218
2319 const expectBreadcrumb = ( listItem : DebugElement , text : string , url : string ) => {
2420 const anchor = listItem . query ( By . css ( 'a' ) ) ;
25- const truncatedText = truncateTextPipe . transform ( text ) ;
21+
2622 if ( url == null ) {
2723 expect ( anchor ) . toBeNull ( ) ;
28- // remove leading whitespace characters
29- const textWithoutSpaces = listItem . nativeElement . innerHTML . trimStart ( ) . replace ( / ^ \s + / , '' ) ;
30- expect ( textWithoutSpaces ) . toEqual ( truncatedText ) ;
24+ expect ( listItem . nativeElement . innerHTML ) . toEqual ( text ) ;
3125 } else {
3226 expect ( anchor ) . toBeInstanceOf ( DebugElement ) ;
3327 expect ( anchor . attributes . href ) . toEqual ( url ) ;
34- // remove leading whitespace characters
35- const textWithoutSpaces = anchor . nativeElement . innerHTML . trimStart ( ) . replace ( / ^ \s + / , '' ) ;
36- expect ( textWithoutSpaces ) . toEqual ( truncatedText ) ;
28+ expect ( anchor . nativeElement . innerHTML ) . toEqual ( text ) ;
3729 }
3830 } ;
3931
@@ -43,7 +35,6 @@ describe('BreadcrumbsComponent', () => {
4335 // NOTE: a root breadcrumb is automatically rendered
4436 new Breadcrumb ( 'bc 1' , 'example.com' ) ,
4537 new Breadcrumb ( 'bc 2' , 'another.com' ) ,
46- new Breadcrumb ( 'breadcrumb to be truncated' , 'truncated.com' ) ,
4738 ] ) ,
4839 showBreadcrumbs$ : observableOf ( true ) ,
4940 } as BreadcrumbsService ;
@@ -52,11 +43,8 @@ describe('BreadcrumbsComponent', () => {
5243 declarations : [
5344 BreadcrumbsComponent ,
5445 VarDirective ,
55- BreadcrumbTooltipPipe ,
56- TruncateBreadcrumbItemCharactersPipe ,
5746 ] ,
5847 imports : [
59- NgbTooltipModule ,
6048 RouterTestingModule . withRoutes ( [ ] ) ,
6149 TranslateModule . forRoot ( {
6250 loader : {
@@ -67,12 +55,10 @@ describe('BreadcrumbsComponent', () => {
6755 ] ,
6856 providers : [
6957 { provide : BreadcrumbsService , useValue : breadcrumbsServiceMock } ,
70- { provide : TruncateBreadcrumbItemCharactersPipe , useClass : TruncateBreadcrumbItemCharactersPipe } ,
7158 ] ,
7259 } ) . compileComponents ( ) ;
7360
7461 fixture = TestBed . createComponent ( BreadcrumbsComponent ) ;
75- truncateTextPipe = TestBed . inject ( TruncateBreadcrumbItemCharactersPipe ) ;
7662 component = fixture . componentInstance ;
7763 fixture . detectChanges ( ) ;
7864 } ) ) ;
@@ -81,35 +67,12 @@ describe('BreadcrumbsComponent', () => {
8167 expect ( component ) . toBeTruthy ( ) ;
8268 } ) ;
8369
84- it ( 'should render the breadcrumbs accordingly ' , ( ) => {
70+ it ( 'should render the breadcrumbs' , ( ) => {
8571 const breadcrumbs = fixture . debugElement . queryAll ( By . css ( '.breadcrumb-item' ) ) ;
86- expect ( breadcrumbs . length ) . toBe ( 4 ) ;
72+ expect ( breadcrumbs . length ) . toBe ( 3 ) ;
8773 expectBreadcrumb ( breadcrumbs [ 0 ] , 'home.breadcrumbs' , '/' ) ;
8874 expectBreadcrumb ( breadcrumbs [ 1 ] , 'bc 1' , '/example.com' ) ;
8975 expectBreadcrumb ( breadcrumbs [ 2 ] . query ( By . css ( '.text-truncate' ) ) , 'bc 2' , null ) ;
90- expectBreadcrumb ( breadcrumbs [ 3 ] . query ( By . css ( '.text-truncate' ) ) , 'breadcrumb...' , null ) ;
91- } ) ;
92-
93- it ( 'should show tooltip only for truncated text' , ( ) => {
94- const breadcrumbs = fixture . debugElement . queryAll ( By . css ( '.breadcrumb-item .text-truncate' ) ) ;
95- expect ( breadcrumbs . length ) . toBe ( 4 ) ;
96-
97- const truncatable = breadcrumbs [ 3 ] ;
98- truncatable . triggerEventHandler ( 'mouseenter' , null ) ;
99- fixture . detectChanges ( ) ;
100- let tooltip = truncatable . parent . query ( By . css ( 'div.tooltip-inner' ) ) ;
101- expect ( tooltip ) . not . toBeNull ( ) ;
102- expect ( tooltip . nativeElement . innerText ) . toBe ( 'breadcrumb to be truncated' ) ;
103- truncatable . triggerEventHandler ( 'mouseleave' , null ) ;
104- fixture . detectChanges ( ) ;
105-
106- const notTruncatable = breadcrumbs [ 2 ] ;
107- notTruncatable . triggerEventHandler ( 'mouseenter' , null ) ;
108- fixture . detectChanges ( ) ;
109- const tooltip2 = notTruncatable . parent . query ( By . css ( 'div.tooltip-inner' ) ) ;
110- expect ( tooltip2 ) . toBeNull ( ) ;
111- notTruncatable . triggerEventHandler ( 'mouseleave' , null ) ;
112- fixture . detectChanges ( ) ;
11376 } ) ;
11477
11578} ) ;
0 commit comments