1- import  {  Inject ,  Optional ,  PLATFORM_ID  }  from  '@angular/core' ; 
2- import  {  TestBed ,  getTestBed  }  from  '@angular/core/testing' ; 
1+ import  {  TestBed  }  from  '@angular/core/testing' ; 
32import  {  DOCUMENT  }  from  '@angular/common' ; 
43
54import  {  of  }  from  'rxjs' ; 
65
76import  {  SvgLoader  }  from  './svg-loader' ; 
8- import  {  SvgIconRegistryService  }  from  './svg-icon-registry.service' ; 
7+ import  {  SERVER_URL ,   SvgIconRegistryService  }  from  './svg-icon-registry.service' ; 
98
109describe ( 'SvgIconRegistryService' ,  ( )  =>  { 
1110	let  service : SvgIconRegistryService ; 
@@ -18,75 +17,72 @@ describe('SvgIconRegistryService', () => {
1817	beforeEach ( ( )  =>  { 
1918		TestBed . configureTestingModule ( { 
2019			providers : [ 
21- 				{  provide : SvgLoader ,  userValue : mockSvgLoader  } , 
22- 				{  provide : PLATFORM_ID ,  useValue : 'browser'  } 
20+ 				{  provide : SvgLoader ,  useValue : mockSvgLoader  } , 
21+ 				{  provide : SERVER_URL ,  useValue : serverUrl  } , 
22+ 				SvgIconRegistryService 
2323			] 
2424		} ) ; 
2525
26+ 		service  =  TestBed . inject ( SvgIconRegistryService ) ; 
2627		document  =  TestBed . inject ( DOCUMENT ) ; 
2728
2829	} ) ; 
2930
3031	it  ( 'should add svg that does not exist' ,  ( )  =>  { 
31- 		service  =  new  SvgIconRegistryService ( mockSvgLoader ,  PLATFORM_ID ,  serverUrl ,  document ) ; 
3232		const  div  =  document . createElement ( 'DIV' ) ; 
3333		div . innerHTML  =  SVG ; 
3434		const  svg  =  div . querySelector ( 'svg' )  as  SVGElement ; 
3535
3636		service . addSvg ( 'svg' ,  SVG ) ; 
3737
38- 		service . getSvgByName ( 'svg' ) . subscribe ( data  =>  { 
38+ 		service . getSvgByName ( 'svg' ) ? .subscribe ( data  =>  { 
3939			expect ( data ) . toEqual ( svg ) ; 
4040		} ) ; 
4141
4242	} ) ; 
4343
4444	it  ( 'should load svg by url' ,  ( )  =>  { 
45- 		service  =  new  SvgIconRegistryService ( mockSvgLoader ,  PLATFORM_ID ,  serverUrl ,  document ) ; 
4645		const  div  =  document . createElement ( 'DIV' ) ; 
4746		div . innerHTML  =  SVG ; 
4847		const  svg  =  div . querySelector ( 'svg' )  as  SVGElement ; 
4948		mockSvgLoader . getSvg . and . returnValue ( of ( SVG ) ) ; 
5049
51- 		service . loadSvg ( 'http://svg' ) . subscribe ( data  =>  { 
50+ 		service . loadSvg ( 'http://svg' ) ? .subscribe ( data  =>  { 
5251			expect ( data ) . toEqual ( svg ) ; 
5352		} ) ; 
5453	} ) ; 
5554
5655	it  ( 'should load svg only once' ,  ( )  =>  { 
57- 		service  =  new  SvgIconRegistryService ( mockSvgLoader ,  PLATFORM_ID ,  serverUrl ,  document ) ; 
5856		mockSvgLoader . getSvg . and . returnValue ( of ( SVG ) ) ; 
5957		mockSvgLoader . getSvg . calls . reset ( ) ; 
6058
61- 		service . loadSvg ( 'svg' ) . subscribe ( data  =>  { } ) ; 
62- 		service . loadSvg ( 'svg' ) . subscribe ( data  =>  { } ) ; 
59+ 		service . loadSvg ( 'svg' ) ? .subscribe ( data  =>  { } ) ; 
60+ 		service . loadSvg ( 'svg' ) ? .subscribe ( data  =>  { } ) ; 
6361
6462		expect ( mockSvgLoader . getSvg ) . toHaveBeenCalledTimes ( 1 ) ; 
6563	} ) ; 
6664
6765	it  ( 'should load svg by url and assign name' ,  ( )  =>  { 
68- 		service  =  new  SvgIconRegistryService ( mockSvgLoader ,  PLATFORM_ID ,  serverUrl ,  document ) ; 
6966		const  div  =  document . createElement ( 'DIV' ) ; 
7067		div . innerHTML  =  SVG ; 
7168		const  svg  =  div . querySelector ( 'svg' )  as  SVGElement ; 
7269		mockSvgLoader . getSvg . and . returnValue ( of ( SVG ) ) ; 
7370
74- 		service . loadSvg ( 'svg' ,  'sample' ) . subscribe ( data  =>  { } ) ; 
71+ 		service . loadSvg ( 'svg' ,  'sample' ) ? .subscribe ( data  =>  { } ) ; 
7572
76- 		service . getSvgByName ( 'sample' ) . subscribe ( data  =>  { 
73+ 		service . getSvgByName ( serverUrl   +   'svg' ) ? .subscribe ( data  =>  { 
7774			expect ( data ) . toEqual ( svg ) ; 
7875		} ) ; 
7976	} ) ; 
8077
8178	it  ( 'should remove svg' ,  ( )  =>  { 
82- 		service  =  new  SvgIconRegistryService ( mockSvgLoader ,  PLATFORM_ID ,  serverUrl ,  document ) ; 
8379		service . addSvg ( 'svg' ,  SVG ) ; 
8480
8581		service . unloadSvg ( 'svg' ) ; 
8682
87- 		service . getSvgByName ( 'svg' ) . subscribe ( data   =>   { 
88- 		} ,   err  =>   { 
89- 			expect ( err ) . toBe ( `No svg with name 'svg' has been loaded` ) ; 
83+ 		service . getSvgByName ( 'svg' ) ? .subscribe ( { 
84+ 			 error :  ( err )  => 
85+ 				 expect ( err ) . toBe ( `No svg with name 'svg' has been loaded` ) 
9086		} ) ; 
9187	} ) ; 
9288
0 commit comments