| 
									
										
										
										
											2016-07-15 09:42:33 -07:00
										 |  |  | /** | 
					
						
							|  |  |  |  * @license | 
					
						
							|  |  |  |  * Copyright Google Inc. All Rights Reserved. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Use of this source code is governed by an MIT-style license that can be | 
					
						
							|  |  |  |  * found in the LICENSE file at https://angular.io/license
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import * as xml from '../../../src/i18n/serializers/xml_helper'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export function main(): void { | 
					
						
							| 
									
										
										
										
											2016-07-21 13:56:58 -07:00
										 |  |  |   describe('XML helper', () => { | 
					
						
							| 
									
										
										
										
											2016-07-15 09:42:33 -07:00
										 |  |  |     it('should serialize XML declaration', () => { | 
					
						
							|  |  |  |       expect(xml.serialize([new xml.Declaration({version: '1.0'})])) | 
					
						
							| 
									
										
										
										
											2016-08-12 21:26:03 -07:00
										 |  |  |           .toEqual('<?xml version="1.0" ?>'); | 
					
						
							| 
									
										
										
										
											2016-07-15 09:42:33 -07:00
										 |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it('should serialize text node', | 
					
						
							|  |  |  |        () => { expect(xml.serialize([new xml.Text('foo bar')])).toEqual('foo bar'); }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it('should escape text nodes', | 
					
						
							|  |  |  |        () => { expect(xml.serialize([new xml.Text('<>')])).toEqual('<>'); }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it('should serialize xml nodes without children', () => { | 
					
						
							|  |  |  |       expect(xml.serialize([new xml.Tag('el', {foo: 'bar'}, [])])).toEqual('<el foo="bar"/>'); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it('should serialize xml nodes with children', () => { | 
					
						
							|  |  |  |       expect(xml.serialize([ | 
					
						
							|  |  |  |         new xml.Tag('parent', {}, [new xml.Tag('child', {}, [new xml.Text('content')])]) | 
					
						
							|  |  |  |       ])).toEqual('<parent><child>content</child></parent>'); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it('should serialize node lists', () => { | 
					
						
							|  |  |  |       expect(xml.serialize([ | 
					
						
							|  |  |  |         new xml.Tag('el', {order: '0'}, []), | 
					
						
							|  |  |  |         new xml.Tag('el', {order: '1'}, []), | 
					
						
							|  |  |  |       ])).toEqual('<el order="0"/><el order="1"/>'); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     it('should escape attribute values', () => { | 
					
						
							|  |  |  |       expect(xml.serialize([new xml.Tag('el', {foo: '<">'}, [])])) | 
					
						
							|  |  |  |           .toEqual('<el foo="<">"/>'); | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | } |