aboutsummaryrefslogtreecommitdiff
path: root/tests/test-local-repository.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-11 00:04:18 -0500
committerCraig Jennings <c@cjennings.net>2026-07-11 00:04:18 -0500
commit99da5e640310a12b67a63764f430fca3fa6de9e1 (patch)
tree17ef7b13e6b2ef54ac2c19008dbba922c6fa65b7 /tests/test-local-repository.el
parentf1e46111925dcc26a27547c0dd2222a6c25e7001 (diff)
downloaddotemacs-99da5e640310a12b67a63764f430fca3fa6de9e1.tar.gz
dotemacs-99da5e640310a12b67a63764f430fca3fa6de9e1.zip
refactor(local-repository): drop the dead archive-init path
localrepo-initialize, localrepo--car-member, and the repository-id/priority defcustoms were never called: early-init.el owns adding the local archive to package-archives, with its own localrepo-location constant. The module is now just cj/update-localrepo-repository. It targets localrepo-location, so there's one archive path instead of a divergent copy. The car-member test goes with its subject. A new test pins that the mirror update uses localrepo-location.
Diffstat (limited to 'tests/test-local-repository.el')
-rw-r--r--tests/test-local-repository.el32
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/test-local-repository.el b/tests/test-local-repository.el
new file mode 100644
index 00000000..132f8dc4
--- /dev/null
+++ b/tests/test-local-repository.el
@@ -0,0 +1,32 @@
+;;; test-local-repository.el --- Tests for the local-repository update command -*- lexical-binding: t; -*-
+
+;;; Commentary:
+;; `cj/update-localrepo-repository' refreshes the checked-in local package
+;; archive at `localrepo-location' (owned by early-init.el) via elpa-mirror.
+;; The elpa-mirror call is mocked at the boundary.
+
+;;; Code:
+
+(require 'ert)
+(require 'cl-lib)
+
+(add-to-list 'load-path (expand-file-name "modules" user-emacs-directory))
+(require 'local-repository)
+
+;; localrepo-location is a defconst in early-init.el, which `make test' never
+;; loads. Declare it special here so the `let' below binds it dynamically and
+;; the module reads that value.
+(defvar localrepo-location nil)
+
+(ert-deftest test-local-repository-update-targets-early-init-location ()
+ "Normal: the mirror update targets `localrepo-location', the single archive
+path early-init.el owns, not a divergent module-local copy."
+ (let ((localrepo-location "/tmp/test-localrepo/")
+ (captured nil))
+ (cl-letf (((symbol-function 'elpamr-create-mirror-for-installed)
+ (lambda (dir &rest _) (setq captured dir))))
+ (cj/update-localrepo-repository)
+ (should (equal captured "/tmp/test-localrepo/")))))
+
+(provide 'test-local-repository)
+;;; test-local-repository.el ends here