59 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
		
		
			
		
	
	
			59 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
| 
								 | 
							
								library angular2.test.transform.deferred_rewriter.all_tests;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import 'package:barback/barback.dart';
							 | 
						||
| 
								 | 
							
								import 'package:angular2/src/transform/deferred_rewriter/transformer.dart';
							 | 
						||
| 
								 | 
							
								import 'package:angular2/src/transform/common/annotation_matcher.dart';
							 | 
						||
| 
								 | 
							
								import 'package:angular2/src/transform/common/asset_reader.dart';
							 | 
						||
| 
								 | 
							
								import 'package:angular2/src/transform/common/logging.dart' as log;
							 | 
						||
| 
								 | 
							
								import 'package:code_transformers/messages/build_logger.dart';
							 | 
						||
| 
								 | 
							
								import 'package:dart_style/dart_style.dart';
							 | 
						||
| 
								 | 
							
								import 'package:guinness/guinness.dart';
							 | 
						||
| 
								 | 
							
								import 'package:path/path.dart' as path;
							 | 
						||
| 
								 | 
							
								import '../common/read_file.dart';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var formatter = new DartFormatter();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								main() {
							 | 
						||
| 
								 | 
							
								  allTests();
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void allTests() {
							 | 
						||
| 
								 | 
							
								  _testRewriteDeferredLibraries(
							 | 
						||
| 
								 | 
							
								      'should return null when no deferred libraries found.',
							 | 
						||
| 
								 | 
							
								      'no_deferred_libraries/index.dart');
							 | 
						||
| 
								 | 
							
								  _testRewriteDeferredLibraries(
							 | 
						||
| 
								 | 
							
								      'should return null when deferred libraries with no ng_deps.',
							 | 
						||
| 
								 | 
							
								      'no_ng_deps_libraries/index.dart');
							 | 
						||
| 
								 | 
							
								  _testRewriteDeferredLibraries(
							 | 
						||
| 
								 | 
							
								      'should rewrite deferred libraries with ng_deps.',
							 | 
						||
| 
								 | 
							
								      'simple_deferred_example/index.dart');
							 | 
						||
| 
								 | 
							
								  _testRewriteDeferredLibraries(
							 | 
						||
| 
								 | 
							
								      'should not rewrite deferred libraries without ng_deps.',
							 | 
						||
| 
								 | 
							
								      'deferred_example_no_ng_deps/index.dart');
							 | 
						||
| 
								 | 
							
								  _testRewriteDeferredLibraries(
							 | 
						||
| 
								 | 
							
								      'should rewrite deferred libraries with ng_deps leave other deferred library alone.',
							 | 
						||
| 
								 | 
							
								      'complex_deferred_example/index.dart');
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void _testRewriteDeferredLibraries(String name, String inputPath) {
							 | 
						||
| 
								 | 
							
								  it(name, () async {
							 | 
						||
| 
								 | 
							
								    var inputId = _assetIdForPath(inputPath);
							 | 
						||
| 
								 | 
							
								    var reader = new TestAssetReader();
							 | 
						||
| 
								 | 
							
								    var expectedPath = path.join(
							 | 
						||
| 
								 | 
							
								        path.dirname(inputPath), 'expected', path.basename(inputPath));
							 | 
						||
| 
								 | 
							
								    var expectedId = _assetIdForPath(expectedPath);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    var output = await rewriteDeferredLibraries(reader, inputId);
							 | 
						||
| 
								 | 
							
								    var input = await reader.readAsString(expectedId);
							 | 
						||
| 
								 | 
							
								    if (input == null) {
							 | 
						||
| 
								 | 
							
								      // Null input signals no output. Ensure that is true.
							 | 
						||
| 
								 | 
							
								      expect(output).toBeNull();
							 | 
						||
| 
								 | 
							
								    } else {
							 | 
						||
| 
								 | 
							
								      expect(formatter.format(output)).toEqual(formatter.format(input));
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  });
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								AssetId _assetIdForPath(String path) =>
							 | 
						||
| 
								 | 
							
								    new AssetId('angular2', 'test/transform/deferred_rewriter/$path');
							 |