@@ -240,7 +240,7 @@ describe('undom', () => {
240240 } ) ;
241241
242242 it ( 'should bubble if enabled' , ( ) => {
243- let event = { type : 'foo' , cancelable :true , bubbles :true } ;
243+ let event = new document . defaultView . Event ( 'foo' , { cancelable :true , bubbles :true } ) ;
244244 let child = document . createElement ( 'div' ) ;
245245 let parent = document . createElement ( 'div' ) ;
246246 parent . appendChild ( child ) ;
@@ -264,6 +264,32 @@ describe('undom', () => {
264264 child . dispatchEvent ( event ) ;
265265 expect ( parent . fn ) . not . to . have . been . called ;
266266 } ) ;
267+
268+ it ( 'should return `found`' , ( ) => {
269+ let el = document . createElement ( 'div' ) ;
270+ let el2 = document . createElement ( 'div' ) ;
271+ el . addEventListener ( 'foo' , ( ) => { } ) ;
272+
273+ expect ( el . dispatchEvent ( new document . defaultView . Event ( 'foo' ) ) ) . to . equal ( true ) ;
274+ expect ( el2 . dispatchEvent ( new document . defaultView . Event ( 'foo' ) ) ) . to . equal ( false ) ;
275+ } ) ;
276+
277+ it ( 'preventDefault() should set defaultPrevented' , ( ) => {
278+ let event = new document . defaultView . Event ( 'foo' , { cancelable : true , bubbles : true } ) ;
279+ let el = document . createElement ( 'div' ) ;
280+ let parent = document . createElement ( 'div' ) ;
281+ parent . appendChild ( el ) ;
282+ let fn = spy ( e => { e . preventDefault ( ) ; } ) ;
283+ let parentFn = spy ( e => { e . preventDefault ( ) ; } ) ;
284+ el . addEventListener ( 'foo' , fn ) ;
285+ parent . addEventListener ( 'foo' , parentFn ) ;
286+
287+ el . dispatchEvent ( event ) ;
288+
289+ expect ( fn ) . to . have . been . calledOnce ;
290+ expect ( parentFn ) . to . have . been . calledOnce ;
291+ expect ( parentFn . firstCall . args [ 0 ] ) . to . have . property ( 'defaultPrevented' , true ) ;
292+ } ) ;
267293 } ) ;
268294 } ) ;
269295} ) ;
0 commit comments