diff --git a/src/user-event/__tests__/__snapshots__/clear.test.tsx.snap b/src/user-event/__tests__/__snapshots__/clear.test.tsx.snap index 9d0c7d1a3..c0d849e4c 100644 --- a/src/user-event/__tests__/__snapshots__/clear.test.tsx.snap +++ b/src/user-event/__tests__/__snapshots__/clear.test.tsx.snap @@ -5,38 +5,46 @@ exports[`clear() supports basic case: value: "Hello! 1`] = ` { "name": "focus", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, }, + "target": {}, }, }, { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 6, "start": 0, }, }, + "target": {}, }, }, { "name": "keyPress", "payload": { + "currentTarget": {}, "nativeEvent": { "key": "Backspace", }, + "target": {}, }, }, { "name": "change", "payload": { + "currentTarget": {}, "nativeEvent": { "eventCount": 0, "target": 0, "text": "", }, + "target": {}, }, }, { @@ -46,29 +54,35 @@ exports[`clear() supports basic case: value: "Hello! 1`] = ` { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 0, "start": 0, }, }, + "target": {}, }, }, { "name": "endEditing", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, "text": "", }, + "target": {}, }, }, { "name": "blur", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, }, + "target": {}, }, }, ] @@ -79,38 +93,46 @@ exports[`clear() supports defaultValue prop: defaultValue: "Hello Default!" 1`] { "name": "focus", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, }, + "target": {}, }, }, { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 14, "start": 0, }, }, + "target": {}, }, }, { "name": "keyPress", "payload": { + "currentTarget": {}, "nativeEvent": { "key": "Backspace", }, + "target": {}, }, }, { "name": "change", "payload": { + "currentTarget": {}, "nativeEvent": { "eventCount": 0, "target": 0, "text": "", }, + "target": {}, }, }, { @@ -120,29 +142,35 @@ exports[`clear() supports defaultValue prop: defaultValue: "Hello Default!" 1`] { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 0, "start": 0, }, }, + "target": {}, }, }, { "name": "endEditing", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, "text": "", }, + "target": {}, }, }, { "name": "blur", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, }, + "target": {}, }, }, ] @@ -154,33 +182,40 @@ How are you?" multiline: true, 1`] = ` { "name": "focus", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, }, + "target": {}, }, }, { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 25, "start": 0, }, }, + "target": {}, }, }, { "name": "keyPress", "payload": { + "currentTarget": {}, "nativeEvent": { "key": "Backspace", }, + "target": {}, }, }, { "name": "textInput", "payload": { + "currentTarget": {}, "nativeEvent": { "previousText": "Hello World! How are you?", @@ -191,16 +226,19 @@ How are you?", "target": 0, "text": "", }, + "target": {}, }, }, { "name": "change", "payload": { + "currentTarget": {}, "nativeEvent": { "eventCount": 0, "target": 0, "text": "", }, + "target": {}, }, }, { @@ -210,17 +248,20 @@ How are you?", { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 0, "start": 0, }, }, + "target": {}, }, }, { "name": "contentSizeChange", "payload": { + "currentTarget": {}, "nativeEvent": { "contentSize": { "height": 16, @@ -228,23 +269,28 @@ How are you?", }, "target": 0, }, + "target": {}, }, }, { "name": "endEditing", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, "text": "", }, + "target": {}, }, }, { "name": "blur", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, }, + "target": {}, }, }, ] @@ -259,10 +305,12 @@ exports[`clear() works when not all events have handlers 1`] = ` { "name": "endEditing", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, "text": "", }, + "target": {}, }, }, ] diff --git a/src/user-event/event-builder/common.ts b/src/user-event/event-builder/common.ts index 7a3bad794..aa9938393 100644 --- a/src/user-event/event-builder/common.ts +++ b/src/user-event/event-builder/common.ts @@ -5,8 +5,6 @@ */ function touch() { return { - persist: jest.fn(), - currentTarget: { measure: jest.fn() }, nativeEvent: { changedTouches: [], identifier: 0, @@ -18,6 +16,9 @@ function touch() { timestamp: Date.now(), touches: [], }, + persist: jest.fn(), + currentTarget: { measure: jest.fn() }, + target: {}, }; } @@ -48,6 +49,8 @@ export const CommonEventBuilder = { nativeEvent: { target: 0, }, + currentTarget: {}, + target: {}, }; }, @@ -61,6 +64,8 @@ export const CommonEventBuilder = { nativeEvent: { target: 0, }, + currentTarget: {}, + target: {}, }; }, }; diff --git a/src/user-event/event-builder/scroll-view.ts b/src/user-event/event-builder/scroll-view.ts index d4c2f62a1..b322ec099 100644 --- a/src/user-event/event-builder/scroll-view.ts +++ b/src/user-event/event-builder/scroll-view.ts @@ -27,6 +27,8 @@ export const ScrollViewEventBuilder = { target: 0, velocity: { y: 0, x: 0 }, }, + currentTarget: {}, + target: {}, }; }, }; diff --git a/src/user-event/event-builder/text-input.ts b/src/user-event/event-builder/text-input.ts index c289bbe32..b0d215235 100644 --- a/src/user-event/event-builder/text-input.ts +++ b/src/user-event/event-builder/text-input.ts @@ -10,6 +10,8 @@ export const TextInputEventBuilder = { change: (text: string) => { return { nativeEvent: { text, target: 0, eventCount: 0 }, + currentTarget: {}, + target: {}, }; }, @@ -21,6 +23,8 @@ export const TextInputEventBuilder = { keyPress: (key: string) => { return { nativeEvent: { key }, + currentTarget: {}, + target: {}, }; }, @@ -32,6 +36,8 @@ export const TextInputEventBuilder = { submitEditing: (text: string) => { return { nativeEvent: { text, target: 0 }, + currentTarget: {}, + target: {}, }; }, @@ -43,6 +49,8 @@ export const TextInputEventBuilder = { endEditing: (text: string) => { return { nativeEvent: { text, target: 0 }, + currentTarget: {}, + target: {}, }; }, @@ -54,6 +62,8 @@ export const TextInputEventBuilder = { selectionChange: ({ start, end }: TextRange) => { return { nativeEvent: { selection: { start, end } }, + currentTarget: {}, + target: {}, }; }, @@ -70,6 +80,8 @@ export const TextInputEventBuilder = { range: { start: text.length, end: text.length }, target: 0, }, + currentTarget: {}, + target: {}, }; }, @@ -81,6 +93,8 @@ export const TextInputEventBuilder = { contentSizeChange: ({ width, height }: ContentSize) => { return { nativeEvent: { contentSize: { width, height }, target: 0 }, + currentTarget: {}, + target: {}, }; }, }; diff --git a/src/user-event/press/__tests__/__snapshots__/longPress.test.tsx.snap b/src/user-event/press/__tests__/__snapshots__/longPress.test.tsx.snap new file mode 100644 index 000000000..3ba4d3d6d --- /dev/null +++ b/src/user-event/press/__tests__/__snapshots__/longPress.test.tsx.snap @@ -0,0 +1,59 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`userEvent.longPress with fake timers calls onLongPress if the delayLongPress is the default one 1`] = ` +[ + { + "name": "longPress", + "payload": { + "currentTarget": { + "measure": [MockFunction] { + "calls": [ + [ + [Function], + ], + [ + [Function], + ], + ], + "results": [ + { + "type": "return", + "value": undefined, + }, + { + "type": "return", + "value": undefined, + }, + ], + }, + }, + "dispatchConfig": { + "registrationName": "onResponderGrant", + }, + "nativeEvent": { + "changedTouches": [], + "identifier": 0, + "locationX": 0, + "locationY": 0, + "pageX": 0, + "pageY": 0, + "target": 0, + "timestamp": 0, + "touches": [], + }, + "persist": [MockFunction] { + "calls": [ + [], + ], + "results": [ + { + "type": "return", + "value": undefined, + }, + ], + }, + "target": {}, + }, + }, +] +`; diff --git a/src/user-event/press/__tests__/__snapshots__/press.test.tsx.snap b/src/user-event/press/__tests__/__snapshots__/press.test.tsx.snap new file mode 100644 index 000000000..7ae38355a --- /dev/null +++ b/src/user-event/press/__tests__/__snapshots__/press.test.tsx.snap @@ -0,0 +1,127 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`userEvent.press with fake timers calls onPressIn, onPress and onPressOut prop of touchable 1`] = ` +[ + { + "name": "pressIn", + "payload": { + "currentTarget": { + "measure": [MockFunction] { + "calls": [ + [ + [Function], + ], + [ + [Function], + ], + ], + "results": [ + { + "type": "return", + "value": undefined, + }, + { + "type": "return", + "value": undefined, + }, + ], + }, + }, + "dispatchConfig": { + "registrationName": "onResponderGrant", + }, + "nativeEvent": { + "changedTouches": [], + "identifier": 0, + "locationX": 0, + "locationY": 0, + "pageX": 0, + "pageY": 0, + "target": 0, + "timestamp": 0, + "touches": [], + }, + "persist": [MockFunction] { + "calls": [ + [], + ], + "results": [ + { + "type": "return", + "value": undefined, + }, + ], + }, + "target": {}, + }, + }, + { + "name": "press", + "payload": { + "currentTarget": { + "measure": [MockFunction], + }, + "dispatchConfig": { + "registrationName": "onResponderRelease", + }, + "nativeEvent": { + "changedTouches": [], + "identifier": 0, + "locationX": 0, + "locationY": 0, + "pageX": 0, + "pageY": 0, + "target": 0, + "timestamp": 0, + "touches": [], + }, + "persist": [MockFunction] { + "calls": [ + [], + ], + "results": [ + { + "type": "return", + "value": undefined, + }, + ], + }, + "target": {}, + }, + }, + { + "name": "pressOut", + "payload": { + "currentTarget": { + "measure": [MockFunction], + }, + "dispatchConfig": { + "registrationName": "onResponderRelease", + }, + "nativeEvent": { + "changedTouches": [], + "identifier": 0, + "locationX": 0, + "locationY": 0, + "pageX": 0, + "pageY": 0, + "target": 0, + "timestamp": 0, + "touches": [], + }, + "persist": [MockFunction] { + "calls": [ + [], + ], + "results": [ + { + "type": "return", + "value": undefined, + }, + ], + }, + "target": {}, + }, + }, +] +`; diff --git a/src/user-event/press/__tests__/longPress.test.tsx b/src/user-event/press/__tests__/longPress.test.tsx index c9a23e00f..8af4c8a70 100644 --- a/src/user-event/press/__tests__/longPress.test.tsx +++ b/src/user-event/press/__tests__/longPress.test.tsx @@ -24,62 +24,7 @@ describe('userEvent.longPress with fake timers', () => { ); await user.longPress(screen.getByText('press me')); - expect(events).toMatchInlineSnapshot(` - [ - { - "name": "longPress", - "payload": { - "currentTarget": { - "measure": [MockFunction] { - "calls": [ - [ - [Function], - ], - [ - [Function], - ], - ], - "results": [ - { - "type": "return", - "value": undefined, - }, - { - "type": "return", - "value": undefined, - }, - ], - }, - }, - "dispatchConfig": { - "registrationName": "onResponderGrant", - }, - "nativeEvent": { - "changedTouches": [], - "identifier": 0, - "locationX": 0, - "locationY": 0, - "pageX": 0, - "pageY": 0, - "target": 0, - "timestamp": 0, - "touches": [], - }, - "persist": [MockFunction] { - "calls": [ - [], - ], - "results": [ - { - "type": "return", - "value": undefined, - }, - ], - }, - }, - }, - ] - `); + expect(events).toMatchSnapshot(); }); test('calls onLongPress when duration is greater than specified delayLongPress', async () => { diff --git a/src/user-event/press/__tests__/press.test.tsx b/src/user-event/press/__tests__/press.test.tsx index 96ab97cf8..2c5ed0cc1 100644 --- a/src/user-event/press/__tests__/press.test.tsx +++ b/src/user-event/press/__tests__/press.test.tsx @@ -32,128 +32,7 @@ describe('userEvent.press with fake timers', () => { ); await user.press(screen.getByTestId('pressable')); - expect(events).toMatchInlineSnapshot(` - [ - { - "name": "pressIn", - "payload": { - "currentTarget": { - "measure": [MockFunction] { - "calls": [ - [ - [Function], - ], - [ - [Function], - ], - ], - "results": [ - { - "type": "return", - "value": undefined, - }, - { - "type": "return", - "value": undefined, - }, - ], - }, - }, - "dispatchConfig": { - "registrationName": "onResponderGrant", - }, - "nativeEvent": { - "changedTouches": [], - "identifier": 0, - "locationX": 0, - "locationY": 0, - "pageX": 0, - "pageY": 0, - "target": 0, - "timestamp": 0, - "touches": [], - }, - "persist": [MockFunction] { - "calls": [ - [], - ], - "results": [ - { - "type": "return", - "value": undefined, - }, - ], - }, - }, - }, - { - "name": "press", - "payload": { - "currentTarget": { - "measure": [MockFunction], - }, - "dispatchConfig": { - "registrationName": "onResponderRelease", - }, - "nativeEvent": { - "changedTouches": [], - "identifier": 0, - "locationX": 0, - "locationY": 0, - "pageX": 0, - "pageY": 0, - "target": 0, - "timestamp": 0, - "touches": [], - }, - "persist": [MockFunction] { - "calls": [ - [], - ], - "results": [ - { - "type": "return", - "value": undefined, - }, - ], - }, - }, - }, - { - "name": "pressOut", - "payload": { - "currentTarget": { - "measure": [MockFunction], - }, - "dispatchConfig": { - "registrationName": "onResponderRelease", - }, - "nativeEvent": { - "changedTouches": [], - "identifier": 0, - "locationX": 0, - "locationY": 0, - "pageX": 0, - "pageY": 0, - "target": 0, - "timestamp": 0, - "touches": [], - }, - "persist": [MockFunction] { - "calls": [ - [], - ], - "results": [ - { - "type": "return", - "value": undefined, - }, - ], - }, - }, - }, - ] - `); + expect(events).toMatchSnapshot(); }); test('does not trigger event when pressable is disabled', async () => { diff --git a/src/user-event/scroll/__tests__/__snapshots__/scrollTo-flatList.tsx.snap b/src/user-event/scroll/__tests__/__snapshots__/scrollTo-flatList.tsx.snap index fd58a7903..d8131e435 100644 --- a/src/user-event/scroll/__tests__/__snapshots__/scrollTo-flatList.tsx.snap +++ b/src/user-event/scroll/__tests__/__snapshots__/scrollTo-flatList.tsx.snap @@ -5,6 +5,7 @@ exports[`scrollTo() with FlatList supports vertical drag scroll: scrollTo({ y: 1 { "name": "scrollBeginDrag", "payload": { + "currentTarget": {}, "nativeEvent": { "contentInset": { "bottom": 0, @@ -31,11 +32,13 @@ exports[`scrollTo() with FlatList supports vertical drag scroll: scrollTo({ y: 1 "y": 0, }, }, + "target": {}, }, }, { "name": "scroll", "payload": { + "currentTarget": {}, "nativeEvent": { "contentInset": { "bottom": 0, @@ -62,11 +65,13 @@ exports[`scrollTo() with FlatList supports vertical drag scroll: scrollTo({ y: 1 "y": 0, }, }, + "target": {}, }, }, { "name": "scroll", "payload": { + "currentTarget": {}, "nativeEvent": { "contentInset": { "bottom": 0, @@ -93,11 +98,13 @@ exports[`scrollTo() with FlatList supports vertical drag scroll: scrollTo({ y: 1 "y": 0, }, }, + "target": {}, }, }, { "name": "scroll", "payload": { + "currentTarget": {}, "nativeEvent": { "contentInset": { "bottom": 0, @@ -124,11 +131,13 @@ exports[`scrollTo() with FlatList supports vertical drag scroll: scrollTo({ y: 1 "y": 0, }, }, + "target": {}, }, }, { "name": "scrollEndDrag", "payload": { + "currentTarget": {}, "nativeEvent": { "contentInset": { "bottom": 0, @@ -155,6 +164,7 @@ exports[`scrollTo() with FlatList supports vertical drag scroll: scrollTo({ y: 1 "y": 0, }, }, + "target": {}, }, }, ] diff --git a/src/user-event/scroll/__tests__/__snapshots__/scrollTo.test.tsx.snap b/src/user-event/scroll/__tests__/__snapshots__/scrollTo.test.tsx.snap index 58307b017..7055f54c8 100644 --- a/src/user-event/scroll/__tests__/__snapshots__/scrollTo.test.tsx.snap +++ b/src/user-event/scroll/__tests__/__snapshots__/scrollTo.test.tsx.snap @@ -5,6 +5,7 @@ exports[`scrollTo() supports vertical drag scroll: scrollTo({ y: 100 }) 1`] = ` { "name": "scrollBeginDrag", "payload": { + "currentTarget": {}, "nativeEvent": { "contentInset": { "bottom": 0, @@ -31,11 +32,13 @@ exports[`scrollTo() supports vertical drag scroll: scrollTo({ y: 100 }) 1`] = ` "y": 0, }, }, + "target": {}, }, }, { "name": "scroll", "payload": { + "currentTarget": {}, "nativeEvent": { "contentInset": { "bottom": 0, @@ -62,11 +65,13 @@ exports[`scrollTo() supports vertical drag scroll: scrollTo({ y: 100 }) 1`] = ` "y": 0, }, }, + "target": {}, }, }, { "name": "scroll", "payload": { + "currentTarget": {}, "nativeEvent": { "contentInset": { "bottom": 0, @@ -93,11 +98,13 @@ exports[`scrollTo() supports vertical drag scroll: scrollTo({ y: 100 }) 1`] = ` "y": 0, }, }, + "target": {}, }, }, { "name": "scroll", "payload": { + "currentTarget": {}, "nativeEvent": { "contentInset": { "bottom": 0, @@ -124,11 +131,13 @@ exports[`scrollTo() supports vertical drag scroll: scrollTo({ y: 100 }) 1`] = ` "y": 0, }, }, + "target": {}, }, }, { "name": "scrollEndDrag", "payload": { + "currentTarget": {}, "nativeEvent": { "contentInset": { "bottom": 0, @@ -155,6 +164,7 @@ exports[`scrollTo() supports vertical drag scroll: scrollTo({ y: 100 }) 1`] = ` "y": 0, }, }, + "target": {}, }, }, ] diff --git a/src/user-event/type/__tests__/__snapshots__/type-managed.test.tsx.snap b/src/user-event/type/__tests__/__snapshots__/type-managed.test.tsx.snap index efeb2ff71..7a0338267 100644 --- a/src/user-event/type/__tests__/__snapshots__/type-managed.test.tsx.snap +++ b/src/user-event/type/__tests__/__snapshots__/type-managed.test.tsx.snap @@ -20,14 +20,17 @@ exports[`type() for managed TextInput supports basic case: input: "Wow" 1`] = ` "touches": [], }, "persist": [MockFunction], + "target": {}, }, }, { "name": "focus", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, }, + "target": {}, }, }, { @@ -48,24 +51,29 @@ exports[`type() for managed TextInput supports basic case: input: "Wow" 1`] = ` "touches": [], }, "persist": [MockFunction], + "target": {}, }, }, { "name": "keyPress", "payload": { + "currentTarget": {}, "nativeEvent": { "key": "W", }, + "target": {}, }, }, { "name": "change", "payload": { + "currentTarget": {}, "nativeEvent": { "eventCount": 0, "target": 0, "text": "W", }, + "target": {}, }, }, { @@ -75,30 +83,36 @@ exports[`type() for managed TextInput supports basic case: input: "Wow" 1`] = ` { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 1, "start": 1, }, }, + "target": {}, }, }, { "name": "keyPress", "payload": { + "currentTarget": {}, "nativeEvent": { "key": "o", }, + "target": {}, }, }, { "name": "change", "payload": { + "currentTarget": {}, "nativeEvent": { "eventCount": 0, "target": 0, "text": "Wo", }, + "target": {}, }, }, { @@ -108,30 +122,36 @@ exports[`type() for managed TextInput supports basic case: input: "Wow" 1`] = ` { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 2, "start": 2, }, }, + "target": {}, }, }, { "name": "keyPress", "payload": { + "currentTarget": {}, "nativeEvent": { "key": "w", }, + "target": {}, }, }, { "name": "change", "payload": { + "currentTarget": {}, "nativeEvent": { "eventCount": 0, "target": 0, "text": "Wow", }, + "target": {}, }, }, { @@ -141,29 +161,35 @@ exports[`type() for managed TextInput supports basic case: input: "Wow" 1`] = ` { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 3, "start": 3, }, }, + "target": {}, }, }, { "name": "endEditing", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, "text": "Wow", }, + "target": {}, }, }, { "name": "blur", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, }, + "target": {}, }, }, ] @@ -189,14 +215,17 @@ exports[`type() for managed TextInput supports rejecting TextInput: input: "ABC" "touches": [], }, "persist": [MockFunction], + "target": {}, }, }, { "name": "focus", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, }, + "target": {}, }, }, { @@ -217,24 +246,29 @@ exports[`type() for managed TextInput supports rejecting TextInput: input: "ABC" "touches": [], }, "persist": [MockFunction], + "target": {}, }, }, { "name": "keyPress", "payload": { + "currentTarget": {}, "nativeEvent": { "key": "A", }, + "target": {}, }, }, { "name": "change", "payload": { + "currentTarget": {}, "nativeEvent": { "eventCount": 0, "target": 0, "text": "XXXA", }, + "target": {}, }, }, { @@ -244,30 +278,36 @@ exports[`type() for managed TextInput supports rejecting TextInput: input: "ABC" { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 4, "start": 4, }, }, + "target": {}, }, }, { "name": "keyPress", "payload": { + "currentTarget": {}, "nativeEvent": { "key": "B", }, + "target": {}, }, }, { "name": "change", "payload": { + "currentTarget": {}, "nativeEvent": { "eventCount": 0, "target": 0, "text": "XXXB", }, + "target": {}, }, }, { @@ -277,30 +317,36 @@ exports[`type() for managed TextInput supports rejecting TextInput: input: "ABC" { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 4, "start": 4, }, }, + "target": {}, }, }, { "name": "keyPress", "payload": { + "currentTarget": {}, "nativeEvent": { "key": "C", }, + "target": {}, }, }, { "name": "change", "payload": { + "currentTarget": {}, "nativeEvent": { "eventCount": 0, "target": 0, "text": "XXXC", }, + "target": {}, }, }, { @@ -310,29 +356,35 @@ exports[`type() for managed TextInput supports rejecting TextInput: input: "ABC" { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 4, "start": 4, }, }, + "target": {}, }, }, { "name": "endEditing", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, "text": "XXX", }, + "target": {}, }, }, { "name": "blur", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, }, + "target": {}, }, }, ] diff --git a/src/user-event/type/__tests__/__snapshots__/type.test.tsx.snap b/src/user-event/type/__tests__/__snapshots__/type.test.tsx.snap index 6b88653f6..cac4335df 100644 --- a/src/user-event/type/__tests__/__snapshots__/type.test.tsx.snap +++ b/src/user-event/type/__tests__/__snapshots__/type.test.tsx.snap @@ -20,14 +20,17 @@ exports[`type() supports backspace: input: "{Backspace}a", defaultValue: "xxx" 1 "touches": [], }, "persist": [MockFunction], + "target": {}, }, }, { "name": "focus", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, }, + "target": {}, }, }, { @@ -48,24 +51,29 @@ exports[`type() supports backspace: input: "{Backspace}a", defaultValue: "xxx" 1 "touches": [], }, "persist": [MockFunction], + "target": {}, }, }, { "name": "keyPress", "payload": { + "currentTarget": {}, "nativeEvent": { "key": "Backspace", }, + "target": {}, }, }, { "name": "change", "payload": { + "currentTarget": {}, "nativeEvent": { "eventCount": 0, "target": 0, "text": "xx", }, + "target": {}, }, }, { @@ -75,30 +83,36 @@ exports[`type() supports backspace: input: "{Backspace}a", defaultValue: "xxx" 1 { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 2, "start": 2, }, }, + "target": {}, }, }, { "name": "keyPress", "payload": { + "currentTarget": {}, "nativeEvent": { "key": "a", }, + "target": {}, }, }, { "name": "change", "payload": { + "currentTarget": {}, "nativeEvent": { "eventCount": 0, "target": 0, "text": "xxa", }, + "target": {}, }, }, { @@ -108,29 +122,35 @@ exports[`type() supports backspace: input: "{Backspace}a", defaultValue: "xxx" 1 { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 3, "start": 3, }, }, + "target": {}, }, }, { "name": "endEditing", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, "text": "xxa", }, + "target": {}, }, }, { "name": "blur", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, }, + "target": {}, }, }, ] @@ -156,14 +176,17 @@ exports[`type() supports basic case: input: "abc" 1`] = ` "touches": [], }, "persist": [MockFunction], + "target": {}, }, }, { "name": "focus", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, }, + "target": {}, }, }, { @@ -184,24 +207,29 @@ exports[`type() supports basic case: input: "abc" 1`] = ` "touches": [], }, "persist": [MockFunction], + "target": {}, }, }, { "name": "keyPress", "payload": { + "currentTarget": {}, "nativeEvent": { "key": "a", }, + "target": {}, }, }, { "name": "change", "payload": { + "currentTarget": {}, "nativeEvent": { "eventCount": 0, "target": 0, "text": "a", }, + "target": {}, }, }, { @@ -211,30 +239,36 @@ exports[`type() supports basic case: input: "abc" 1`] = ` { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 1, "start": 1, }, }, + "target": {}, }, }, { "name": "keyPress", "payload": { + "currentTarget": {}, "nativeEvent": { "key": "b", }, + "target": {}, }, }, { "name": "change", "payload": { + "currentTarget": {}, "nativeEvent": { "eventCount": 0, "target": 0, "text": "ab", }, + "target": {}, }, }, { @@ -244,30 +278,36 @@ exports[`type() supports basic case: input: "abc" 1`] = ` { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 2, "start": 2, }, }, + "target": {}, }, }, { "name": "keyPress", "payload": { + "currentTarget": {}, "nativeEvent": { "key": "c", }, + "target": {}, }, }, { "name": "change", "payload": { + "currentTarget": {}, "nativeEvent": { "eventCount": 0, "target": 0, "text": "abc", }, + "target": {}, }, }, { @@ -277,29 +317,35 @@ exports[`type() supports basic case: input: "abc" 1`] = ` { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 3, "start": 3, }, }, + "target": {}, }, }, { "name": "endEditing", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, "text": "abc", }, + "target": {}, }, }, { "name": "blur", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, }, + "target": {}, }, }, ] @@ -325,14 +371,17 @@ exports[`type() supports defaultValue prop: input: "ab", defaultValue: "xxx" 1`] "touches": [], }, "persist": [MockFunction], + "target": {}, }, }, { "name": "focus", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, }, + "target": {}, }, }, { @@ -353,24 +402,29 @@ exports[`type() supports defaultValue prop: input: "ab", defaultValue: "xxx" 1`] "touches": [], }, "persist": [MockFunction], + "target": {}, }, }, { "name": "keyPress", "payload": { + "currentTarget": {}, "nativeEvent": { "key": "a", }, + "target": {}, }, }, { "name": "change", "payload": { + "currentTarget": {}, "nativeEvent": { "eventCount": 0, "target": 0, "text": "xxxa", }, + "target": {}, }, }, { @@ -380,30 +434,36 @@ exports[`type() supports defaultValue prop: input: "ab", defaultValue: "xxx" 1`] { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 4, "start": 4, }, }, + "target": {}, }, }, { "name": "keyPress", "payload": { + "currentTarget": {}, "nativeEvent": { "key": "b", }, + "target": {}, }, }, { "name": "change", "payload": { + "currentTarget": {}, "nativeEvent": { "eventCount": 0, "target": 0, "text": "xxxab", }, + "target": {}, }, }, { @@ -413,29 +473,35 @@ exports[`type() supports defaultValue prop: input: "ab", defaultValue: "xxx" 1`] { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 5, "start": 5, }, }, + "target": {}, }, }, { "name": "endEditing", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, "text": "xxxab", }, + "target": {}, }, }, { "name": "blur", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, }, + "target": {}, }, }, ] @@ -461,14 +527,17 @@ exports[`type() supports multiline: input: "{Enter}\\n", multiline: true 1`] = ` "touches": [], }, "persist": [MockFunction], + "target": {}, }, }, { "name": "focus", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, }, + "target": {}, }, }, { @@ -489,19 +558,23 @@ exports[`type() supports multiline: input: "{Enter}\\n", multiline: true 1`] = ` "touches": [], }, "persist": [MockFunction], + "target": {}, }, }, { "name": "keyPress", "payload": { + "currentTarget": {}, "nativeEvent": { "key": "Enter", }, + "target": {}, }, }, { "name": "textInput", "payload": { + "currentTarget": {}, "nativeEvent": { "previousText": "", "range": { @@ -512,17 +585,20 @@ exports[`type() supports multiline: input: "{Enter}\\n", multiline: true 1`] = ` "text": " ", }, + "target": {}, }, }, { "name": "change", "payload": { + "currentTarget": {}, "nativeEvent": { "eventCount": 0, "target": 0, "text": " ", }, + "target": {}, }, }, { @@ -533,17 +609,20 @@ exports[`type() supports multiline: input: "{Enter}\\n", multiline: true 1`] = ` { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 1, "start": 1, }, }, + "target": {}, }, }, { "name": "contentSizeChange", "payload": { + "currentTarget": {}, "nativeEvent": { "contentSize": { "height": 32, @@ -551,19 +630,23 @@ exports[`type() supports multiline: input: "{Enter}\\n", multiline: true 1`] = ` }, "target": 0, }, + "target": {}, }, }, { "name": "keyPress", "payload": { + "currentTarget": {}, "nativeEvent": { "key": "Enter", }, + "target": {}, }, }, { "name": "textInput", "payload": { + "currentTarget": {}, "nativeEvent": { "previousText": " ", @@ -576,11 +659,13 @@ exports[`type() supports multiline: input: "{Enter}\\n", multiline: true 1`] = ` ", }, + "target": {}, }, }, { "name": "change", "payload": { + "currentTarget": {}, "nativeEvent": { "eventCount": 0, "target": 0, @@ -588,6 +673,7 @@ exports[`type() supports multiline: input: "{Enter}\\n", multiline: true 1`] = ` ", }, + "target": {}, }, }, { @@ -599,17 +685,20 @@ exports[`type() supports multiline: input: "{Enter}\\n", multiline: true 1`] = ` { "name": "selectionChange", "payload": { + "currentTarget": {}, "nativeEvent": { "selection": { "end": 2, "start": 2, }, }, + "target": {}, }, }, { "name": "contentSizeChange", "payload": { + "currentTarget": {}, "nativeEvent": { "contentSize": { "height": 48, @@ -617,25 +706,30 @@ exports[`type() supports multiline: input: "{Enter}\\n", multiline: true 1`] = ` }, "target": 0, }, + "target": {}, }, }, { "name": "endEditing", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, "text": " ", }, + "target": {}, }, }, { "name": "blur", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, }, + "target": {}, }, }, ] @@ -658,10 +752,12 @@ exports[`type() works when not all events have handlers: input: "abc" 1`] = ` { "name": "endEditing", "payload": { + "currentTarget": {}, "nativeEvent": { "target": 0, "text": "abc", }, + "target": {}, }, }, ] diff --git a/src/user-event/type/__tests__/type.test.tsx b/src/user-event/type/__tests__/type.test.tsx index 6b13b1727..050e31d84 100644 --- a/src/user-event/type/__tests__/type.test.tsx +++ b/src/user-event/type/__tests__/type.test.tsx @@ -246,6 +246,8 @@ describe('type()', () => { expect(events[7].name).toBe('submitEditing'); expect(events[7].payload).toEqual({ nativeEvent: { text: 'a', target: 0 }, + currentTarget: {}, + target: {}, }); });