149 lines
4.6 KiB
Dart
149 lines
4.6 KiB
Dart
library angular2.test.core.compiler.directive_lifecycle_spec;
|
|
|
|
import 'package:angular2/testing_internal.dart';
|
|
import 'package:angular2/src/compiler/directive_lifecycle_reflector.dart';
|
|
import 'package:angular2/src/core/metadata/lifecycle_hooks.dart';
|
|
|
|
main() {
|
|
describe('Create DirectiveMetadata', () {
|
|
describe('lifecycle', () {
|
|
describe("ngOnChanges", () {
|
|
it("should be true when the directive has the ngOnChanges method", () {
|
|
expect(hasLifecycleHook(
|
|
LifecycleHooks.OnChanges, DirectiveImplementingOnChanges))
|
|
.toBe(true);
|
|
});
|
|
|
|
it("should be false otherwise", () {
|
|
expect(hasLifecycleHook(LifecycleHooks.OnChanges, DirectiveNoHooks))
|
|
.toBe(false);
|
|
});
|
|
});
|
|
|
|
describe("ngOnDestroy", () {
|
|
it("should be true when the directive has the ngOnDestroy method", () {
|
|
expect(hasLifecycleHook(
|
|
LifecycleHooks.OnDestroy, DirectiveImplementingOnDestroy))
|
|
.toBe(true);
|
|
});
|
|
|
|
it("should be false otherwise", () {
|
|
expect(hasLifecycleHook(LifecycleHooks.OnDestroy, DirectiveNoHooks))
|
|
.toBe(false);
|
|
});
|
|
});
|
|
|
|
describe("ngOnInit", () {
|
|
it("should be true when the directive has the ngOnInit method", () {
|
|
expect(hasLifecycleHook(
|
|
LifecycleHooks.OnInit, DirectiveImplementingOnInit)).toBe(true);
|
|
});
|
|
|
|
it("should be false otherwise", () {
|
|
expect(hasLifecycleHook(LifecycleHooks.OnInit, DirectiveNoHooks))
|
|
.toBe(false);
|
|
});
|
|
});
|
|
|
|
describe("ngDoCheck", () {
|
|
it("should be true when the directive has the ngDoCheck method", () {
|
|
expect(hasLifecycleHook(
|
|
LifecycleHooks.DoCheck, DirectiveImplementingOnCheck)).toBe(true);
|
|
});
|
|
|
|
it("should be false otherwise", () {
|
|
expect(hasLifecycleHook(LifecycleHooks.DoCheck, DirectiveNoHooks))
|
|
.toBe(false);
|
|
});
|
|
});
|
|
|
|
describe("ngAfterContentInit", () {
|
|
it("should be true when the directive has the ngAfterContentInit method",
|
|
() {
|
|
expect(hasLifecycleHook(LifecycleHooks.AfterContentInit,
|
|
DirectiveImplementingAfterContentInit)).toBe(true);
|
|
});
|
|
|
|
it("should be false otherwise", () {
|
|
expect(hasLifecycleHook(
|
|
LifecycleHooks.AfterContentInit, DirectiveNoHooks)).toBe(false);
|
|
});
|
|
});
|
|
|
|
describe("ngAfterContentChecked", () {
|
|
it("should be true when the directive has the ngAfterContentChecked method",
|
|
() {
|
|
expect(hasLifecycleHook(LifecycleHooks.AfterContentChecked,
|
|
DirectiveImplementingAfterContentChecked)).toBe(true);
|
|
});
|
|
|
|
it("should be false otherwise", () {
|
|
expect(hasLifecycleHook(
|
|
LifecycleHooks.AfterContentChecked, DirectiveNoHooks))
|
|
.toBe(false);
|
|
});
|
|
});
|
|
|
|
describe("ngAfterViewInit", () {
|
|
it("should be true when the directive has the ngAfterViewInit method",
|
|
() {
|
|
expect(hasLifecycleHook(LifecycleHooks.AfterViewInit,
|
|
DirectiveImplementingAfterViewInit)).toBe(true);
|
|
});
|
|
|
|
it("should be false otherwise", () {
|
|
expect(hasLifecycleHook(
|
|
LifecycleHooks.AfterViewInit, DirectiveNoHooks)).toBe(false);
|
|
});
|
|
});
|
|
|
|
describe("ngAfterViewChecked", () {
|
|
it("should be true when the directive has the ngAfterViewChecked method",
|
|
() {
|
|
expect(hasLifecycleHook(LifecycleHooks.AfterViewChecked,
|
|
DirectiveImplementingAfterViewChecked)).toBe(true);
|
|
});
|
|
|
|
it("should be false otherwise", () {
|
|
expect(hasLifecycleHook(
|
|
LifecycleHooks.AfterViewChecked, DirectiveNoHooks)).toBe(false);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
}
|
|
|
|
class DirectiveNoHooks {}
|
|
|
|
class DirectiveImplementingOnChanges implements OnChanges {
|
|
ngOnChanges(_) {}
|
|
}
|
|
|
|
class DirectiveImplementingOnCheck implements DoCheck {
|
|
ngDoCheck() {}
|
|
}
|
|
|
|
class DirectiveImplementingOnInit implements OnInit {
|
|
ngOnInit() {}
|
|
}
|
|
|
|
class DirectiveImplementingOnDestroy implements OnDestroy {
|
|
ngOnDestroy() {}
|
|
}
|
|
|
|
class DirectiveImplementingAfterContentInit implements AfterContentInit {
|
|
ngAfterContentInit() {}
|
|
}
|
|
|
|
class DirectiveImplementingAfterContentChecked implements AfterContentChecked {
|
|
ngAfterContentChecked() {}
|
|
}
|
|
|
|
class DirectiveImplementingAfterViewInit implements AfterViewInit {
|
|
ngAfterViewInit() {}
|
|
}
|
|
|
|
class DirectiveImplementingAfterViewChecked implements AfterViewChecked {
|
|
ngAfterViewChecked() {}
|
|
}
|