@@ -279,6 +279,30 @@ describe('Dropdown', () => {
279
279
} )
280
280
} )
281
281
282
+ it ( 'should toggle a centered dropdown' , ( ) => {
283
+ return new Promise ( resolve => {
284
+ fixtureEl . innerHTML = [
285
+ '<div class="dropdown-center">' ,
286
+ ' <button class="btn dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</button>' ,
287
+ ' <div class="dropdown-menu">' ,
288
+ ' <a class="dropdown-item" href="#">Secondary link</a>' ,
289
+ ' </div>' ,
290
+ '</div>'
291
+ ] . join ( '' )
292
+
293
+ const btnDropdown = fixtureEl . querySelector ( '[data-bs-toggle="dropdown"]' )
294
+ const dropdown = new Dropdown ( btnDropdown )
295
+
296
+ btnDropdown . addEventListener ( 'shown.bs.dropdown' , ( ) => {
297
+ expect ( btnDropdown ) . toHaveClass ( 'show' )
298
+ expect ( btnDropdown . getAttribute ( 'aria-expanded' ) ) . toEqual ( 'true' )
299
+ resolve ( )
300
+ } )
301
+
302
+ dropdown . toggle ( )
303
+ } )
304
+ } )
305
+
282
306
it ( 'should toggle a dropup' , ( ) => {
283
307
return new Promise ( resolve => {
284
308
fixtureEl . innerHTML = [
@@ -304,6 +328,31 @@ describe('Dropdown', () => {
304
328
} )
305
329
} )
306
330
331
+ it ( 'should toggle a dropup centered' , ( ) => {
332
+ return new Promise ( resolve => {
333
+ fixtureEl . innerHTML = [
334
+ '<div class="dropup-center">' ,
335
+ ' <button class="btn dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</button>' ,
336
+ ' <div class="dropdown-menu">' ,
337
+ ' <a class="dropdown-item" href="#">Secondary link</a>' ,
338
+ ' </div>' ,
339
+ '</div>'
340
+ ] . join ( '' )
341
+
342
+ const btnDropdown = fixtureEl . querySelector ( '[data-bs-toggle="dropdown"]' )
343
+ const dropupEl = fixtureEl . querySelector ( '.dropup-center' )
344
+ const dropdown = new Dropdown ( btnDropdown )
345
+
346
+ dropupEl . addEventListener ( 'shown.bs.dropdown' , ( ) => {
347
+ expect ( btnDropdown ) . toHaveClass ( 'show' )
348
+ expect ( btnDropdown . getAttribute ( 'aria-expanded' ) ) . toEqual ( 'true' )
349
+ resolve ( )
350
+ } )
351
+
352
+ dropdown . toggle ( )
353
+ } )
354
+ } )
355
+
307
356
it ( 'should toggle a dropup at the right' , ( ) => {
308
357
return new Promise ( resolve => {
309
358
fixtureEl . innerHTML = [
0 commit comments