From 9aa878bc39769f6c7b31c72bd1140c1370d202f1 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Mon, 9 Jan 2023 10:03:29 -0500 Subject: [PATCH] [Fix] `no-noninteractive-element-interactions`: Ignore contenteditable elements in no-noninteractive-element-interactions --- __mocks__/JSXAttributeMock.js | 2 + ...oninteractive-element-interactions-test.js | 3 ++ __tests__/src/util/isContentEditable-test.js | 51 +++++++++++++++++++ .../no-noninteractive-element-interactions.js | 2 + src/util/isContentEditable.js | 7 +++ 5 files changed, 65 insertions(+) create mode 100644 __tests__/src/util/isContentEditable-test.js create mode 100644 src/util/isContentEditable.js diff --git a/__mocks__/JSXAttributeMock.js b/__mocks__/JSXAttributeMock.js index b9410e7e1..f5638cee1 100644 --- a/__mocks__/JSXAttributeMock.js +++ b/__mocks__/JSXAttributeMock.js @@ -24,6 +24,8 @@ export default function JSXAttributeMock(prop: string, value: mixed, isExpressio let attributeValue = astValue; if (isExpressionContainer || astValue.type !== 'Literal') { attributeValue = JSXExpressionContainerMock(astValue); + } else if (attributeValue.type === 'Literal' && !('raw' in (attributeValue: any))) { + (attributeValue: any).raw = JSON.stringify((attributeValue: any).value); } return { diff --git a/__tests__/src/rules/no-noninteractive-element-interactions-test.js b/__tests__/src/rules/no-noninteractive-element-interactions-test.js index dc3f6784d..ba0206b83 100644 --- a/__tests__/src/rules/no-noninteractive-element-interactions-test.js +++ b/__tests__/src/rules/no-noninteractive-element-interactions-test.js @@ -337,6 +337,9 @@ const neverValid = [ { code: '