emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/compat d81a132d2f 1/3: Add test for package-get-version


From: ELPA Syncer
Subject: [elpa] externals/compat d81a132d2f 1/3: Add test for package-get-version
Date: Mon, 16 Jan 2023 10:57:29 -0500 (EST)

branch: externals/compat
commit d81a132d2fd0f5fec08486ed5222b8e1d0402560
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    Add test for package-get-version
---
 compat-27.el    | 9 +++------
 compat-tests.el | 5 +++++
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/compat-27.el b/compat-27.el
index 9a74a4d5b8..26e557d270 100644
--- a/compat-27.el
+++ b/compat-27.el
@@ -494,20 +494,17 @@ Optional arg PARENTS, if non-nil then creates parent dirs 
as needed."
 
 (declare-function lm-header "lisp-mnt")
 
-(compat-defun package-get-version () ;; <UNTESTED>
+(compat-defun package-get-version () ;; <compat-tests:package-get-version>
   "Return the version number of the package in which this is used.
 Assumes it is used from an Elisp file placed inside the top-level directory
 of an installed ELPA package.
 The return value is a string (or nil in case we can’t find it)."
-  :feature package
+  ;; No :feature since the function is autoloaded.
   ;; In a sense, this is a lie, but it does just what we want: precompute
   ;; the version at compile time and hardcodes it into the .elc file!
   (declare (pure t))
   ;; Hack alert!
-  (let ((file
-         (or (and (boundp 'byte-compile-current-file) 
byte-compile-current-file)
-             load-file-name
-             buffer-file-name)))
+  (let ((file (or (macroexp-file-name) buffer-file-name)))
     (cond
      ((null file) nil)
      ;; Packages are normally installed into directories named "<pkg>-<vers>",
diff --git a/compat-tests.el b/compat-tests.el
index 61b2e8fc54..0f520c8ee1 100644
--- a/compat-tests.el
+++ b/compat-tests.el
@@ -80,6 +80,11 @@
     (setq list (funcall sym list "first" 1 #'string=))
     (should (eq (compat-call plist-get list "first" #'string=) 1))))
 
+(defconst compat-tests--version (package-get-version))
+(ert-deftest package-get-version ()
+  (should (stringp compat-tests--version))
+  (should-equal 29 (car (version-to-list compat-tests--version))))
+
 (ert-deftest buffer-match-p ()
   (let ((b "*compat-test-buffer*")
         (child-mode (make-symbol "child"))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]