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() {}
 | 
						|
}
 |