Don't downcase real xref in elisp-mode-tests
authorRob Browning <rlb@defaultvalue.org>
Sat, 29 Jul 2017 16:50:27 +0000 (11:50 -0500)
committerRob Browning <rlb@defaultvalue.org>
Sat, 4 Jun 2022 18:12:55 +0000 (13:12 -0500)
The elisp-mode-tests should no longer fail on case sensitive
filesystems when the build path contains uppercase characters.

Previously the code was downcasing the path for both comparison and
lookups.

test/lisp/progmodes/elisp-mode-tests.el

index d22305830660e6d8df4b672c1370b2797988c9d3..26eabac106665fd73fc8cb4ee8cafa5d8ac2df8a 100644 (file)
 (defun xref-elisp-test-run (xrefs expected-xrefs)
   (should (= (length xrefs) (length expected-xrefs)))
   (while xrefs
-    (let* ((xref (pop xrefs))
+    (let* ((real-xref (pop xrefs))
+           (xref (clone real-xref))
            (expected (pop expected-xrefs))
            (expected-xref (or (when (consp expected) (car expected)) expected))
            (expected-source (when (consp expected) (cdr expected)))
               (file-truename (xref-elisp-location-file
                               (xref-item-location expected-xref)))))
 
+      (setf (oref xref location)
+            (copy-xref-elisp-location (oref xref location)))
+
       ;; Downcase the filenames for case-insensitive file systems.
       (when xref--case-insensitive
         (setf (xref-elisp-location-file (xref-item-location xref))
 
       (should (equal xref expected-xref))
 
-      (xref--goto-location (xref-item-location xref))
+      (xref--goto-location (xref-item-location real-xref))
       (back-to-indentation)
       (should (looking-at (or expected-source
                               (xref-elisp-test-descr-to-target expected)))))