Update the license headers throughout the repository to reference Google LLC rather than Google Inc, for the required license headers. PR Close #37205
		
			
				
	
	
		
			76 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
/**
 | 
						|
 * @license
 | 
						|
 * Copyright Google LLC 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 {ifEnvSupports} from '../test-util';
 | 
						|
declare const global: any;
 | 
						|
 | 
						|
 | 
						|
describe('MutationObserver', ifEnvSupports('MutationObserver', function() {
 | 
						|
           let elt: HTMLDivElement;
 | 
						|
           const testZone = Zone.current.fork({name: 'test'});
 | 
						|
 | 
						|
           beforeEach(function() {
 | 
						|
             elt = document.createElement('div');
 | 
						|
           });
 | 
						|
 | 
						|
           it('should run observers within the zone', function(done) {
 | 
						|
             let ob;
 | 
						|
 | 
						|
             testZone.run(function() {
 | 
						|
               ob = new MutationObserver(function() {
 | 
						|
                 expect(Zone.current).toBe(testZone);
 | 
						|
                 done();
 | 
						|
               });
 | 
						|
 | 
						|
               ob.observe(elt, {childList: true});
 | 
						|
             });
 | 
						|
 | 
						|
             elt.innerHTML = '<p>hey</p>';
 | 
						|
           });
 | 
						|
 | 
						|
           it('should only dequeue upon disconnect if something is observed', function() {
 | 
						|
             let ob: MutationObserver;
 | 
						|
             let flag = false;
 | 
						|
             const elt = document.createElement('div');
 | 
						|
             const childZone = Zone.current.fork({
 | 
						|
               name: 'test',
 | 
						|
               onInvokeTask: function() {
 | 
						|
                 flag = true;
 | 
						|
               }
 | 
						|
             });
 | 
						|
 | 
						|
             childZone.run(function() {
 | 
						|
               ob = new MutationObserver(function() {});
 | 
						|
             });
 | 
						|
 | 
						|
             ob!.disconnect();
 | 
						|
             expect(flag).toBe(false);
 | 
						|
           });
 | 
						|
         }));
 | 
						|
 | 
						|
describe('WebKitMutationObserver', ifEnvSupports('WebKitMutationObserver', function() {
 | 
						|
           const testZone = Zone.current.fork({name: 'test'});
 | 
						|
 | 
						|
           it('should run observers within the zone', function(done) {
 | 
						|
             let elt: HTMLDivElement;
 | 
						|
 | 
						|
             testZone.run(function() {
 | 
						|
               elt = document.createElement('div');
 | 
						|
 | 
						|
               const ob = new global['WebKitMutationObserver'](function() {
 | 
						|
                 expect(Zone.current).toBe(testZone);
 | 
						|
                 done();
 | 
						|
               });
 | 
						|
 | 
						|
               ob.observe(elt, {childList: true});
 | 
						|
             });
 | 
						|
 | 
						|
             elt!.innerHTML = '<p>hey</p>';
 | 
						|
           });
 | 
						|
         }));
 |