@@ -1121,21 +1121,42 @@ describe('useAsyncData', () => {
11211121 it ( 'should work when AbortSignal.reason is unavailable (older browsers)' , async ( ) => {
11221122 vi . useFakeTimers ( )
11231123
1124+ const originalAbortSignalAny = AbortSignal . any
1125+
11241126 // Mock older AbortController without .reason property
1125- class OldAbortController {
1126- signal : any = {
1127- aborted : false ,
1128- addEventListener : vi . fn ( ) ,
1129- removeEventListener : vi . fn ( ) ,
1127+ class OldAbortSignal {
1128+ aborted = false
1129+ private listeners : Array < { event : string , callback : ( ) => void } > = [ ]
1130+
1131+ addEventListener ( event : string , callback : ( ) => void , _options ?: { once ?: boolean , signal ?: AbortSignal } ) {
1132+ this <
8000
span class=pl-kos>.listeners . push ( { event, callback } )
11301133 }
11311134
1132- abort ( ) {
1133- this . signal . aborted = true
1135+ removeEventListener ( event : string , callback : ( ) => void ) {
1136+ this . listeners = this . listeners . filter ( l => ! ( l . event === event && l . callback === callback ) )
1137+ }
1138+
1139+ dispatchAbort ( ) {
1140+ this . aborted = true
11341141 // No reason property in old browsers
1142+ for ( const listener of this . listeners . filter ( l => l . event === 'abort' ) ) {
1143+ listener . callback ( )
1144+ }
1145+ }
1146+ }
1147+
1148+ class OldAbortController {
1149+ signal = new OldAbortSignal ( )
1150+
1151+ abort ( ) {
1152+ this . signal . dispatchAbort ( )
11351153 }
11361154 }
11371155
11381156 vi . stubGlobal ( 'AbortController' , OldAbortController )
1157+ // Also remove AbortSignal.any to force polyfill usage
1158+ // @ts -expect-error - deliberately removing method
1159+ AbortSignal . any = undefined
11391160
11401161 const promiseFn = vi . fn ( ( ) => new Promise ( resolve => setTimeout ( ( ) => resolve ( 'test' ) , 1000 ) ) )
11411162
@@ -1147,6 +1168,7 @@ describe('useAsyncData', () => {
11471168
11481169 expect ( status . value ) . toBe ( 'idle' )
11491170
1171+ AbortSignal . any = originalAbortSignalAny
11501172 vi . unstubAllGlobals ( )
11511173 vi . useRealTimers ( )
11521174 } )
0 commit comments