58 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			58 lines
		
	
	
		
			2.1 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
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import {Ng1Token} from '@angular/upgrade/src/angular_js';
							 | 
						||
| 
								 | 
							
								import {compileFactory, injectorFactory, parseFactory, rootScopeFactory, setTempInjectorRef} from '@angular/upgrade/src/aot/angular1_providers';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export function main() {
							 | 
						||
| 
								 | 
							
								  describe('upgrade angular1_providers', () => {
							 | 
						||
| 
								 | 
							
								    describe('compileFactory', () => {
							 | 
						||
| 
								 | 
							
								      it('should retrieve and return `$compile`', () => {
							 | 
						||
| 
								 | 
							
								        const services: {[key: string]: any} = {$compile: 'foo'};
							 | 
						||
| 
								 | 
							
								        const mockInjector = {get: (name: Ng1Token): any => services[name], has: () => true};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        expect(compileFactory(mockInjector)).toBe('foo');
							 | 
						||
| 
								 | 
							
								      });
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    describe('injectorFactory', () => {
							 | 
						||
| 
								 | 
							
								      it('should return the injector value that was previously set', () => {
							 | 
						||
| 
								 | 
							
								        const mockInjector = {get: () => {}, has: () => false};
							 | 
						||
| 
								 | 
							
								        setTempInjectorRef(mockInjector);
							 | 
						||
| 
								 | 
							
								        const injector = injectorFactory();
							 | 
						||
| 
								 | 
							
								        expect(injector).toBe(mockInjector);
							 | 
						||
| 
								 | 
							
								      });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								      it('should unset the injector after the first call (to prevent memory leaks)', () => {
							 | 
						||
| 
								 | 
							
								        const mockInjector = {get: () => {}, has: () => false};
							 | 
						||
| 
								 | 
							
								        setTempInjectorRef(mockInjector);
							 | 
						||
| 
								 | 
							
								        injectorFactory();
							 | 
						||
| 
								 | 
							
								        const injector = injectorFactory();
							 | 
						||
| 
								 | 
							
								        expect(injector).toBe(null);
							 | 
						||
| 
								 | 
							
								      });
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    describe('parseFactory', () => {
							 | 
						||
| 
								 | 
							
								      it('should retrieve and return `$parse`', () => {
							 | 
						||
| 
								 | 
							
								        const services: {[key: string]: any} = {$parse: 'bar'};
							 | 
						||
| 
								 | 
							
								        const mockInjector = {get: (name: Ng1Token): any => services[name], has: () => true};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        expect(parseFactory(mockInjector)).toBe('bar');
							 | 
						||
| 
								 | 
							
								      });
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    describe('rootScopeFactory', () => {
							 | 
						||
| 
								 | 
							
								      it('should retrieve and return `$rootScope`', () => {
							 | 
						||
| 
								 | 
							
								        const services: {[key: string]: any} = {$rootScope: 'baz'};
							 | 
						||
| 
								 | 
							
								        const mockInjector = {get: (name: Ng1Token): any => services[name], has: () => true};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        expect(rootScopeFactory(mockInjector)).toBe('baz');
							 | 
						||
| 
								 | 
							
								      });
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								}
							 |