@@ -140,17 +140,21 @@ const eventTypes = [
140
140
141
141
const allEvents = Object . keys ( eventMap )
142
142
143
- const bubblingEvents = allEvents
144
- . filter ( eventName => eventMap [ eventName ] . defaultInit . bubbles )
143
+ const bubblingEvents = allEvents . filter (
144
+ eventName => eventMap [ eventName ] . defaultInit . bubbles ,
145
+ )
145
146
146
- const composedEvents = allEvents
147
- . filter ( eventName => eventMap [ eventName ] . defaultInit . composed )
147
+ const composedEvents = allEvents . filter (
148
+ eventName => eventMap [ eventName ] . defaultInit . composed ,
149
+ )
148
150
149
- const nonBubblingEvents = allEvents
150
- . filter ( eventName => ! bubblingEvents . includes ( eventName ) )
151
+ const nonBubblingEvents = allEvents . filter (
152
+ eventName => ! bubblingEvents . includes ( eventName ) ,
153
+ )
151
154
152
- const nonComposedEvents = allEvents
153
- . filter ( eventName => ! composedEvents . includes ( eventName ) )
155
+ const nonComposedEvents = allEvents . filter (
156
+ eventName => ! composedEvents . includes ( eventName ) ,
157
+ )
154
158
155
159
eventTypes . forEach ( ( { type, events, elementType} ) => {
156
160
describe ( `${ type } Events` , ( ) => {
@@ -203,7 +207,7 @@ describe(`Composed Events`, () => {
203
207
const spy = jest . fn ( )
204
208
node . addEventListener ( event . toLowerCase ( ) , spy )
205
209
206
- const shadowRoot = node . attachShadow ( { mode : 'closed' } )
210
+ const shadowRoot = node . attachShadow ( { mode : 'closed' } )
207
211
const innerNode = document . createElement ( 'div' )
208
212
shadowRoot . appendChild ( innerNode )
209
213
@@ -218,7 +222,7 @@ describe(`Composed Events`, () => {
218
222
const spy = jest . fn ( )
219
223
node . addEventListener ( event . toLowerCase ( ) , spy )
220
224
221
- const shadowRoot = node . attachShadow ( { mode : 'closed' } )
225
+ const shadowRoot = node . attachShadow ( { mode : 'closed' } )
222
226
const innerNode = document . createElement ( 'div' )
223
227
shadowRoot . appendChild ( innerNode )
224
228
@@ -234,7 +238,7 @@ describe(`Aliased Events`, () => {
234
238
const node = document . createElement ( 'div' )
235
239
const spy = jest . fn ( )
236
240
node . addEventListener ( eventAliasMap [ eventAlias ] . toLowerCase ( ) , spy )
237
-
241
+
238
242
fireEvent [ eventAlias ] ( node )
239
243
expect ( spy ) . toHaveBeenCalledTimes ( 1 )
240
244
} )
@@ -303,6 +307,37 @@ test('assigning the files property on dataTransfer', () => {
303
307
expect ( spy . mock . calls [ 0 ] [ 0 ] ) . toHaveProperty ( 'dataTransfer.files' , [ file ] )
304
308
} )
305
309
310
+ test ( 'assigns clipboardData properties' , ( ) => {
311
+ const node = document . createElement ( 'div' )
312
+ const spy = jest . fn ( )
313
+ node . addEventListener ( 'paste' , spy )
314
+ const clipboardData = {
315
+ dropEffect : 'none' ,
316
+ effectAllowed : 'uninitialized' ,
317
+ files : [ ] ,
318
+ items : [
319
+ {
320
+ kind : 'string' ,
321
+ type : 'text/plain' ,
322
+ file : {
323
+ getAsFile ( ) {
324
+ return null
325
+ } ,
326
+ } ,
327
+ } ,
328
+ ] ,
329
+ types : [ 'text/plain' ] ,
330
+ getData ( ) {
331
+ return 'example'
332
+ } ,
333
+ }
334
+ fireEvent . paste ( node , { clipboardData} )
335
+ expect ( spy ) . toHaveBeenCalledTimes ( 1 )
336
+ expect ( spy . mock . calls [ 0 ] [ 0 ] . clipboardData ) . toBe ( clipboardData )
337
+ expect ( clipboardData . items [ 0 ] . file . getAsFile ( ) ) . toBeNull ( )
338
+ expect ( clipboardData . getData ( 'text' ) ) . toBe ( 'example' )
339
+ } )
340
+
306
341
test ( 'fires events on Window' , ( ) => {
307
342
const messageSpy = jest . fn ( )
308
343
window . addEventListener ( 'message' , messageSpy )
0 commit comments