@@ -20,13 +20,15 @@ describe('Trigger.Unique', () => {
20
20
action = { [ 'hover' ] }
21
21
popup = { < strong className = "x-content" > tooltip1</ strong > }
22
22
unique
23
+ mouseLeaveDelay = { 0.1 }
23
24
>
24
25
< div className = "target1" > hover1</ div >
25
26
</ Trigger >
26
27
< Trigger
27
28
action = { [ 'hover' ] }
28
29
popup = { < strong className = "x-content" > tooltip2</ strong > }
29
30
unique
31
+ mouseLeaveDelay = { 0.1 }
30
32
>
31
33
< div className = "target2" > hover2</ div >
32
34
</ Trigger >
@@ -42,16 +44,35 @@ describe('Trigger.Unique', () => {
42
44
expect ( document . querySelector ( '.x-content' ) . textContent ) . toBe ( 'tooltip1' ) ;
43
45
expect ( document . querySelector ( '.rc-trigger-popup' ) ) . toBeTruthy ( ) ;
44
46
47
+ // Check that popup and float bg are visible
48
+ expect ( document . querySelector ( '.rc-trigger-popup' ) . className ) . not . toContain (
49
+ '-hidden' ,
50
+ ) ;
51
+ expect (
52
+ document . querySelector ( '.rc-trigger-popup-float-bg' ) . className ,
53
+ ) . not . toContain ( '-hidden' ) ;
54
+
45
55
// Move from first to second trigger - popup should not hide, but content should change
46
56
fireEvent . mouseLeave ( container . querySelector ( '.target1' ) ) ;
47
57
fireEvent . mouseEnter ( container . querySelector ( '.target2' ) ) ;
58
+
59
+ // Wait a short time (less than leave delay) to ensure no close animation is triggered
48
60
await awaitFakeTimer ( ) ;
49
61
50
- // Popup should still be visible with new content
62
+ // Popup should still be visible with new content (no close animation)
51
63
expect ( document . querySelector ( '.x-content' ) . textContent ) . toBe ( 'tooltip2' ) ;
52
64
expect ( document . querySelector ( '.rc-trigger-popup' ) ) . toBeTruthy ( ) ;
65
+ expect ( document . querySelector ( '.rc-trigger-popup' ) . className ) . not . toContain (
66
+ '-hidden' ,
67
+ ) ;
68
+ expect (
69
+ document . querySelector ( '.rc-trigger-popup-float-bg' ) . className ,
70
+ ) . not . toContain ( '-hidden' ) ;
53
71
54
72
// There should only be one popup element
55
73
expect ( document . querySelectorAll ( '.rc-trigger-popup' ) . length ) . toBe ( 1 ) ;
74
+ expect ( document . querySelectorAll ( '.rc-trigger-popup-float-bg' ) . length ) . toBe (
75
+ 1 ,
76
+ ) ;
56
77
} ) ;
57
78
} ) ;
0 commit comments