Add NamespacedJsonCompiler
This commit is contained in:
		
							
								
								
									
										38
									
								
								tests/compilers/namespaced-compiler.spec.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								tests/compilers/namespaced-compiler.spec.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| import { expect } from 'chai'; | ||||
|  | ||||
| import { TranslationCollection } from '../../src/utils/translation.collection'; | ||||
| import { NamespacedJsonCompiler } from '../../src/compilers/namespaced-json.compiler'; | ||||
|  | ||||
| describe('NamespacedJsonCompiler', () => { | ||||
|  | ||||
| 	let compiler: NamespacedJsonCompiler; | ||||
|  | ||||
| 	beforeEach(() => { | ||||
| 		compiler = new NamespacedJsonCompiler(); | ||||
| 	}); | ||||
|  | ||||
| 	it('should flatten keys on parse', () => { | ||||
| 		const contents = ` | ||||
| 			{ | ||||
| 				"NAMESPACE": { | ||||
| 					"KEY": { | ||||
| 						"FIRST_KEY": "", | ||||
| 						"SECOND_KEY": "VALUE" | ||||
| 					} | ||||
| 				} | ||||
| 			} | ||||
| 		`; | ||||
| 		const collection: TranslationCollection = compiler.parse(contents); | ||||
| 		expect(collection.values).to.deep.equal({'NAMESPACE.KEY.FIRST_KEY': '', 'NAMESPACE.KEY.SECOND_KEY': 'VALUE' }); | ||||
| 	}); | ||||
|  | ||||
| 	it('should unflatten keys on compile', () => { | ||||
| 		const collection = new TranslationCollection({ | ||||
| 			'NAMESPACE.KEY.FIRST_KEY': '', | ||||
| 			'NAMESPACE.KEY.SECOND_KEY': 'VALUE' | ||||
| 		}); | ||||
| 		const result: string = compiler.compile(collection); | ||||
| 		expect(result).to.equal('{\n\t"NAMESPACE": {\n\t\t"KEY": {\n\t\t\t"FIRST_KEY": "",\n\t\t\t"SECOND_KEY": "VALUE"\n\t\t}\n\t}\n}'); | ||||
| 	}); | ||||
|  | ||||
| }); | ||||
		Reference in New Issue
	
	Block a user