forked from nicferrier/elisp-process
/
elisp-process-run-tests.el
67 lines (61 loc) · 2.02 KB
/
elisp-process-run-tests.el
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
;;; tests for the run stuff
(require 'elisp-process-run)
(require 'ert)
(ert-deftest elisp-process/rarchive-dir ()
"Test the archive-dir stuff."
;; Test with the default, using package-archives
(should
(equal
'(setq package-archives
(quote (("local" . "~/work")
("gnu" . "http://elpa.gnu.org/packages/"))))
(let ((package-archives
'(("gnu" . "http://elpa.gnu.org/packages/"))))
(read (elisp-process/rarchive-dir "~/work")))))
;; Test turning off package-archives
(should
(equal
'(setq package-archives
(quote (("local" . "~/work"))))
(let (elisp-process-use-archives
(package-archives
'(("gnu" . "http://elpa.gnu.org/packages/"))))
(read (elisp-process/rarchive-dir "~/work")))))
;; Test turning off package-archives and specifying nil
(should
(equal
'(setq package-archives '())
(let (elisp-process-use-archives
(package-archives
'(("gnu" . "http://elpa.gnu.org/packages/"))))
(read (elisp-process/rarchive-dir nil))))))
(ert-deftest elisp-process/rafter-init-lisp ()
"Test the `after-init-hook' computation."
(should
(equal
'(add-hook 'after-init (lambda nil (load "~/blah.el")))
(read (elisp-process/rafter-init-lisp "~/blah.el")))))
(ert-deftest elisp-process/rlisp ()
"Test making the LISP into a string."
(should
(equal
'(let ((x '(some list)))
(mapcar 'identity x))
(read
(elisp-process/rlisp
'(let ((x '(some list)))(mapcar 'identity x)))))))
(ert-deftest elisp-process-run ()
"Test actually starting and stopping servers."
(let* (elisp-process-use-archives
(server (elisp-process-run-server
'(let ((x 1)) x)
"/tmp/test-archive")))
(unwind-protect
(should
(equal
"hello world"
(progn
(elisp-process-eval server '(setq test-var-1 "hello world"))
(elisp-process-eval server 'test-var-1))))
(kill-elisp-process server))))
;;; end tests