1
1
describe ( 'tooltip directive' , function ( ) {
2
- var $rootScope , $compile , $document , $timeout ;
2
+ var $rootScope , $compile , $document , $timeout , body , fragment ;
3
3
4
4
beforeEach ( module ( 'ui.bootstrap.tooltip' ) ) ;
5
5
beforeEach ( module ( 'uib/template/tooltip/tooltip-popup.html' ) ) ;
@@ -10,6 +10,8 @@ describe('tooltip directive', function() {
10
10
$compile = _$compile_ ;
11
11
$document = _$document_ ;
12
12
$timeout = _$timeout_ ;
13
+
14
+ body = $document . find ( 'body' ) ;
13
15
} ) ) ;
14
16
15
17
beforeEach ( function ( ) {
@@ -39,12 +41,13 @@ describe('tooltip directive', function() {
39
41
40
42
afterEach ( function ( ) {
41
43
$document . off ( 'keypress' ) ;
44
+ fragment . remove ( ) ;
42
45
} ) ;
43
46
44
47
function compileTooltip ( ttipMarkup ) {
45
- var fragment = $compile ( '<div>' + ttipMarkup + '</div>' ) ( $rootScope ) ;
48
+ fragment = $compile ( '<div>' + ttipMarkup + '</div>' ) ( $rootScope ) ;
46
49
$rootScope . $digest ( ) ;
47
- return fragment ;
50
+ body . append ( fragment ) ;
48
51
}
49
52
50
53
function closeTooltip ( hostEl , triggerEvt , shouldNotFlush ) {
@@ -62,7 +65,7 @@ describe('tooltip directive', function() {
62
65
63
66
describe ( 'basic scenarios with default options' , function ( ) {
64
67
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>' ) ;
66
69
67
70
trigger ( fragment . find ( 'span' ) , 'mouseenter' ) ;
68
71
expect ( fragment ) . toHaveOpenTooltips ( ) ;
@@ -72,16 +75,17 @@ describe('tooltip directive', function() {
72
75
} ) ;
73
76
74
77
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>' ) ;
76
79
trigger ( fragment . find ( 'span' ) , 'mouseenter' ) ;
77
80
expect ( fragment ) . not . toHaveOpenTooltips ( ) ;
78
81
} ) ;
79
82
80
83
it ( 'should not show a tooltip when its content becomes empty' , function ( ) {
81
84
$rootScope . content = 'some text' ;
82
- var fragment = compileTooltip ( '<span uib-tooltip="{{ content }}"></span>' ) ;
85
+ compileTooltip ( '<span uib-tooltip="{{ content }}"></span>' ) ;
83
86
84
87
trigger ( fragment . find ( 'span' ) , 'mouseenter' ) ;
88
+ $timeout . flush ( 0 ) ;
85
89
expect ( fragment ) . toHaveOpenTooltips ( ) ;
86
90
87
91
$rootScope . content = '' ;
@@ -92,7 +96,7 @@ describe('tooltip directive', function() {
92
96
93
97
it ( 'should update tooltip when its content becomes empty' , function ( ) {
94
98
$rootScope . content = 'some text' ;
95
- var fragment = compileTooltip ( '<span uib-tooltip="{{ content }}"></span>' ) ;
99
+ compileTooltip ( '<span uib-tooltip="{{ content }}"></span>' ) ;
96
100
97
101
$rootScope . content = '' ;
98
102
$rootScope . $digest ( ) ;
@@ -119,7 +123,7 @@ describe('tooltip directive', function() {
119
123
describe ( key , function ( ) {
120
124
describe ( 'placement' , function ( ) {
121
125
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>' ) ;
123
127
trigger ( fragment . find ( 'span' ) , 'mouseenter' ) ;
124
128
125
129
var ttipElement = fragment . find ( 'div.tooltip' ) ;
@@ -133,7 +137,7 @@ describe('tooltip directive', function() {
133
137
134
138
describe ( 'class' , function ( ) {
135
139
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>' ) ;
137
141
trigger ( fragment . find ( 'span' ) , 'mouseenter' ) ;
138
142
139
143
var ttipElement = fragment . find ( 'div.tooltip' ) ;
@@ -149,7 +153,7 @@ describe('tooltip directive', function() {
149
153
} ) ;
150
154
151
155
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>' ) ;
153
157
154
158
trigger ( fragment . find ( 'span' ) , 'mouseenter' ) ;
155
159
expect ( fragment ) . toHaveOpenTooltips ( ) ;
@@ -169,7 +173,7 @@ describe('tooltip directive', function() {
169
173
} ) ;
170
174
171
175
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>' ) ;
173
177
174
178
trigger ( fragment . find ( 'span' ) , 'mouseenter' ) ;
175
179
trigger ( fragment . find ( 'span' ) , 'mouseenter' ) ;
@@ -179,7 +183,7 @@ describe('tooltip directive', function() {
179
183
} ) ;
180
184
181
185
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>' ) ;
183
187
184
188
trigger ( fragment . find ( 'button' ) , 'mouseenter' ) ;
185
189
expect ( fragment ) . toHaveOpenTooltips ( ) ;
0 commit comments