diff --git a/.gitignore b/.gitignore
index 38d9032e8..b38c87929 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@ node_modules
*.log
.eslintcache
build
+.idea
diff --git a/src/__tests__/fireEvent.test.js b/src/__tests__/fireEvent.test.js
index d8f34f558..845a1c2cd 100644
--- a/src/__tests__/fireEvent.test.js
+++ b/src/__tests__/fireEvent.test.js
@@ -29,6 +29,14 @@ const CustomEventComponent = ({ onCustomEvent }) => (
);
+const MyCustomButton = ({ handlePress }) => (
+
+);
+
+const CustomEventComponentWithCustomName = ({ handlePress }) => (
+
+);
+
describe('fireEvent', () => {
test('should invoke specified event', () => {
const onPressMock = jest.fn();
@@ -128,3 +136,15 @@ test('fireEvent.changeText', () => {
expect(onChangeTextMock).toHaveBeenCalledWith(CHANGE_TEXT);
});
+
+test('custom component with custom event name', () => {
+ const handlePress = jest.fn();
+
+ const { getByTestId } = render(
+
+ );
+
+ fireEvent(getByTestId('my-custom-button'), 'handlePress');
+
+ expect(handlePress).toHaveBeenCalled();
+});
diff --git a/src/fireEvent.js b/src/fireEvent.js
index b2c49af78..455966219 100644
--- a/src/fireEvent.js
+++ b/src/fireEvent.js
@@ -7,6 +7,8 @@ const findEventHandler = (element: ReactTestInstance, eventName: string) => {
if (typeof element.props[eventHandler] === 'function') {
return element.props[eventHandler];
+ } else if (typeof element.props[eventName] === 'function') {
+ return element.props[eventName];
}
// Do not bubble event to the root element