| 
									
										
										
										
											2016-10-04 20:39:20 -07:00
										 |  |  | /** | 
					
						
							|  |  |  |  * @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
 | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-20 13:19:34 -07:00
										 |  |  | /* | 
					
						
							|  |  |  |  * Helpers to keep tests DRY | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function componentTemplatePath(name) { | 
					
						
							|  |  |  |   return './components/' + dashCase(name) + '/' + dashCase(name) + '.html'; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function componentControllerName(name) { | 
					
						
							|  |  |  |   return name[0].toUpperCase() + name.substr(1) + 'Controller'; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function dashCase(str) { | 
					
						
							|  |  |  |   return str.replace(/([A-Z])/g, function ($1) { | 
					
						
							|  |  |  |     return '-' + $1.toLowerCase(); | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function provideHelpers(fn, preInject) { | 
					
						
							|  |  |  |   return function () { | 
					
						
							|  |  |  |     var elt, | 
					
						
							|  |  |  |         $compile, | 
					
						
							|  |  |  |         $rootScope, | 
					
						
							| 
									
										
										
										
											2016-02-17 07:47:49 +00:00
										 |  |  |         $rootRouter, | 
					
						
							| 
									
										
										
										
											2015-08-20 13:19:34 -07:00
										 |  |  |         $templateCache, | 
					
						
							|  |  |  |         $controllerProvider; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     module('ng'); | 
					
						
							|  |  |  |     module('ngNewRouter'); | 
					
						
							|  |  |  |     module(function(_$controllerProvider_) { | 
					
						
							|  |  |  |       $controllerProvider = _$controllerProvider_; | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-17 07:47:49 +00:00
										 |  |  |     inject(function(_$compile_, _$rootScope_, _$rootRouter_, _$templateCache_) { | 
					
						
							| 
									
										
										
										
											2015-08-20 13:19:34 -07:00
										 |  |  |       $compile = _$compile_; | 
					
						
							|  |  |  |       $rootScope = _$rootScope_; | 
					
						
							| 
									
										
										
										
											2016-02-17 07:47:49 +00:00
										 |  |  |       $rootRouter = _$rootRouter_; | 
					
						
							| 
									
										
										
										
											2015-08-20 13:19:34 -07:00
										 |  |  |       $templateCache = _$templateCache_; | 
					
						
							|  |  |  |     }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function registerComponent(name, template, config) { | 
					
						
							|  |  |  |       if (!template) { | 
					
						
							|  |  |  |         template = ''; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |       var ctrl; | 
					
						
							|  |  |  |       if (!config) { | 
					
						
							|  |  |  |         ctrl = function () {}; | 
					
						
							|  |  |  |       } else if (angular.isArray(config)) { | 
					
						
							|  |  |  |         ctrl = function () {}; | 
					
						
							|  |  |  |         ctrl.$routeConfig = config; | 
					
						
							|  |  |  |       } else if (typeof config === 'function') { | 
					
						
							|  |  |  |         ctrl = config; | 
					
						
							|  |  |  |       } else { | 
					
						
							|  |  |  |         ctrl = function () {}; | 
					
						
							|  |  |  |         ctrl.prototype = config; | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |       $controllerProvider.register(componentControllerName(name), ctrl); | 
					
						
							|  |  |  |       put(name, template); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function put (name, template) { | 
					
						
							|  |  |  |       $templateCache.put(componentTemplatePath(name), [200, template, {}]); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function compile(template) { | 
					
						
							|  |  |  |       var elt = $compile('<div>' + template + '</div>')($rootScope); | 
					
						
							|  |  |  |       $rootScope.$digest(); | 
					
						
							|  |  |  |       return elt; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     fn({ | 
					
						
							|  |  |  |       registerComponent: registerComponent, | 
					
						
							| 
									
										
										
										
											2016-02-17 07:47:49 +00:00
										 |  |  |       $rootRouter: $rootRouter, | 
					
						
							| 
									
										
										
										
											2015-08-20 13:19:34 -07:00
										 |  |  |       put: put, | 
					
						
							|  |  |  |       compile: compile | 
					
						
							| 
									
										
										
										
											2017-09-22 19:51:03 +02:00
										 |  |  |     }); | 
					
						
							|  |  |  |   }; | 
					
						
							| 
									
										
										
										
											2015-08-20 13:19:34 -07:00
										 |  |  | } |