37 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | /** | ||
|  |  * @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
 | ||
|  |  */ | ||
|  | 
 | ||
|  | describe('shadydom', () => { | ||
|  |   const div = document.createElement('div'); | ||
|  |   const text = document.createTextNode('text'); | ||
|  |   const span = document.createElement('span'); | ||
|  |   const fragment = document.createDocumentFragment(); | ||
|  |   document.body.appendChild(div); | ||
|  |   document.body.appendChild(text); | ||
|  |   document.body.appendChild(span); | ||
|  |   document.body.appendChild(fragment); | ||
|  |   const targets = [ | ||
|  |     {name: 'window', target: window}, {name: 'div', target: div}, {name: 'text', target: text}, | ||
|  |     {name: 'span', target: span}, {name: 'document', target: document}, | ||
|  |     {name: 'fragment', target: fragment} | ||
|  |   ]; | ||
|  |   targets.forEach((t: any) => { | ||
|  |     it(`test for prototype ${t.name}`, () => { | ||
|  |       const target = t.target; | ||
|  |       const zone = Zone.current.fork({name: 'zone'}); | ||
|  |       const logs: string[] = []; | ||
|  |       zone.run( | ||
|  |           () => { target.addEventListener('click', () => { logs.push(Zone.current.name); }); }); | ||
|  |       const event = document.createEvent('MouseEvent'); | ||
|  |       event.initEvent('click', true, true); | ||
|  |       target.dispatchEvent(event); | ||
|  |       expect(logs).toEqual(['zone']); | ||
|  |     }); | ||
|  |   }); | ||
|  | }); |