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; }
|
||
|
}
|