11describe ( 'tooltip directive' , function ( ) {
2- var $rootScope , $compile , $document , $timeout ;
2+ var $rootScope , $compile , $document , $timeout , body , fragment ;
33
44 beforeEach ( module ( 'ui.bootstrap.tooltip' ) ) ;
55 beforeEach ( module ( 'uib/template/tooltip/tooltip-popup.html' ) ) ;
@@ -10,6 +10,8 @@ describe('tooltip directive', function() {
1010 $compile = _$compile_ ;
1111 $document = _$document_ ;
1212 $timeout = _$timeout_ ;
13+
14+ body = $document . find ( 'body' ) ;
1315 } ) ) ;
1416
1517 beforeEach ( function ( ) {
@@ -39,12 +41,13 @@ describe('tooltip directive', function() {
3941
4042 afterEach ( function ( ) {
4143 $document . off ( 'keypress' ) ;
44+ fragment . remove ( ) ;
4245 } ) ;
4346
4447 function compileTooltip ( ttipMarkup ) {
45- var fragment = $compile ( '<div>' + ttipMarkup + '</div>' ) ( $rootScope ) ;
48+ fragment = $compile ( '<div>' + ttipMarkup + '</div>' ) ( $rootScope ) ;
4649 $rootScope . $digest ( ) ;
47- return fragment ;
50+ body . append ( fragment ) ;
4851 }
4952
5053 function closeTooltip ( hostEl , triggerEvt , shouldNotFlush ) {
@@ -62,7 +65,7 @@ describe('tooltip directive', function() {
6265
6366 describe ( 'basic scenarios with default options' , function ( ) {
6467 it ( 'shows default tooltip on mouse enter and closes on mouse leave' , function ( ) {
65- var fragment = compileTooltip ( '<span uib-tooltip="tooltip text">Trigger here</span>' ) ;
68+ compileTooltip ( '<span uib-tooltip="tooltip text">Trigger here</span>' ) ;
6669
6770 trigger ( fragment . find ( 'span' ) , 'mouseenter' ) ;
6871 expect ( fragment ) . toHaveOpenTooltips ( ) ;
@@ -72,16 +75,17 @@ describe('tooltip directive', function() {
7275 } ) ;
7376
7477 it ( 'should not show a tooltip when its content is empty' , function ( ) {
75- var fragment = compileTooltip ( '<span uib-tooltip=""></span>' ) ;
78+ compileTooltip ( '<span uib-tooltip=""></span>' ) ;
7679 trigger ( fragment . find ( 'span' ) , 'mouseenter' ) ;
7780 expect ( fragment ) . not . toHaveOpenTooltips ( ) ;
7881 } ) ;
7982
8083 it ( 'should not show a tooltip when its content becomes empty' , function ( ) {
8184 $rootScope . content = 'some text' ;
82- var fragment = compileTooltip ( '<span uib-tooltip="{{ content }}"></span>' ) ;
85+ compileTooltip ( '<span uib-tooltip="{{ content }}"></span>' ) ;
8386
8487 trigger ( fragment . find ( 'span' ) , 'mouseenter' ) ;
88+ $timeout . flush ( 0 ) ;
8589 expect ( fragment ) . toHaveOpenTooltips ( ) ;
8690
8791 $rootScope . content = '' ;
@@ -92,7 +96,7 @@ describe('tooltip directive', function() {
9296
9397 it ( 'should update tooltip when its content becomes empty' , function ( ) {
9498 $rootScope . content = 'some text' ;
95- var fragment = compileTooltip ( '<span uib-tooltip="{{ content }}"></span>' ) ;
99+ compileTooltip ( '<span uib-tooltip="{{ content }}"></span>' ) ;
96100
97101 $rootScope . content = '' ;
98102 $rootScope . $digest ( ) ;
@@ -119,7 +123,7 @@ describe('tooltip directive', function() {
119123 describe ( key , function ( ) {
120124 describe ( 'placement' , function ( ) {
121125 it ( 'can specify an alternative, valid placement' , function ( ) {
122- var fragment = compileTooltip ( '<span ' + html + ' tooltip-placement="left">Trigger here</span>' ) ;
126+ compileTooltip ( '<span ' + html + ' tooltip-placement="left">Trigger here</span>' ) ;
123127 trigger ( fragment . find ( 'span' ) , 'mouseenter' ) ;
124128
125129 var ttipElement = fragment . find ( 'div.tooltip' ) ;
@@ -133,7 +137,7 @@ describe('tooltip directive', function() {
133137
134138 describe ( 'class' , function ( ) {
135139 it ( 'can specify a custom class' , function ( ) {
136- var fragment = compileTooltip ( '<span ' + html + ' tooltip-class="custom">Trigger here</span>' ) ;
140+ compileTooltip ( '<span ' + html + ' tooltip-class="custom">Trigger here</span>' ) ;
137141 trigger ( fragment . find ( 'span' ) , 'mouseenter' ) ;
138142
139143 var ttipElement = fragment . find ( 'div.tooltip' ) ;
@@ -149,7 +153,7 @@ describe('tooltip directive', function() {
149153 } ) ;
150154
151155 it ( 'should show even after close trigger is called multiple times - issue #1847' , function ( ) {
152- var fragment = compileTooltip ( '<span uib-tooltip="tooltip text">Trigger here</span>' ) ;
156+ compileTooltip ( '<span uib-tooltip="tooltip text">Trigger here</span>' ) ;
153157
154158 trigger ( fragment . find ( 'span' ) , 'mouseenter' ) ;
155159 expect ( fragment ) . toHaveOpenTooltips ( ) ;
@@ -169,7 +173,7 @@ describe('tooltip directive', function() {
169173 } ) ;
170174
171175 it ( 'should hide even after show trigger is called multiple times' , function ( ) {
172- var fragment = compileTooltip ( '<span uib-tooltip="tooltip text" tooltip-popup-delay="1000">Trigger here</span>' ) ;
176+ compileTooltip ( '<span uib-tooltip="tooltip text" tooltip-popup-delay="1000">Trigger here</span>' ) ;
173177
174178 trigger ( fragment . find ( 'span' ) , 'mouseenter' ) ;
175179 trigger ( fragment . find ( 'span' ) , 'mouseenter' ) ;
@@ -179,7 +183,7 @@ describe('tooltip directive', function() {
179183 } ) ;
180184
181185 it ( 'should not show tooltips element is disabled (button) - issue #3167' , function ( ) {
182- var fragment = compileTooltip ( '<button uib-tooltip="cancel!" ng-disabled="disabled" ng-click="disabled = true">Cancel</button>' ) ;
186+ compileTooltip ( '<button uib-tooltip="cancel!" ng-disabled="disabled" ng-click="disabled = true">Cancel</button>' ) ;
183187
184188 trigger ( fragment . find ( 'button' ) , 'mouseenter' ) ;
185189 expect ( fragment ) . toHaveOpenTooltips ( ) ;
0 commit comments