@@ -2,6 +2,7 @@ import { expect } from '@vaadin/chai-plugins';
2
2
import { esc , fixtureSync , nextRender , nextUpdate , outsideClick } from '@vaadin/testing-helpers' ;
3
3
import './not-animated-styles.js' ;
4
4
import '../vaadin-popover.js' ;
5
+ import { mouseenter , mouseleave } from './helpers.js' ;
5
6
6
7
describe ( 'nested popover' , ( ) => {
7
8
let popover , target , secondPopover , secondTarget ;
@@ -122,4 +123,42 @@ describe('nested popover', () => {
122
123
expect ( popover . opened ) . to . be . true ;
123
124
} ) ;
124
125
} ) ;
126
+
127
+ describe ( 'hover' , ( ) => {
128
+ beforeEach ( async ( ) => {
129
+ popover . trigger = [ 'hover' ] ;
130
+ await nextUpdate ( popover ) ;
131
+ } ) ;
132
+
133
+ it ( 'should not close when mouse leaves the target if popover is not the last one' , async ( ) => {
134
+ mouseenter ( target ) ;
135
+ await nextRender ( ) ;
136
+
137
+ mouseleave ( target , secondTarget ) ;
138
+ secondTarget . click ( ) ;
139
+ await nextRender ( ) ;
140
+
141
+ mouseleave ( secondTarget , target ) ;
142
+
143
+ mouseenter ( target ) ;
144
+ mouseleave ( target ) ;
145
+ await nextUpdate ( popover ) ;
146
+
147
+ expect ( popover . opened ) . to . be . true ;
148
+ } ) ;
149
+
150
+ it ( 'should not close when mouse leaves the overlay if popover is not the last one' , async ( ) => {
151
+ mouseenter ( target ) ;
152
+ await nextRender ( ) ;
153
+
154
+ mouseleave ( target , secondTarget ) ;
155
+ secondTarget . click ( ) ;
156
+ await nextRender ( ) ;
157
+
158
+ mouseleave ( secondTarget ) ;
159
+ await nextUpdate ( popover ) ;
160
+
161
+ expect ( popover . opened ) . to . be . true ;
162
+ } ) ;
163
+ } ) ;
125
164
} ) ;
0 commit comments