@@ -236,6 +236,43 @@ it('should not animate when initial value is set before load', async () => {
236236 expect ( firstAccordion . classList . contains ( 'accordion-expanding' ) ) . toEqual ( false ) ;
237237} ) ;
238238
239+ it ( 'should not animate when initial value is set after load' , async ( ) => {
240+ const page = await newSpecPage ( {
241+ components : [ Item , Accordion , AccordionGroup ] ,
242+ } ) ;
243+
244+ const accordionGroup = page . doc . createElement ( 'ion-accordion-group' ) ;
245+ accordionGroup . innerHTML = `
246+ <ion-accordion value="first">
247+ <ion-item slot="header">Label</ion-item>
248+ <div slot="content">Content</div>
249+ </ion-accordion>
250+ <ion-accordion value="second">
251+ <ion-item slot="header">Label</ion-item>
252+ <div slot="content">Content</div>
253+ </ion-accordion>
254+ ` ;
255+
256+ const details : AccordionGroupChangeEventDetail [ ] = [ ] ;
257+ accordionGroup . addEventListener ( 'ionValueChange' , ( event : CustomEvent < AccordionGroupChangeEventDetail > ) => {
258+ details . push ( event . detail ) ;
259+ } ) ;
260+
261+ page . body . appendChild ( accordionGroup ) ;
262+ await page . waitForChanges ( ) ;
263+
264+ accordionGroup . value = 'first' ;
265+ await page . waitForChanges ( ) ;
266+
267+ const firstDetail = details . find ( ( detail ) => detail . value === 'first' ) ;
268+ expect ( firstDetail ?. initial ) . toBe ( true ) ;
269+
270+ const firstAccordion = accordionGroup . querySelector ( 'ion-accordion[value="first"]' ) ! ;
271+
272+ expect ( firstAccordion . classList . contains ( 'accordion-expanded' ) ) . toEqual ( true ) ;
273+ expect ( firstAccordion . classList . contains ( 'accordion-expanding' ) ) . toEqual ( false ) ;
274+ } ) ;
275+
239276// Verifies fix for https://github.com/ionic-team/ionic-framework/issues/27047
240277it ( 'should not have animated class when animated="false"' , async ( ) => {
241278 const page = await newSpecPage ( {
0 commit comments