@@ -13,7 +13,7 @@ describe("createRunner", () => {
1313 expect ( run . deps . customValue ) . toBe ( 42 ) ;
1414 } ) ;
1515
16- describe ( "listener registration (mocked) " , ( ) => {
16+ describe ( "event listeners " , ( ) => {
1717 const originalAddEventListener = globalThis . addEventListener ;
1818 const originalRemoveEventListener = globalThis . removeEventListener ;
1919
@@ -57,16 +57,13 @@ describe("createRunner", () => {
5757 addedListeners . get ( "unhandledrejection" ) ,
5858 ) ;
5959 } ) ;
60- } ) ;
6160
62- describe ( "error handling (real browser events)" , ( ) => {
63- test ( "catches and logs ErrorEvent" , async ( ) => {
61+ test ( "error handler logs ErrorEvent" , async ( ) => {
6462 const console = testCreateConsole ( ) ;
6563 await using _run = createRunner ( { console } ) ;
6664
67- globalThis . dispatchEvent (
68- new ErrorEvent ( "error" , { error : new Error ( "test error" ) } ) ,
69- ) ;
65+ const handler = addedListeners . get ( "error" ) ! ;
66+ handler ( new ErrorEvent ( "error" , { error : new Error ( "test error" ) } ) ) ;
7067
7168 const entries = console . getEntriesSnapshot ( ) ;
7269 expect ( entries ) . toHaveLength ( 1 ) ;
@@ -78,11 +75,12 @@ describe("createRunner", () => {
7875 } ) ;
7976 } ) ;
8077
81- test ( "catches and logs PromiseRejectionEvent" , async ( ) => {
78+ test ( "error handler logs PromiseRejectionEvent" , async ( ) => {
8279 const console = testCreateConsole ( ) ;
8380 await using _run = createRunner ( { console } ) ;
8481
85- globalThis . dispatchEvent (
82+ const handler = addedListeners . get ( "unhandledrejection" ) ! ;
83+ handler (
8684 new PromiseRejectionEvent ( "unhandledrejection" , {
8785 promise : Promise . resolve ( ) ,
8886 reason : new Error ( "test rejection" ) ,
@@ -98,36 +96,5 @@ describe("createRunner", () => {
9896 error : { message : "test rejection" } ,
9997 } ) ;
10098 } ) ;
101-
102- test ( "stops catching events after dispose" , async ( ) => {
103- const console = testCreateConsole ( ) ;
104-
105- // First verify events ARE caught before dispose
106- {
107- await using _run = createRunner ( { console } ) ;
108- globalThis . dispatchEvent (
109- new ErrorEvent ( "error" , { error : new Error ( "before dispose" ) } ) ,
110- ) ;
111- }
112- expect ( console . getEntriesSnapshot ( ) ) . toHaveLength ( 1 ) ;
113-
114- // Verify events are NOT caught after dispose
115- // Prevent vitest from treating dispatched error as unhandled
116- const suppress = ( e : Event ) => e . preventDefault ( ) ;
117- globalThis . addEventListener ( "error" , suppress ) ;
118-
119- const beforeCount = console . getEntriesSnapshot ( ) . length ;
120-
121- globalThis . dispatchEvent (
122- new ErrorEvent ( "error" , {
123- error : new Error ( "after dispose" ) ,
124- cancelable : true ,
125- } ) ,
126- ) ;
127-
128- globalThis . removeEventListener ( "error" , suppress ) ;
129-
130- expect ( console . getEntriesSnapshot ( ) ) . toHaveLength ( beforeCount ) ;
131- } ) ;
13299 } ) ;
133100} ) ;
0 commit comments