| 
									
										
										
										
											2015-03-06 11:10:14 -08:00
										 |  |  | library angular2.test.transform.common.read_file; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-12 13:31:32 -07:00
										 |  |  | import 'dart:async'; | 
					
						
							| 
									
										
										
										
											2015-04-13 16:54:09 -07:00
										 |  |  | import 'dart:convert'; | 
					
						
							| 
									
										
										
										
											2015-03-06 11:10:14 -08:00
										 |  |  | import 'dart:io'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-12 13:31:32 -07:00
										 |  |  | import 'package:angular2/src/transform/common/asset_reader.dart'; | 
					
						
							|  |  |  | import 'package:barback/barback.dart'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-06 11:10:14 -08:00
										 |  |  | /// Smooths over differences in CWD between IDEs and running tests in Travis.
 | 
					
						
							|  |  |  | String readFile(String path) { | 
					
						
							|  |  |  |   for (var myPath in [path, 'test/transform/${path}']) { | 
					
						
							|  |  |  |     var file = new File(myPath); | 
					
						
							|  |  |  |     if (file.existsSync()) { | 
					
						
							|  |  |  |       return file.readAsStringSync(); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   return null; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2015-03-12 13:31:32 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | class TestAssetReader implements AssetReader { | 
					
						
							|  |  |  |   Future<String> readAsString(AssetId id, {Encoding encoding}) => | 
					
						
							|  |  |  |       new Future.value(readFile(id.path)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   Future<bool> hasInput(AssetId id) { | 
					
						
							|  |  |  |     var exists = false; | 
					
						
							|  |  |  |     for (var myPath in [id.path, 'test/transform/${id.path}']) { | 
					
						
							|  |  |  |       var file = new File(myPath); | 
					
						
							|  |  |  |       exists = exists || file.existsSync(); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     return new Future.value(exists); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } |