From 496c1301961ffecc129db3d4327a5ee63c51eb34 Mon Sep 17 00:00:00 2001
From: Klaus Purer <klaus.purer@protonmail.ch>
Date: Sat, 24 Feb 2024 08:55:14 +0100
Subject: [PATCH] fix(UnusedPrivateMethod): Fix case insensitivity og PHP
 method calls (#3398208)

---
 .../Sniffs/Objects/UnusedPrivateMethodSniff.php    |  3 ++-
 .../Objects/UnusedPrivateMethodUnitTest.inc        | 14 ++++++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/coder_sniffer/DrupalPractice/Sniffs/Objects/UnusedPrivateMethodSniff.php b/coder_sniffer/DrupalPractice/Sniffs/Objects/UnusedPrivateMethodSniff.php
index d93b1d3f..680a9832 100644
--- a/coder_sniffer/DrupalPractice/Sniffs/Objects/UnusedPrivateMethodSniff.php
+++ b/coder_sniffer/DrupalPractice/Sniffs/Objects/UnusedPrivateMethodSniff.php
@@ -77,7 +77,8 @@ class UnusedPrivateMethodSniff extends AbstractScopeSniff
 
             if ($tokens[$next]['code'] === T_OBJECT_OPERATOR) {
                 $call = $phpcsFile->findNext(Tokens::$emptyTokens, ($next + 1), null, true);
-                if ($call === false || $tokens[$call]['content'] !== $methodName) {
+                // PHP method calls are case insensitive.
+                if ($call === false || strcasecmp($tokens[$call]['content'], $methodName) !== 0) {
                     continue;
                 }
 
diff --git a/tests/DrupalPractice/Objects/UnusedPrivateMethodUnitTest.inc b/tests/DrupalPractice/Objects/UnusedPrivateMethodUnitTest.inc
index 796bb6ec..92a838a3 100644
--- a/tests/DrupalPractice/Objects/UnusedPrivateMethodUnitTest.inc
+++ b/tests/DrupalPractice/Objects/UnusedPrivateMethodUnitTest.inc
@@ -16,4 +16,18 @@ class Test {
 
   }
 
+  /**
+   * Method is called from somewhere in the class.
+   */
+  private function isUsed() {
+
+  }
+
+  /**
+   * Call method with different upper/lower case.
+   */
+  public function doCalls() {
+    $this->IsUsEd();
+  }
+
 }
-- 
GitLab