Currently, core depends on DomRenderer, which depends on the browser. This means that if you depend on angular2/core, you will always pull in the browser dom adapter and the browser render, regardless if you need them or not. This PR moves the browser dom adapter and the browser renderer out of core. BREAKING CHANGE If you import browser adapter or dom renderer directly (not via angular2/core), you will have to change the import path.
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import {
 | |
|   AsyncTestCompleter,
 | |
|   beforeEach,
 | |
|   ddescribe,
 | |
|   describe,
 | |
|   expect,
 | |
|   iit,
 | |
|   inject,
 | |
|   it,
 | |
|   xit
 | |
| } from 'angular2/testing_internal';
 | |
| 
 | |
| import {XHRImpl} from 'angular2/src/platform/browser/xhr_impl';
 | |
| import {PromiseWrapper} from 'angular2/src/facade/async';
 | |
| 
 | |
| export function main() {
 | |
|   describe('XHRImpl', () => {
 | |
|     var xhr: XHRImpl;
 | |
|     var url200 = '/base/modules/angular2/test/platform/browser/static_assets/200.html';
 | |
|     var url404 = '/base/modules/angular2/test/platform/browser/static_assets/404.html';
 | |
| 
 | |
|     beforeEach(() => { xhr = new XHRImpl(); });
 | |
| 
 | |
|     it('should resolve the Promise with the file content on success',
 | |
|        inject([AsyncTestCompleter], (async) => {
 | |
|          xhr.get(url200).then((text) => {
 | |
|            expect(text.trim()).toEqual('<p>hey</p>');
 | |
|            async.done();
 | |
|          });
 | |
|        }), 10000);
 | |
| 
 | |
|     it('should reject the Promise on failure', inject([AsyncTestCompleter], (async) => {
 | |
|          PromiseWrapper.catchError(xhr.get(url404), (e) => {
 | |
|            expect(e).toEqual(`Failed to load ${url404}`);
 | |
|            async.done();
 | |
|            return null;
 | |
|          });
 | |
|        }), 10000);
 | |
|   });
 | |
| }
 |