| 
									
										
										
										
											2015-03-19 15:47:10 -07:00
										 |  |  | library angular2.benchmark.transform.directive_linker.simple; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import 'dart:async'; | 
					
						
							|  |  |  | import 'package:angular2/src/transform/common/options.dart'; | 
					
						
							|  |  |  | import 'package:angular2/src/transform/directive_linker/transformer.dart'; | 
					
						
							|  |  |  | import 'package:barback/barback.dart'; | 
					
						
							|  |  |  | import 'package:code_transformers/benchmarks.dart'; | 
					
						
							|  |  |  | import 'package:unittest/unittest.dart'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Future main() => runBenchmark(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | allTests() { | 
					
						
							|  |  |  |   test('Directive Linker Benchmark Runs', runBenchmark); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-07 10:36:04 -07:00
										 |  |  | Future<double> runBenchmark() async { | 
					
						
							| 
									
										
										
										
											2015-03-19 15:47:10 -07:00
										 |  |  |   var files = { | 
					
						
							|  |  |  |     new AssetId('a', 'a.ng_deps.dart'): aContents, | 
					
						
							|  |  |  |     new AssetId('a', 'b.ng_deps.dart'): bContents, | 
					
						
							|  |  |  |     new AssetId('a', 'c.ng_deps.dart'): cContents, | 
					
						
							|  |  |  |   }; | 
					
						
							| 
									
										
										
										
											2015-08-04 12:05:30 -07:00
										 |  |  |   return new TransformerBenchmark([ | 
					
						
							|  |  |  |     [new DirectiveLinker()] | 
					
						
							|  |  |  |   ], files).measure(); | 
					
						
							| 
									
										
										
										
											2015-03-19 15:47:10 -07:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const aContents = '''
 | 
					
						
							|  |  |  | library a.ng_deps.dart; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import 'package:angular2/src/core/application.dart'; | 
					
						
							| 
									
										
										
										
											2015-08-20 14:28:25 -07:00
										 |  |  | import 'package:angular2/src/core/reflection/reflection_capabilities.dart'; | 
					
						
							| 
									
										
										
										
											2015-03-19 15:47:10 -07:00
										 |  |  | import 'b.dart'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | bool _visited = false; | 
					
						
							|  |  |  | void initReflector(reflector) { | 
					
						
							|  |  |  |   if (_visited) return; | 
					
						
							|  |  |  |   _visited = true; | 
					
						
							|  |  |  | }''';
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const bContents = '''
 | 
					
						
							|  |  |  | library b.ng_deps.dart; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import 'b.dart'; | 
					
						
							| 
									
										
										
										
											2015-08-14 10:03:45 -07:00
										 |  |  | import 'package:angular2/src/core/metadata.dart'; | 
					
						
							| 
									
										
										
										
											2015-03-19 15:47:10 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | bool _visited = false; | 
					
						
							|  |  |  | void initReflector(reflector) { | 
					
						
							|  |  |  |   if (_visited) return; | 
					
						
							|  |  |  |   _visited = true; | 
					
						
							|  |  |  |   reflector | 
					
						
							| 
									
										
										
										
											2015-07-23 15:18:30 -07:00
										 |  |  |     ..registerType(DependencyComponent, new ReflectionInfo( | 
					
						
							|  |  |  |       const [const Component(selector: '[salad]')], | 
					
						
							|  |  |  |       const [], | 
					
						
							|  |  |  |       () => new DependencyComponent() | 
					
						
							|  |  |  |     )); | 
					
						
							| 
									
										
										
										
											2015-03-19 15:47:10 -07:00
										 |  |  | } | 
					
						
							|  |  |  | ''';
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const cContents = '''
 | 
					
						
							|  |  |  | library c.ng_deps.dart; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import 'c.dart'; | 
					
						
							| 
									
										
										
										
											2015-08-14 10:03:45 -07:00
										 |  |  | import 'package:angular2/src/core/metadata.dart'; | 
					
						
							| 
									
										
										
										
											2015-03-19 15:47:10 -07:00
										 |  |  | import 'b.dart' as dep; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | bool _visited = false; | 
					
						
							|  |  |  | void initReflector(reflector) { | 
					
						
							|  |  |  |   if (_visited) return; | 
					
						
							|  |  |  |   _visited = true; | 
					
						
							|  |  |  |   reflector | 
					
						
							| 
									
										
										
										
											2015-07-23 15:18:30 -07:00
										 |  |  |     ..registerType(MyComponent, new ReflectionInfo( | 
					
						
							|  |  |  |       const [ | 
					
						
							| 
									
										
										
										
											2015-03-19 15:47:10 -07:00
										 |  |  |         const Component( | 
					
						
							|  |  |  |             selector: '[soup]', services: const [dep.DependencyComponent]) | 
					
						
							| 
									
										
										
										
											2015-07-23 15:18:30 -07:00
										 |  |  |       ], | 
					
						
							|  |  |  |       const [], | 
					
						
							|  |  |  |       () => new MyComponent() | 
					
						
							|  |  |  |     )); | 
					
						
							| 
									
										
										
										
											2015-03-19 15:47:10 -07:00
										 |  |  | }''';
 |