diff --git a/lib/rules/template-no-passed-in-event-handlers.js b/lib/rules/template-no-passed-in-event-handlers.js
index 7904b32a3b..aff8e15c01 100644
--- a/lib/rules/template-no-passed-in-event-handlers.js
+++ b/lib/rules/template-no-passed-in-event-handlers.js
@@ -1,4 +1,7 @@
// Comprehensive Ember event handler names
+// Note: mouseMove, mouseEnter, and mouseLeave are intentionally excluded —
+// they are native DOM events that do not have corresponding Ember
+// classic-event aliases on components.
const EMBER_EVENTS = new Set([
'touchStart',
'touchMove',
@@ -12,9 +15,6 @@ const EMBER_EVENTS = new Set([
'contextMenu',
'click',
'doubleClick',
- 'mouseMove',
- 'mouseEnter',
- 'mouseLeave',
'focusIn',
'focusOut',
'submit',
@@ -98,8 +98,7 @@ module.exports = {
}
const argName = attr.name.slice(1);
- // Check ignore config
- if (ignoredAttrs.includes(attr.name)) {
+ if (ignoredAttrs.includes(argName)) {
continue;
}
diff --git a/tests/lib/rules/template-no-passed-in-event-handlers.js b/tests/lib/rules/template-no-passed-in-event-handlers.js
index 6db6d73b51..1fbd2f5d99 100644
--- a/tests/lib/rules/template-no-passed-in-event-handlers.js
+++ b/tests/lib/rules/template-no-passed-in-event-handlers.js
@@ -35,6 +35,11 @@ ruleTester.run('template-no-passed-in-event-handlers', rule, {
'',
'',
'',
+
+ // mouseMove/mouseEnter/mouseLeave are not Ember classic-event aliases
+ '',
+ '',
+ '',
'{{foo}}',
'{{foo onClick=this.handleClick}}',
'{{foo onclick=this.handleClick}}',
@@ -48,11 +53,11 @@ ruleTester.run('template-no-passed-in-event-handlers', rule, {
// ignore option — angle bracket invocation
{
code: '',
- options: [{ ignore: { Foo: ['@click'] } }],
+ options: [{ ignore: { Foo: ['click'] } }],
},
{
code: '',
- options: [{ ignore: { Foo: ['@click', '@submit'] } }],
+ options: [{ ignore: { Foo: ['click', 'submit'] } }],
},
// ignore option — curly invocation
@@ -81,14 +86,6 @@ ruleTester.run('template-no-passed-in-event-handlers', rule, {
output: null,
errors: [{ messageId: 'unexpected' }],
},
- {
- code: `
-
- `,
- output: null,
- errors: [{ messageId: 'unexpected' }],
- },
-
{
code: '',
output: null,
@@ -124,14 +121,14 @@ ruleTester.run('template-no-passed-in-event-handlers', rule, {
{
code: '',
output: null,
- options: [{ ignore: { Foo: ['@click'] } }],
+ options: [{ ignore: { Foo: ['click'] } }],
errors: [{ messageId: 'unexpected' }],
},
// ignore option — only ignores specified attrs (angle bracket)
{
code: '',
output: null,
- options: [{ ignore: { Foo: ['@click'] } }],
+ options: [{ ignore: { Foo: ['click'] } }],
errors: [{ messageId: 'unexpected' }],
},
// ignore option — only ignores specified component (curly)
@@ -183,11 +180,11 @@ hbsRuleTester.run('template-no-passed-in-event-handlers', rule, {
// ignore option — angle bracket invocation
{
code: '',
- options: [{ ignore: { Foo: ['@click'] } }],
+ options: [{ ignore: { Foo: ['click'] } }],
},
{
code: '',
- options: [{ ignore: { Foo: ['@click', '@submit'] } }],
+ options: [{ ignore: { Foo: ['click', 'submit'] } }],
},
// ignore option — curly invocation
@@ -266,14 +263,14 @@ hbsRuleTester.run('template-no-passed-in-event-handlers', rule, {
{
code: '',
output: null,
- options: [{ ignore: { Foo: ['@click'] } }],
+ options: [{ ignore: { Foo: ['click'] } }],
errors: [{ messageId: 'unexpected' }],
},
// ignore option — only ignores specified attrs (angle bracket)
{
code: '',
output: null,
- options: [{ ignore: { Foo: ['@click'] } }],
+ options: [{ ignore: { Foo: ['click'] } }],
errors: [{ messageId: 'unexpected' }],
},
// ignore option — only ignores specified component (curly)