Skip to content

Commit

Permalink
Merge pull request #94 from Imasius/leiningen-test-structure
Browse files Browse the repository at this point in the history
Update clojure-test-mode for leiningen test structure.
  • Loading branch information
technomancy committed Aug 8, 2012
2 parents 96e5a7e + 2be006f commit 80994d8
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 8 deletions.
7 changes: 4 additions & 3 deletions clojure-mode.el
Expand Up @@ -109,8 +109,8 @@ Clojure to load that file."
(define-key map "\C-c\C-e" 'lisp-eval-last-sexp) (define-key map "\C-c\C-e" 'lisp-eval-last-sexp)
(define-key map "\C-c\C-l" 'clojure-load-file) (define-key map "\C-c\C-l" 'clojure-load-file)
(define-key map "\C-c\C-r" 'lisp-eval-region) (define-key map "\C-c\C-r" 'lisp-eval-region)
(define-key map (kbd "C-c C-s") 'clojure-jump-between-tests-and-code)
(define-key map "\C-c\C-z" 'clojure-display-inferior-lisp-buffer) (define-key map "\C-c\C-z" 'clojure-display-inferior-lisp-buffer)
(define-key map (kbd "C-c t") 'clojure-jump-to-test)
(define-key map (kbd "C-c M-q") 'clojure-fill-docstring) (define-key map (kbd "C-c M-q") 'clojure-fill-docstring)
map) map)
"Keymap for Clojure mode. Inherits from `lisp-mode-shared-map'.") "Keymap for Clojure mode. Inherits from `lisp-mode-shared-map'.")
Expand Down Expand Up @@ -1172,7 +1172,7 @@ The arguments are dir, hostname, and port. The return value should be an `alist


;; Test navigation: ;; Test navigation:
(defun clojure-in-tests-p () (defun clojure-in-tests-p ()
(or (string-match-p "test\." (clojure-find-ns)) (or (string-match-p "-test$" (clojure-find-ns))
(string-match-p "/test" (buffer-file-name)))) (string-match-p "/test" (buffer-file-name))))


(defun clojure-underscores-for-hyphens (namespace) (defun clojure-underscores-for-hyphens (namespace)
Expand All @@ -1183,7 +1183,8 @@ The arguments are dir, hostname, and port. The return value should be an `alist
(segments (split-string namespace "\\.")) (segments (split-string namespace "\\."))
(before (subseq segments 0 clojure-test-ns-segment-position)) (before (subseq segments 0 clojure-test-ns-segment-position))
(after (subseq segments clojure-test-ns-segment-position)) (after (subseq segments clojure-test-ns-segment-position))
(test-segments (append before (list "test") after))) (newfile (format "%s_test" (car after)))
(test-segments (append before (list newfile))))
(mapconcat 'identity test-segments "/"))) (mapconcat 'identity test-segments "/")))


(defun clojure-jump-to-test () (defun clojure-jump-to-test ()
Expand Down
11 changes: 6 additions & 5 deletions clojure-test-mode.el
Expand Up @@ -325,9 +325,10 @@ Retuns the problem overlay if such a position is found, otherwise nil."
(if (> 0 clojure-test-ns-segment-position) (if (> 0 clojure-test-ns-segment-position)
(1- (+ (length segments) clojure-test-ns-segment-position)) (1- (+ (length segments) clojure-test-ns-segment-position))
clojure-test-ns-segment-position)) clojure-test-ns-segment-position))
(before (subseq segments 0 test-position)) (before (subseq segments 0 clojure-test-ns-segment-position))
(after (subseq segments (1+ test-position))) (after (subseq segments clojure-test-ns-segment-position))
(impl-segments (append before after))) (newfile (replace-regexp-in-string "_test$" "" (car after)))
(impl-segments (append before (list newfile))))
(mapconcat 'identity impl-segments "/"))) (mapconcat 'identity impl-segments "/")))


;; Commands ;; Commands
Expand All @@ -343,7 +344,7 @@ Retuns the problem overlay if such a position is found, otherwise nil."
(clojure-test-clear (clojure-test-clear
(lambda (&rest args) (lambda (&rest args)
;; clojure-test-eval will wrap in with-out-str ;; clojure-test-eval will wrap in with-out-str
(clojure-test-eval (format "(clojure.core/load-file %s)" (clojure-test-eval (format "(clojure.core/load-file \"%s\")"
(expand-file-name (buffer-file-name))) (expand-file-name (buffer-file-name)))
(lambda (&rest args) (lambda (&rest args)
(clojure-test-eval "(binding [clojure.test/report (clojure-test-eval "(binding [clojure.test/report
Expand Down Expand Up @@ -428,7 +429,7 @@ Retuns the problem overlay if such a position is found, otherwise nil."
(define-key map (kbd "C-c C-'") 'clojure-test-show-result) (define-key map (kbd "C-c C-'") 'clojure-test-show-result)
(define-key map (kbd "C-c '") 'clojure-test-show-result) (define-key map (kbd "C-c '") 'clojure-test-show-result)
(define-key map (kbd "C-c k") 'clojure-test-clear) (define-key map (kbd "C-c k") 'clojure-test-clear)
(define-key map (kbd "C-c t") 'clojure-test-jump-to-implementation) (define-key map (kbd "C-c C-s") 'clojure-jump-between-tests-and-code)
(define-key map (kbd "M-p") 'clojure-test-previous-problem) (define-key map (kbd "M-p") 'clojure-test-previous-problem)
(define-key map (kbd "M-n") 'clojure-test-next-problem) (define-key map (kbd "M-n") 'clojure-test-next-problem)
map) map)
Expand Down

0 comments on commit 80994d8

Please sign in to comment.