diff options
author | Vedang Manerikar <ved.manerikar@gmail.com> | 2013-08-18 16:10:04 +0530 |
---|---|---|
committer | Vedang Manerikar <ved.manerikar@gmail.com> | 2013-08-22 00:15:42 +0530 |
commit | 78f92c9037a698123fb2c4d4a38427a9727fa189 (patch) | |
tree | e73361c48c865f651f8ec6f51f74b44cd844b46b /test | |
parent | d26dfb577250c1b479f6eb4fe86a2a619ab1a689 (diff) |
Add `nrepl-switch-to-relevant-repl-buffer' as separate functionality.
Commit 12558e8 breaks `nrepl-switch-to-repl-buffer' functionality by
assuming that all nrepl connections will be made using
`nrepl-jack-in'.
This commit reverts to old `nrepl-switch-to-repl-buffer'. A new
function `nrepl-switch-to-relevant-repl-buffer' is added as a
convenience function to switch to the correct nrepl buffer from a
given clojure buffer.
Diffstat (limited to 'test')
-rw-r--r-- | test/nrepl-tests.el | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/test/nrepl-tests.el b/test/nrepl-tests.el index a6a949d7..083478ef 100644 --- a/test/nrepl-tests.el +++ b/test/nrepl-tests.el @@ -472,3 +472,57 @@ (should (equal (nrepl-repl-buffer-name) "*nrepl proj:4009*<2>"))) (kill-buffer nrepl-new-buffer))))) + +(ert-deftest test-nrepl-switch-to-relevant-repl-buffer () + (noflet ((nrepl-project-directory-for (dontcare) + nrepl-project-dir)) + (let* ((b1 (generate-new-buffer "temp")) + (b2 (generate-new-buffer "temp")) + (b3 (generate-new-buffer "temp")) + (b4 (generate-new-buffer "temp")) + (b5 (generate-new-buffer "temp")) + (b6 (generate-new-buffer "temp")) + (nrepl-connection-list (list (buffer-name b1) + (buffer-name b2) + (buffer-name b3)))) + (with-current-buffer b1 ;; nrepl-jack-in 1 + (set (make-local-variable 'nrepl-endpoint) '("localhost" 4005)) + (set (make-local-variable 'nrepl-project-dir) "proj1") + (set (make-local-variable 'nrepl-repl-buffer) b4)) + (with-current-buffer b2 ;; nrepl-jack-in 2 + (set (make-local-variable 'nrepl-endpoint) '("localhost" 4006)) + (set (make-local-variable 'nrepl-project-dir) "proj2") + (set (make-local-variable 'nrepl-repl-buffer) b5)) + (with-current-buffer b3 ;; nrepl-connect - no relevant buffer + (set (make-local-variable 'nrepl-endpoint) '("123.123.123.123" 4009)) + (set (make-local-variable 'nrepl-repl-buffer) b6)) + + (with-current-buffer b1 + (nrepl-switch-to-relevant-repl-buffer '()) + (should (equal b4 (current-buffer))) + (should (equal (list (buffer-name b1) (buffer-name b2) (buffer-name b3)) + nrepl-connection-list))) + + (with-current-buffer b2 + (nrepl-switch-to-relevant-repl-buffer '()) + (should (equal b5 (current-buffer))) + (should (equal (list (buffer-name b2) (buffer-name b1) (buffer-name b3)) + nrepl-connection-list))) + + (with-current-buffer b3 + (nrepl-switch-to-relevant-repl-buffer '()) + (should (equal b5 (current-buffer))) ;; didn't switch to anything + (should (equal (list (buffer-name b2) (buffer-name b1) (buffer-name b3)) + nrepl-connection-list))) + + (let ((nrepl-connection-list (list (buffer-name b3) + (buffer-name b2) + (buffer-name b1)))) + (with-current-buffer b1 + (nrepl-switch-to-relevant-repl-buffer '()) + (should (equal b4 (current-buffer))) + (should (equal (list (buffer-name b1) (buffer-name b3) (buffer-name b2)) + nrepl-connection-list)))) + + (dolist (buf (list b1 b2 b3 b4 b5 b6)) + (kill-buffer buf))))) |