@@ -2,6 +2,7 @@ import { expect } from '@vaadin/chai-plugins';
22import { esc , fixtureSync , nextRender , nextUpdate , outsideClick } from '@vaadin/testing-helpers' ;
33import './not-animated-styles.js' ;
44import '../vaadin-popover.js' ;
5+ import { mouseenter , mouseleave } from './helpers.js' ;
56
67describe ( 'nested popover' , ( ) => {
78 let popover , target , secondPopover , secondTarget ;
@@ -122,4 +123,42 @@ describe('nested popover', () => {
122123 expect ( popover . opened ) . to . be . true ;
123124 } ) ;
124125 } ) ;
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+ } ) ;
125164} ) ;
0 commit comments