Fix naming, add tests #5
					 5 changed files with 68 additions and 2 deletions
				
			
		|  | @ -18,8 +18,8 @@ import {URIComponentDecoder} from './converter/uricomponent-decoder'; | ||||||
| import {URIComponentEncoder} from './converter/uricomponent-encoder'; | import {URIComponentEncoder} from './converter/uricomponent-encoder'; | ||||||
| import {URIDecoder} from './converter/uridecoder'; | import {URIDecoder} from './converter/uridecoder'; | ||||||
| import {URIEncoder} from './converter/uriencoder'; | import {URIEncoder} from './converter/uriencoder'; | ||||||
| import {UTF8Decoder} from './converter/utf8decoder'; | import {UTF8Decoder} from './converter/utf8-decoder'; | ||||||
| import {UTF8Encoder} from './converter/utf8encoder'; | import {UTF8Encoder} from './converter/utf8-encoder'; | ||||||
| 
 | 
 | ||||||
| @Injectable({ | @Injectable({ | ||||||
|   providedIn: 'root' |   providedIn: 'root' | ||||||
|  |  | ||||||
							
								
								
									
										33
									
								
								src/app/converter/utf8-decoder.spec.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								src/app/converter/utf8-decoder.spec.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,33 @@ | ||||||
|  | import {NativeLibraryWrapperService} from '../native-library-wrapper.service'; | ||||||
|  | import {UTF8Decoder} from './utf8-decoder'; | ||||||
|  | import createSpyObj = jasmine.createSpyObj; | ||||||
|  | import Spy = jasmine.Spy; | ||||||
|  | 
 | ||||||
|  | describe('UTF8Decoder', () => { | ||||||
|  |   let sut: UTF8Decoder; | ||||||
|  |   let nativeWrapperSpy: Partial<NativeLibraryWrapperService>; | ||||||
|  |   let decodeSpy: Spy; | ||||||
|  | 
 | ||||||
|  |   beforeEach(() => { | ||||||
|  |     nativeWrapperSpy = {utf8: createSpyObj(['decode'])}; | ||||||
|  |     decodeSpy = nativeWrapperSpy.utf8.decode as Spy; | ||||||
|  |     sut = new UTF8Decoder((nativeWrapperSpy as NativeLibraryWrapperService)); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('should create an instance', () => { | ||||||
|  |     expect(sut).toBeTruthy(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('should have the id "decodeutf8"', () => { | ||||||
|  |     expect(sut.getId()).toEqual('decodeutf8'); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('should call through to the native UTF-8 decoder', () => { | ||||||
|  |     const testInput = 'My input'; | ||||||
|  |     const expectedOutput = 'It worked'; | ||||||
|  |     decodeSpy.and.returnValue(expectedOutput); | ||||||
|  |     const result: string = sut.convert(testInput); | ||||||
|  |     expect(result).toEqual(expectedOutput); | ||||||
|  |     expect(decodeSpy).toHaveBeenCalledWith(testInput); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
							
								
								
									
										33
									
								
								src/app/converter/utf8-encoder.spec.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								src/app/converter/utf8-encoder.spec.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,33 @@ | ||||||
|  | import {NativeLibraryWrapperService} from '../native-library-wrapper.service'; | ||||||
|  | import {UTF8Encoder} from './utf8-encoder'; | ||||||
|  | import createSpyObj = jasmine.createSpyObj; | ||||||
|  | import Spy = jasmine.Spy; | ||||||
|  | 
 | ||||||
|  | describe('UTF8Encoder', () => { | ||||||
|  |   let sut: UTF8Encoder; | ||||||
|  |   let nativeWrapperSpy: Partial<NativeLibraryWrapperService>; | ||||||
|  |   let encodeSpy: Spy; | ||||||
|  | 
 | ||||||
|  |   beforeEach(() => { | ||||||
|  |     nativeWrapperSpy = {utf8: createSpyObj(['encode'])}; | ||||||
|  |     encodeSpy = nativeWrapperSpy.utf8.encode as Spy; | ||||||
|  |     sut = new UTF8Encoder(nativeWrapperSpy as NativeLibraryWrapperService); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('should create an instance', () => { | ||||||
|  |     expect(sut).toBeTruthy(); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('should have the id "encodeutf8"', () => { | ||||||
|  |     expect(sut.getId()).toEqual('encodeutf8'); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it('should call through to the native UTF-8 encoder', () => { | ||||||
|  |     const testInput = 'My input'; | ||||||
|  |     const expectedOutput = 'It worked'; | ||||||
|  |     encodeSpy.and.returnValue(expectedOutput); | ||||||
|  |     const result: string = sut.convert(testInput); | ||||||
|  |     expect(result).toEqual(expectedOutput); | ||||||
|  |     expect(encodeSpy).toHaveBeenCalledWith(testInput); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue