@@ -24,6 +24,12 @@ describe('tooltip', function() {
24
24
tooltipScope = elmScope . $$childTail ;
25
25
} ) ) ;
26
26
27
+ function trigger ( element , evt ) {
28
+ evt = new Event ( evt ) ;
29
+
30
+ element [ 0 ] . dispatchEvent ( evt ) ;
31
+ }
32
+
27
33
it ( 'should not be open initially' , inject ( function ( ) {
28
34
expect ( tooltipScope . isOpen ) . toBe ( false ) ;
29
35
@@ -33,7 +39,7 @@ describe('tooltip', function() {
33
39
} ) ) ;
34
40
35
41
it ( 'should open on mouseenter' , inject ( function ( ) {
36
- elm . trigger ( 'mouseenter' ) ;
42
+ trigger ( elm , 'mouseenter' ) ;
37
43
expect ( tooltipScope . isOpen ) . toBe ( true ) ;
38
44
39
45
// We can only test *that* the tooltip-popup element was created as the
@@ -42,8 +48,8 @@ describe('tooltip', function() {
42
48
} ) ) ;
43
49
44
50
it ( 'should close on mouseleave' , inject ( function ( ) {
45
- elm . trigger ( 'mouseenter' ) ;
46
- elm . trigger ( 'mouseleave' ) ;
51
+ trigger ( elm , 'mouseenter' ) ;
52
+ trigger ( elm , 'mouseleave' ) ;
47
53
expect ( tooltipScope . isOpen ) . toBe ( false ) ;
48
54
} ) ) ;
49
55
@@ -52,7 +58,7 @@ describe('tooltip', function() {
52
58
} ) ) ;
53
59
54
60
it ( 'should have default placement of "top"' , inject ( function ( ) {
55
- elm . trigger ( 'mouseenter' ) ;
61
+ trigger ( elm , 'mouseenter' ) ;
56
62
expect ( tooltipScope . placement ) . toBe ( 'top' ) ;
57
63
} ) ) ;
58
64
@@ -64,7 +70,7 @@ describe('tooltip', function() {
64
70
elmScope = elm . scope ( ) ;
65
71
tooltipScope = elmScope . $$childTail ;
66
72
67
- elm . trigger ( 'mouseenter' ) ;
73
+ trigger ( elm , 'mouseenter' ) ;
68
74
expect ( tooltipScope . placement ) . toBe ( 'bottom' ) ;
69
75
} ) ) ;
70
76
@@ -77,7 +83,7 @@ describe('tooltip', function() {
77
83
elmScope = elm . scope ( ) ;
78
84
tooltipScope = elmScope . $$childTail ;
79
85
80
- elm . trigger ( 'mouseenter' ) ;
86
+ trigger ( elm , 'mouseenter' ) ;
81
87
expect ( tooltipScope . placement ) . toBe ( 'bottom' ) ;
82
88
83
89
scope . place = 'right' ;
@@ -132,12 +138,12 @@ describe('tooltip', function() {
132
138
var tt_1 = angular . element ( elm . find ( 'li > span' ) [ 0 ] ) ;
133
139
var tt_2 = angular . element ( elm . find ( 'li > span' ) [ 1 ] ) ;
134
140
135
- tt_1 . trigger ( 'mouseenter' ) ;
136
- tt_1 . trigger ( 'mouseleave' ) ;
141
+ trigger ( tt_1 , 'mouseenter' ) ;
142
+ trigger ( tt_1 , 'mouseleave' ) ;
137
143
138
144
$timeout . flush ( ) ;
139
145
140
- tt_2 . trigger ( 'mouseenter' ) ;
146
+ trigger ( tt_2 , 'mouseenter' ) ;
141
147
142
148
expect ( tt_1 . text ( ) ) . toBe ( scope . items [ 0 ] . name ) ;
143
149
expect ( tt_2 . text ( ) ) . toBe ( scope . items [ 1 ] . name ) ;
@@ -146,7 +152,7 @@ describe('tooltip', function() {
146
152
expect ( tooltipScope . content ) . toBe ( scope . items [ 1 ] . tooltip ) ;
147
153
expect ( elm . find ( '.tooltip-inner' ) . text ( ) ) . toBe ( scope . items [ 1 ] . tooltip ) ;
148
154
149
- tt_2 . trigger ( 'mouseleave' ) ;
155
+ trigger ( tt_2 , 'mouseleave' ) ;
150
156
} ) ) ;
151
157
152
158
it ( 'should only have an isolate scope on the popup' , inject ( function ( $compile ) {
@@ -164,17 +170,17 @@ describe('tooltip', function() {
164
170
elm = elmBody . find ( 'span' ) ;
165
171
elmScope = elm . scope ( ) ;
166
172
167
- elm . trigger ( 'mouseenter' ) ;
173
+ trigger ( elm , 'mouseenter' ) ;
168
174
expect ( elm . attr ( 'alt' ) ) . toBe ( scope . alt ) ;
169
175
170
176
ttScope = angular . element ( elmBody . children ( ) [ 1 ] ) . isolateScope ( ) ;
171
177
expect ( ttScope . placement ) . toBe ( 'top' ) ;
172
178
expect ( ttScope . content ) . toBe ( scope . tooltipMsg ) ;
173
179
174
- elm . trigger ( 'mouseleave' ) ;
180
+ trigger ( elm , 'mouseleave' ) ;
175
181
176
182
//Isolate scope contents should be the same after hiding and showing again (issue 1191)
177
- elm . trigger ( 'mouseenter' ) ;
183
+ trigger ( elm , 'mouseenter' ) ;
178
184
179
185
ttScope = angular . element ( elmBody . children ( ) [ 1 ] ) . isolateScope ( ) ;
180
186
expect ( ttScope . placement ) . toBe ( 'top' ) ;
@@ -192,7 +198,7 @@ describe('tooltip', function() {
192
198
} ) ) ;
193
199
194
200
it ( 'should close the tooltip when its trigger element is destroyed' , inject ( function ( ) {
195
- elm . trigger ( 'mouseenter' ) ;
201
+ trigger ( elm , 'mouseenter' ) ;
196
202
expect ( tooltipScope . isOpen ) . toBe ( true ) ;
197
203
198
204
elm . remove ( ) ;
@@ -202,20 +208,20 @@ describe('tooltip', function() {
202
208
203
209
it ( 'issue 1191 - scope on the popup should always be child of correct element scope' , function ( ) {
204
210
var ttScope ;
205
- elm . trigger ( 'mouseenter' ) ;
211
+ trigger ( elm , 'mouseenter' ) ;
206
212
207
213
ttScope = angular . element ( elmBody . children ( ) [ 1 ] ) . scope ( ) ;
208
214
expect ( ttScope . $parent ) . toBe ( tooltipScope ) ;
209
215
210
- elm . trigger ( 'mouseleave' ) ;
216
+ trigger ( elm , 'mouseleave' ) ;
211
217
212
218
// After leaving and coming back, the scope's parent should be the same
213
- elm . trigger ( 'mouseenter' ) ;
219
+ trigger ( elm , 'mouseenter' ) ;
214
220
215
221
ttScope = angular . element ( elmBody . children ( ) [ 1 ] ) . scope ( ) ;
216
222
expect ( ttScope . $parent ) . toBe ( tooltipScope ) ;
217
223
218
- elm . trigger ( 'mouseleave' ) ;
224
+ trigger ( elm , 'mouseleave' ) ;
219
225
} ) ;
220
226
221
227
describe ( 'with specified enable expression' , function ( ) {
@@ -231,15 +237,15 @@ describe('tooltip', function() {
231
237
} ) ) ;
232
238
233
239
it ( 'should not open ' , inject ( function ( ) {
234
- elm . trigger ( 'mouseenter' ) ;
240
+ trigger ( elm , 'mouseenter' ) ;
235
241
expect ( tooltipScope . isOpen ) . toBeFalsy ( ) ;
236
242
expect ( elmBody . children ( ) . length ) . toBe ( 1 ) ;
237
243
} ) ) ;
238
244
239
245
it ( 'should open' , inject ( function ( ) {
240
246
scope . enable = true ;
241
247
scope . $digest ( ) ;
242
- elm . trigger ( 'mouseenter' ) ;
248
+ trigger ( elm , 'mouseenter' ) ;
243
249
expect ( tooltipScope . isOpen ) . toBeTruthy ( ) ;
244
250
expect ( elmBody . children ( ) . length ) . toBe ( 2 ) ;
245
251
} ) ) ;
@@ -259,31 +265,31 @@ describe('tooltip', function() {
259
265
} ) ) ;
260
266
261
267
it ( 'should open after timeout' , function ( ) {
262
- elm . trigger ( 'mouseenter' ) ;
268
+ trigger ( elm , 'mouseenter' ) ;
263
269
expect ( tooltipScope . isOpen ) . toBe ( false ) ;
264
270
265
271
$timeout . flush ( ) ;
266
272
expect ( tooltipScope . isOpen ) . toBe ( true ) ;
267
273
} ) ;
268
274
269
275
it ( 'should not open if mouseleave before timeout' , function ( ) {
270
- elm . trigger ( 'mouseenter' ) ;
276
+ trigger ( elm , 'mouseenter' ) ;
271
277
expect ( tooltipScope . isOpen ) . toBe ( false ) ;
272
278
273
- elm . trigger ( 'mouseleave' ) ;
279
+ trigger ( elm , 'mouseleave' ) ;
274
280
$timeout . flush ( ) ;
275
281
expect ( tooltipScope . isOpen ) . toBe ( false ) ;
276
282
} ) ;
277
283
278
284
it ( 'should use default popup delay if specified delay is not a number' , function ( ) {
279
- scope . delay = 'text1000' ;
285
+ scope . delay = 'text1000' ;
280
286
scope . $digest ( ) ;
281
- elm . trigger ( 'mouseenter' ) ;
287
+ trigger ( elm , 'mouseenter' ) ;
282
288
expect ( tooltipScope . isOpen ) . toBe ( true ) ;
283
289
} ) ;
284
290
285
291
it ( 'should not open if disabled is present' , function ( ) {
286
- elm . trigger ( 'mouseenter' ) ;
292
+ trigger ( elm , 'mouseenter' ) ;
287
293
expect ( tooltipScope . isOpen ) . toBe ( false ) ;
288
294
289
295
$timeout . flush ( 500 ) ;
@@ -296,7 +302,7 @@ describe('tooltip', function() {
296
302
} ) ;
297
303
298
304
it ( 'should open when not disabled after being disabled - issue #4204' , function ( ) {
299
- elm . trigger ( 'mouseenter' ) ;
305
+ trigger ( elm , 'mouseenter' ) ;
300
306
expect ( tooltipScope . isOpen ) . toBe ( false ) ;
301
307
302
308
$timeout . flush ( 500 ) ;
@@ -309,7 +315,7 @@ describe('tooltip', function() {
309
315
elmScope . disabled = false ;
310
316
elmScope . $digest ( ) ;
311
317
312
- elm . trigger ( 'mouseenter' ) ;
318
+ trigger ( elm , 'mouseenter' ) ;
313
319
$timeout . flush ( ) ;
314
320
315
321
expect ( tooltipScope . isOpen ) . toBe ( true ) ;
@@ -338,9 +344,9 @@ describe('tooltip', function() {
338
344
} ) ;
339
345
340
346
it ( 'should update the controller value' , function ( ) {
341
- elm . trigger ( 'mouseenter' ) ;
347
+ trigger ( elm , 'mouseenter' ) ;
342
348
expect ( elmScope . isOpen ) . toBe ( true ) ;
343
- elm . trigger ( 'mouseleave' ) ;
349
+ trigger ( elm , 'mouseleave' ) ;
344
350
expect ( elmScope . isOpen ) . toBe ( false ) ;
345
351
} ) ;
346
352
} ) ;
@@ -352,7 +358,7 @@ describe('tooltip', function() {
352
358
scope = $rootScope ;
353
359
} ) ) ;
354
360
355
- it ( 'should use it to show but set the hide trigger based on the map for mapped triggers' , inject ( function ( $compile ) {
361
+ it ( 'should use it to show but set the hide trigger based on the map for mapped triggers' , inject ( function ( $compile ) {
356
362
elmBody = angular . element (
357
363
'<div><input tooltip="Hello!" tooltip-trigger="focus" /></div>'
358
364
) ;
@@ -363,13 +369,13 @@ describe('tooltip', function() {
363
369
tooltipScope = elmScope . $$childTail ;
364
370
365
371
expect ( tooltipScope . isOpen ) . toBeFalsy ( ) ;
366
- elm . trigger ( 'focus' ) ;
372
+ trigger ( elm , 'focus' ) ;
367
373
expect ( tooltipScope . isOpen ) . toBeTruthy ( ) ;
368
- elm . trigger ( 'blur' ) ;
374
+ trigger ( elm , 'blur' ) ;
369
375
expect ( tooltipScope . isOpen ) . toBeFalsy ( ) ;
370
376
} ) ) ;
371
377
372
- it ( 'should use it as both the show and hide triggers for unmapped triggers' , inject ( function ( $compile ) {
378
+ it ( 'should use it as both the show and hide triggers for unmapped triggers' , inject ( function ( $compile ) {
373
379
elmBody = angular . element (
374
380
'<div><input tooltip="Hello!" tooltip-trigger="fakeTriggerAttr" /></div>'
375
381
) ;
@@ -380,9 +386,9 @@ describe('tooltip', function() {
380
386
tooltipScope = elmScope . $$childTail ;
381
387
382
388
expect ( tooltipScope . isOpen ) . toBeFalsy ( ) ;
383
- elm . trigger ( 'fakeTriggerAttr' ) ;
389
+ trigger ( elm , 'fakeTriggerAttr' ) ;
384
390
expect ( tooltipScope . isOpen ) . toBeTruthy ( ) ;
385
- elm . trigger ( 'fakeTriggerAttr' ) ;
391
+ trigger ( elm , 'fakeTriggerAttr' ) ;
386
392
expect ( tooltipScope . isOpen ) . toBeFalsy ( ) ;
387
393
} ) ) ;
388
394
@@ -410,7 +416,7 @@ describe('tooltip', function() {
410
416
expect ( tooltipScope2 . isOpen ) . toBeFalsy ( ) ;
411
417
412
418
// mouseenter trigger is still set
413
- elm2 . trigger ( 'mouseenter' ) ;
419
+ trigger ( elm2 , 'mouseenter' ) ;
414
420
expect ( tooltipScope2 . isOpen ) . toBeTruthy ( ) ;
415
421
} ) ) ;
416
422
@@ -424,15 +430,15 @@ describe('tooltip', function() {
424
430
elmScope = elm . scope ( ) ;
425
431
tooltipScope = elmScope . $$childTail ;
426
432
427
- expect ( tooltipScope . isOpen ) . toBeFalsy ( ) ;
428
- elm . trigger ( 'focus' ) ;
429
- expect ( tooltipScope . isOpen ) . toBeTruthy ( ) ;
430
- elm . trigger ( 'blur' ) ;
431
- expect ( tooltipScope . isOpen ) . toBeFalsy ( ) ;
432
- elm . trigger ( 'fakeTriggerAttr' ) ;
433
- expect ( tooltipScope . isOpen ) . toBeTruthy ( ) ;
434
- elm . trigger ( 'fakeTriggerAttr' ) ;
435
- expect ( tooltipScope . isOpen ) . toBeFalsy ( ) ;
433
+ expect ( tooltipScope . isOpen ) . toBeFalsy ( ) ;
434
+ trigger ( elm , 'focus' ) ;
435
+ expect ( tooltipScope . isOpen ) . toBeTruthy ( ) ;
436
+ trigger ( elm , 'blur' ) ;
437
+ expect ( tooltipScope . isOpen ) . toBeFalsy ( ) ;
438
+ trigger ( elm , 'fakeTriggerAttr' ) ;
439
+ expect ( tooltipScope . isOpen ) . toBeTruthy ( ) ;
440
+ trigger ( elm , 'fakeTriggerAttr' ) ;
441
+ expect ( tooltipScope . isOpen ) . toBeFalsy ( ) ;
436
442
} ) ) ;
437
443
438
444
it ( 'should not show when trigger is set to "none"' , inject ( function ( $compile ) {
@@ -474,7 +480,7 @@ describe('tooltip', function() {
474
480
tooltipScope = elmScope . $$childTail ;
475
481
476
482
var bodyLength = $body . children ( ) . length ;
477
- elm . trigger ( 'mouseenter' ) ;
483
+ trigger ( elm , 'mouseenter' ) ;
478
484
479
485
expect ( tooltipScope . isOpen ) . toBe ( true ) ;
480
486
expect ( elmBody . children ( ) . length ) . toBe ( 1 ) ;
@@ -505,7 +511,7 @@ describe('tooltip', function() {
505
511
506
512
elm = elmBody . find ( 'input' ) ;
507
513
elmScope = elm . scope ( ) ;
508
- elm . trigger ( 'fooTrigger' ) ;
514
+ trigger ( elm , 'fooTrigger' ) ;
509
515
tooltipScope = elmScope . $$childTail . $$childTail ;
510
516
} ) ) ;
511
517
0 commit comments