53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | import {isBlank} from 'angular2/src/core/facade/lang'; | ||
|  | import {Pipes} from 'angular2/src/core/change_detection/pipes'; | ||
|  | import { | ||
|  |   ProtoChangeDetector, | ||
|  |   ChangeDispatcher, | ||
|  |   DirectiveIndex, | ||
|  |   BindingTarget | ||
|  | } from 'angular2/src/core/change_detection/change_detection'; | ||
|  | 
 | ||
|  | export class TestContext { | ||
|  |   eventLog: string[] = []; | ||
|  |   someProp: string; | ||
|  |   someProp2: string; | ||
|  | 
 | ||
|  |   onEvent(value: string) { this.eventLog.push(value); } | ||
|  | } | ||
|  | 
 | ||
|  | export class TestDirective { | ||
|  |   eventLog: string[] = []; | ||
|  |   dirProp: string; | ||
|  | 
 | ||
|  |   onEvent(value: string) { this.eventLog.push(value); } | ||
|  | } | ||
|  | 
 | ||
|  | export class TestDispatcher implements ChangeDispatcher { | ||
|  |   log: string[]; | ||
|  | 
 | ||
|  |   constructor(public directives: any[], public detectors: ProtoChangeDetector[]) { this.clear(); } | ||
|  | 
 | ||
|  |   getDirectiveFor(di: DirectiveIndex) { return this.directives[di.directiveIndex]; } | ||
|  | 
 | ||
|  |   getDetectorFor(di: DirectiveIndex) { return this.detectors[di.directiveIndex]; } | ||
|  | 
 | ||
|  |   clear() { this.log = []; } | ||
|  | 
 | ||
|  |   notifyOnBinding(target: BindingTarget, value) { | ||
|  |     this.log.push(`${target.mode}(${target.name})=${this._asString(value)}`); | ||
|  |   } | ||
|  | 
 | ||
|  |   logBindingUpdate(target, value) {} | ||
|  | 
 | ||
|  |   notifyAfterContentChecked() {} | ||
|  |   notifyAfterViewChecked() {} | ||
|  | 
 | ||
|  |   getDebugContext(a, b) { return null; } | ||
|  | 
 | ||
|  |   _asString(value) { return (isBlank(value) ? 'null' : value.toString()); } | ||
|  | } | ||
|  | 
 | ||
|  | export class TestPipes implements Pipes { | ||
|  |   get(type: string) { return null; } | ||
|  | } |