@@ -664,29 +664,23 @@ describe('UNIT: API', function () {
664664
665665 describe ( 'hooks' , function ( ) {
666666
667- describe ( 'beforeCompile / created' , function ( ) {
667+ describe ( 'created' , function ( ) {
668668
669669 it ( 'should be called before compile' , function ( ) {
670670
671671 var called = false ,
672- Test = Vue . extend ( { beforeCompile : function ( options ) {
673- assert . ok ( options . ok )
674- called = true
675- } } ) ,
676- Test2 = Vue . extend ( { created : function ( options ) {
672+ Test = Vue . extend ( { created : function ( options ) {
677673 assert . ok ( options . ok )
678674 called = true
679675 } } )
680676 new Test ( { ok : true } )
681677 assert . ok ( called )
682- called = false
683- new Test2 ( { ok : true } )
684- assert . ok ( called )
678+
685679 } )
686680
687681 } )
688682
689- describe ( 'afterCompile / ready' , function ( ) {
683+ describe ( 'ready' , function ( ) {
690684
691685 it ( 'should be called after compile with options' , function ( ) {
692686 var called = false ,
@@ -695,69 +689,117 @@ describe('UNIT: API', function () {
695689 assert . notOk ( this . $compiler . init )
696690 called = true
697691 } ,
698- Test = Vue . extend ( { afterCompile : hook } ) ,
699- Test2 = Vue . extend ( { ready : hook } )
692+ Test = Vue . extend ( { ready : hook } )
700693 new Test ( { ok : true } )
701694 assert . ok ( called )
702- called = false
703- new Test2 ( { ok : true } )
704- assert . ok ( called )
705695 } )
706696
707697 } )
708698
709699 describe ( 'beforeDestroy' , function ( ) {
710700
711701 it ( 'should be called before a vm is destroyed' , function ( ) {
712- var called = false
702+ var called1 = false ,
703+ called2 = false
713704 var Test = Vue . extend ( {
714705 beforeDestroy : function ( ) {
715- called = true
706+ called1 = true
716707 }
717708 } )
718709 var test = new Test ( )
710+ test . $on ( 'hook:beforeDestroy' , function ( ) {
711+ called2 = true
712+ } )
719713 test . $destroy ( )
720- assert . ok ( called )
714+ assert . ok ( called1 )
715+ assert . ok ( called2 )
721716 } )
722717
723718 } )
724719
725720 describe ( 'afterDestroy' , function ( ) {
726721
727722 it ( 'should be called after a vm is destroyed' , function ( ) {
728- var called = false ,
723+ var called1 = false , called2 = false ,
729724 Test = Vue . extend ( {
730725 afterDestroy : function ( ) {
731726 assert . notOk ( this . $el . parentNode )
732- called = true
727+ called1 = true
733728 }
734729 } )
735730 var test = new Test ( )
736731 document . body . appendChild ( test . $el )
732+ test . $on ( 'hook:afterDestroy' , function ( ) {
733+ called2 = true
734+ } )
737735 test . $destroy ( )
738- assert . ok ( called )
736+ assert . ok ( called1 )
737+ assert . ok ( called2 )
738+ } )
739+
740+ } )
741+
742+ describe ( 'enteredView' , function ( ) {
743+
744+ it ( 'should be called after enter view' , function ( ) {
745+ var called1 = false , called2 = false ,
746+ test = new Vue ( {
747+ enteredView : function ( ) {
748+ assert . strictEqual ( this . $el . parentNode , document . getElementById ( 'test' ) )
749+ called1 = true
750+ }
751+ } )
752+ test . $on ( 'hook:enteredView' , function ( ) {
753+ called2 = true
754+ } )
755+ test . $appendTo ( '#test' )
756+ assert . ok ( called1 )
757+ assert . ok ( called2 )
758+ } )
759+
760+ } )
761+
762+ describe ( 'leftView' , function ( ) {
763+
764+ it ( 'should be called after left view' , function ( ) {
765+ var called1 = false , called2 = false ,
766+ test = new Vue ( {
767+ leftView : function ( ) {
768+ assert . strictEqual ( this . $el . parentNode , null )
769+ called1 = true
770+ }
771+ } )
772+ test . $on ( 'hook:leftView' , function ( ) {
773+ called2 = true
774+ } )
775+ document . getElementById ( 'test' ) . appendChild ( test . $el )
776+ test . $remove ( )
777+ assert . ok ( called1 )
778+ assert . ok ( called2 )
739779 } )
740780
741781 } )
742782
743783 describe ( 'Hook inheritance' , function ( ) {
744784
745785 it ( 'should merge hooks with parent Class' , function ( ) {
746- var parentCreated = false ,
747- childCreated = false
786+ var called = [ ]
748787 var Parent = Vue . extend ( {
749788 created : function ( ) {
750- parentCreated = true
789+ called . push ( 'parent' )
751790 }
752791 } )
753792 var Child = Parent . extend ( {
754793 created : function ( ) {
755- childCreated = true
794+ called . push ( 'child' )
795+ }
796+ } )
797+ new Child ( {
798+ created : function ( ) {
799+ called . push ( 'instance' )
756800 }
757801 } )
758- new Child ( )
759- assert . ok ( parentCreated )
760- assert . ok ( childCreated )
802+ assert . deepEqual ( called , [ 'parent' , 'child' , 'instance' ] )
761803 } )
762804
763805 } )
0 commit comments