diff options
author | Ian Eslick <eslick@alum.mit.edu> | 2013-05-16 21:34:48 -0700 |
---|---|---|
committer | Bozhidar Batsov <bozhidar@tradeo.com> | 2013-07-25 18:04:33 +0300 |
commit | a07e6d82385b83974800da5c67ff70e07615000b (patch) | |
tree | 4a5d5159c4d4a080c70fb61292bc8dfdca77e3e7 /test | |
parent | fce2568ade01f517b03b76627ee91ae36f492feb (diff) |
Add extendable SLIME-style Selector to nREPL
Diffstat (limited to 'test')
-rw-r--r-- | test/nrepl-tests.el | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/test/nrepl-tests.el b/test/nrepl-tests.el index 55ffaef7..273357ac 100644 --- a/test/nrepl-tests.el +++ b/test/nrepl-tests.el @@ -294,3 +294,58 @@ (nrepl-connections-goto-connection) (should (equal b3 (current-buffer)))))) (kill-buffer "*nrepl-connections*")))))))) + +;; selector +(defun nrepl-invoke-selector-method-by-key (ch) + (lexical-let ((method (find ch nrepl-selector-methods :key #'car))) + (funcall (third method)))) + +(ert-deftest test-nrepl-selector-n () + (with-temp-buffer + (lexical-let ((b1 (current-buffer))) + (set (make-local-variable 'nrepl-endpoint) '("123.123.123.123" 4006)) + (let ((nrepl-connection-list (list (buffer-name b1)))) + (nrepl-connection-browser) + (with-temp-buffer ;; switch to another buffer + (nrepl-invoke-selector-method-by-key ?n) + (equal (current-buffer) + (get-buffer nrepl--connection-browser-buffer-name))))))) + +(ert-deftest test-nrepl-selector-c () + (with-temp-buffer + (rename-buffer "*testfile*.clj") + (lexical-let ((b1 (current-buffer))) + (setq major-mode 'clojure-mode) + (with-temp-buffer + (rename-buffer "*testfile*.el") + (setq major-mode 'emacs-lisp-mode) + (with-temp-buffer + (not (equal (current-buffer) b1)) + (nrepl-invoke-selector-method-by-key ?e) + (not (equal (current-buffer) b1)) + (nrepl-invoke-selector-method-by-key ?c) + (equal (current-buffer) b1)))))) + +(ert-deftest test-nrepl-selector-e () + (with-temp-buffer + (rename-buffer "*testfile*.el") + (lexical-let ((b1 (current-buffer))) + (setq major-mode 'emacs-lisp-mode) + (with-temp-buffer + (rename-buffer "*testfile*.clj") + (setq major-mode 'clojure-mode) + (with-temp-buffer + (not (equal (current-buffer) b1)) + (nrepl-invoke-selector-method-by-key ?c) + (not (equal (current-buffer) b1)) + (nrepl-invoke-selector-method-by-key ?e) + (equal (current-buffer) b1)))))) + +(ert-deftest test-nrepl-selector-v () + (with-temp-buffer + (rename-buffer "*nrepl-events*") + (lexical-let ((b1 (current-buffer))) + (with-temp-buffer + (not (equal (current-buffer) b1)) + (nrepl-invoke-selector-method-by-key ?v) + (equal (current-buffer) b1))))) |