Fix core & core-lib tests
This commit is contained in:
parent
d683effd23
commit
d099fac2b9
3 changed files with 42 additions and 27 deletions
|
@ -18,7 +18,7 @@
|
||||||
(setq targets
|
(setq targets
|
||||||
(cons doom-core-dir
|
(cons doom-core-dir
|
||||||
(cl-remove-if-not
|
(cl-remove-if-not
|
||||||
(lambda (path) (file-in-directory-p path doom-emacs-dir))
|
(doom-rpartial #'file-in-directory-p doom-emacs-dir)
|
||||||
;; Omit `doom-private-dir', which is always first
|
;; Omit `doom-private-dir', which is always first
|
||||||
(let (doom-modules)
|
(let (doom-modules)
|
||||||
(load (expand-file-name "test/init" doom-core-dir) nil t)
|
(load (expand-file-name "test/init" doom-core-dir) nil t)
|
||||||
|
|
|
@ -234,11 +234,13 @@
|
||||||
(it "loads a file relative to the current directory"
|
(it "loads a file relative to the current directory"
|
||||||
(load! "path")
|
(load! "path")
|
||||||
(expect 'load :to-have-been-called)
|
(expect 'load :to-have-been-called)
|
||||||
(expect 'load :to-have-been-called-with (expand-file-name "path" (eval-when-compile (dir!))) nil t))
|
(expect 'load :to-have-been-called-with
|
||||||
|
(expand-file-name "path" (eval-when-compile (dir!))) nil 'nomessage))
|
||||||
|
|
||||||
(it "loads a file relative to a specified directory"
|
(it "loads a file relative to a specified directory"
|
||||||
(load! "path" doom-etc-dir)
|
(load! "path" doom-etc-dir)
|
||||||
(expect 'load :to-have-been-called-with (expand-file-name "path" doom-etc-dir) nil t)))
|
(expect 'load :to-have-been-called-with
|
||||||
|
(expand-file-name "path" doom-etc-dir) nil 'nomessage)))
|
||||||
|
|
||||||
(describe "quiet!"
|
(describe "quiet!"
|
||||||
(it "suppresses output from message"
|
(it "suppresses output from message"
|
||||||
|
|
|
@ -48,21 +48,13 @@
|
||||||
(spy-on 'doom-load-autoloads-file)
|
(spy-on 'doom-load-autoloads-file)
|
||||||
(spy-on 'warn :and-return-value t))
|
(spy-on 'warn :and-return-value t))
|
||||||
|
|
||||||
(it "loads autoloads file"
|
(it "loads autoloads files"
|
||||||
(let ((doom-interactive-mode t))
|
(ignore-errors (doom-initialize))
|
||||||
(ignore-errors (doom-initialize)))
|
|
||||||
(expect 'doom-load-autoloads-file
|
(expect 'doom-load-autoloads-file
|
||||||
:to-have-been-called-with doom-autoload-file)
|
:to-have-been-called-with doom-autoload-file)
|
||||||
(expect 'doom-load-autoloads-file
|
(expect 'doom-load-autoloads-file
|
||||||
:to-have-been-called-with doom-package-autoload-file))
|
:to-have-been-called-with doom-package-autoload-file))
|
||||||
|
|
||||||
(it "does not load package autoloads file if noninteractive"
|
|
||||||
(doom-initialize)
|
|
||||||
(expect 'doom-load-autoloads-file
|
|
||||||
:to-have-been-called-with doom-autoload-file)
|
|
||||||
(expect 'doom-load-autoloads-file
|
|
||||||
:not :to-have-been-called-with doom-package-autoload-file))
|
|
||||||
|
|
||||||
(it "throws doom-autoload-error in interactive session where autoload files don't exist"
|
(it "throws doom-autoload-error in interactive session where autoload files don't exist"
|
||||||
(let ((doom-interactive-mode t)
|
(let ((doom-interactive-mode t)
|
||||||
(doom-autoload-file "doesnotexist")
|
(doom-autoload-file "doesnotexist")
|
||||||
|
@ -81,20 +73,39 @@
|
||||||
(expect 'require :to-have-been-called-with 'core-editor))))
|
(expect 'require :to-have-been-called-with 'core-editor))))
|
||||||
|
|
||||||
(describe "doom-load-autoloads-file"
|
(describe "doom-load-autoloads-file"
|
||||||
|
:var (doom-autoload-file doom-alt-autoload-file result)
|
||||||
(before-each
|
(before-each
|
||||||
(spy-on 'load :and-return-value t))
|
(setq doom-autoload-file (make-temp-file "doom-autoload" nil ".el"))
|
||||||
|
(with-temp-file doom-autoload-file
|
||||||
|
(insert "(eval-when-compile (defvar x 1))")
|
||||||
|
(insert "(defvar x 2)"))
|
||||||
|
(byte-compile-file doom-autoload-file))
|
||||||
|
(after-each
|
||||||
|
(delete-file doom-autoload-file)
|
||||||
|
(delete-file (byte-compile-dest-file doom-autoload-file)))
|
||||||
|
|
||||||
(it "loads the autoloads file"
|
(it "loads the byte-compiled autoloads file if available"
|
||||||
(doom-load-autoloads-file doom-autoload-file)
|
(doom-load-autoloads-file doom-autoload-file)
|
||||||
(expect 'load :to-have-been-called-with (file-name-sans-extension doom-autoload-file)
|
(expect (caar load-history) :to-equal
|
||||||
'noerror 'nomessage)))
|
(byte-compile-dest-file doom-autoload-file))
|
||||||
|
|
||||||
|
(delete-file (byte-compile-dest-file doom-autoload-file))
|
||||||
|
(doom-load-autoloads-file doom-autoload-file)
|
||||||
|
(expect (caar load-history) :to-equal doom-autoload-file))
|
||||||
|
|
||||||
|
(it "returns non-nil if successful"
|
||||||
|
(expect (doom-load-autoloads-file doom-autoload-file)))
|
||||||
|
|
||||||
|
(it "returns nil on failure or error, non-fatally"
|
||||||
|
(expect (doom-load-autoloads-file "/does/not/exist") :to-be nil)))
|
||||||
|
|
||||||
(describe "doom-load-envvars-file"
|
(describe "doom-load-envvars-file"
|
||||||
:var (envvarfile process-environment)
|
:var (doom-env-file process-environment)
|
||||||
(before-each
|
(before-each
|
||||||
(setq process-environment (copy-sequence process-environment))
|
(setq process-environment nil
|
||||||
|
doom-env-file (make-temp-file "doom-env"))
|
||||||
(with-temp-file doom-env-file
|
(with-temp-file doom-env-file
|
||||||
(insert "\n\n\nA=1\nB=2\nC=3\n")))
|
(insert "A=1\nB=2\nC=3\n")))
|
||||||
(after-each
|
(after-each
|
||||||
(delete-file doom-env-file))
|
(delete-file doom-env-file))
|
||||||
|
|
||||||
|
@ -106,12 +117,14 @@
|
||||||
(expect (doom-load-envvars-file "/tmp/envvardoesnotexist" 'noerror)
|
(expect (doom-load-envvars-file "/tmp/envvardoesnotexist" 'noerror)
|
||||||
:not :to-throw))
|
:not :to-throw))
|
||||||
|
|
||||||
(it "loads a well-formed envvar file"
|
(it "returns the new value for `process-environment'"
|
||||||
(expect (getenv "A") :not :to-be-truthy)
|
|
||||||
(expect (doom-load-envvars-file doom-env-file)
|
(expect (doom-load-envvars-file doom-env-file)
|
||||||
:to-equal '(("A" . "1") ("B" . "2") ("C" . "3")))
|
:to-equal '("A=1" "B=2" "C=3")))
|
||||||
(expect (getenv "A") :to-equal "1"))
|
|
||||||
|
|
||||||
(it "fails on an invalid envvar file"
|
(it "alters environment variables"
|
||||||
(with-temp-file doom-env-file (insert "A=1\nB=2\nC=3\n"))
|
(dolist (key '("A" "B" "C"))
|
||||||
(expect (doom-load-envvars-file doom-env-file) :to-throw))))
|
(expect (getenv key) :not :to-be-truthy))
|
||||||
|
(expect (doom-load-envvars-file doom-env-file))
|
||||||
|
(expect (getenv "A") :to-equal "1")
|
||||||
|
(expect (getenv "B") :to-equal "2")
|
||||||
|
(expect (getenv "C") :to-equal "3"))))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue