From 5b57bd6293e66503be3f7dc469d1b86df8c95252 Mon Sep 17 00:00:00 2001 From: Zama Khan Mohammed Date: Thu, 19 Sep 2019 09:26:41 -0500 Subject: [PATCH] fix(rule): template-click-events-have-key-events - support pseudo events (#893) --- src/templateClickEventsHaveKeyEventsRule.ts | 5 +++-- test/templateClickEventsHaveKeyEventsRule.spec.ts | 12 ++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/templateClickEventsHaveKeyEventsRule.ts b/src/templateClickEventsHaveKeyEventsRule.ts index 0ca69a839..b7e4eb1b5 100644 --- a/src/templateClickEventsHaveKeyEventsRule.ts +++ b/src/templateClickEventsHaveKeyEventsRule.ts @@ -56,8 +56,9 @@ class TemplateVisitorCtrl extends BasicTemplateAstVisitor { if (isInteractiveElement(el)) { return; } - - const hasKeyEvent = el.outputs.some(output => output.name === 'keyup' || output.name === 'keydown' || output.name === 'keypress'); + const hasKeyEvent = el.outputs.some( + output => output.name.startsWith('keyup') || output.name.startsWith('keydown') || output.name.startsWith('keypress') + ); if (hasKeyEvent) { return; diff --git a/test/templateClickEventsHaveKeyEventsRule.spec.ts b/test/templateClickEventsHaveKeyEventsRule.spec.ts index 840f9657a..12f3a1911 100644 --- a/test/templateClickEventsHaveKeyEventsRule.spec.ts +++ b/test/templateClickEventsHaveKeyEventsRule.spec.ts @@ -158,6 +158,18 @@ describe(ruleName, () => { assertSuccess(ruleName, source); }); + it('should work when click events are associated with key pseudo events', () => { + const source = ` + @Component({ + template: \` +
+ \` + }) + class Bar {} + `; + assertSuccess(ruleName, source); + }); + it('should work when click events are passed to custom element', () => { const source = ` @Component({