From 0470bd849fbe9ee7d5770ab69958effc2145b59f Mon Sep 17 00:00:00 2001 From: Cparros Date: Tue, 27 Dec 2022 10:15:01 -0700 Subject: [PATCH 1/2] Unbound-method test case added and specified error location --- .../eslint-plugin/src/rules/unbound-method.ts | 2 +- .../tests/rules/unbound-method.test.ts | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/packages/eslint-plugin/src/rules/unbound-method.ts b/packages/eslint-plugin/src/rules/unbound-method.ts index c95a7fd35e1..6741f4df09f 100644 --- a/packages/eslint-plugin/src/rules/unbound-method.ts +++ b/packages/eslint-plugin/src/rules/unbound-method.ts @@ -241,7 +241,7 @@ export default util.createRule({ } checkMethodAndReport( - node, + property.key, initTypes.getProperty(property.key.name), ); } diff --git a/packages/eslint-plugin/tests/rules/unbound-method.test.ts b/packages/eslint-plugin/tests/rules/unbound-method.test.ts index 2105ef41e59..69a3ca20640 100644 --- a/packages/eslint-plugin/tests/rules/unbound-method.test.ts +++ b/packages/eslint-plugin/tests/rules/unbound-method.test.ts @@ -590,5 +590,22 @@ class OtherClass extends BaseClass { }, ], }, + { + code: ` +const values = { + a() {}, + b: () => {}, +}; + +const { a, b } = values; + `, + errors: [ + { + line: 7, + column: 9, + messageId: 'unboundWithoutThisAnnotation', + }, + ], + }, ], }); From f93b76ef48f97b6261d0963debdd5ad06b75525c Mon Sep 17 00:00:00 2001 From: Cparros Date: Thu, 29 Dec 2022 00:10:07 -0700 Subject: [PATCH 2/2] test case update --- .../tests/rules/unbound-method.test.ts | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/packages/eslint-plugin/tests/rules/unbound-method.test.ts b/packages/eslint-plugin/tests/rules/unbound-method.test.ts index 69a3ca20640..49b06a4ac50 100644 --- a/packages/eslint-plugin/tests/rules/unbound-method.test.ts +++ b/packages/eslint-plugin/tests/rules/unbound-method.test.ts @@ -603,6 +603,43 @@ const { a, b } = values; { line: 7, column: 9, + endColumn: 10, + messageId: 'unboundWithoutThisAnnotation', + }, + ], + }, + { + code: ` +const values = { + a() {}, + b: () => {}, +}; + +const { a: c } = values; + `, + errors: [ + { + line: 7, + column: 9, + endColumn: 10, + messageId: 'unboundWithoutThisAnnotation', + }, + ], + }, + { + code: ` +const values = { + a() {}, + b: () => {}, +}; + +const { b, a } = values; + `, + errors: [ + { + line: 7, + column: 12, + endColumn: 13, messageId: 'unboundWithoutThisAnnotation', }, ],