branch: externals/objed commit 67a924fbbea3b3363639ac3cde75d7fda65dd359 Author: Clemens Radermacher <clem...@posteo.net> Commit: Clemens Radermacher <clem...@posteo.net>
Separate tests by major-mode --- test/tests.el | 33 +++++++++++----------- .../00_activate/backward-word | 0 .../00_activate/beginning-of-defun | 0 .../00_activate/beginning-of-line | 0 .../{ => emacs-lisp-mode}/00_activate/forward-word | 0 .../{ => emacs-lisp-mode}/00_activate/next-line | 0 test/tests/{ => emacs-lisp-mode}/basic-movement/2b | 0 test/tests/{ => emacs-lisp-mode}/basic-movement/2r | 0 test/tests/{ => emacs-lisp-mode}/basic-movement/2s | 0 test/tests/{ => emacs-lisp-mode}/basic-movement/3f | 0 test/tests/{ => emacs-lisp-mode}/basic-movement/a | 0 test/tests/{ => emacs-lisp-mode}/basic-movement/ae | 0 test/tests/{ => emacs-lisp-mode}/basic-movement/bb | 0 test/tests/{ => emacs-lisp-mode}/basic-movement/e | 0 .../tests/{ => emacs-lisp-mode}/basic-movement/fff | 0 test/tests/{ => emacs-lisp-mode}/basic-movement/n | 0 .../{ => emacs-lisp-mode}/basic-movement/npsrfb | 0 test/tests/{ => emacs-lisp-mode}/basic-movement/p | 0 test/tests/{ => emacs-lisp-mode}/basic-movement/rr | 0 test/tests/{ => emacs-lisp-mode}/basic-movement/ss | 0 .../{ => emacs-lisp-mode}/expansion/beg_block_1 | 0 .../{ => emacs-lisp-mode}/expansion/beg_block_2 | 0 .../{ => emacs-lisp-mode}/expansion/beg_block_3 | 0 .../{ => emacs-lisp-mode}/expansion/beg_block_4 | 0 .../{ => emacs-lisp-mode}/expansion/beg_block_5 | 0 test/tests/{ => emacs-lisp-mode}/expansion/block_1 | 0 test/tests/{ => emacs-lisp-mode}/expansion/block_2 | 0 test/tests/{ => emacs-lisp-mode}/expansion/block_3 | 0 test/tests/{ => emacs-lisp-mode}/expansion/block_4 | 0 test/tests/{ => emacs-lisp-mode}/expansion/block_5 | 0 test/tests/{ => emacs-lisp-mode}/expansion/block_6 | 0 .../{ => emacs-lisp-mode}/expansion/context_1 | 0 .../{ => emacs-lisp-mode}/expansion/context_2 | 0 .../{ => emacs-lisp-mode}/expansion/context_3 | 0 .../{ => emacs-lisp-mode}/expansion/context_4 | 0 .../{ => emacs-lisp-mode}/expansion/context_5 | 0 .../{ => emacs-lisp-mode}/expansion/end_block_1 | 0 .../{ => emacs-lisp-mode}/expansion/end_block_2 | 0 .../{ => emacs-lisp-mode}/expansion/end_block_3 | 0 .../{ => emacs-lisp-mode}/expansion/end_block_4 | 0 .../{ => emacs-lisp-mode}/expansion/end_block_5 | 0 .../{ => emacs-lisp-mode}/expansion/end_block_6 | 0 .../{ => emacs-lisp-mode}/navigate-objects/defun | 0 test/tests/{ => emacs-lisp-mode}/state/npsfsb_pop | 0 test/tests/{ => emacs-lisp-mode}/state/rrrpop | 0 45 files changed, 16 insertions(+), 17 deletions(-) diff --git a/test/tests.el b/test/tests.el index 504b57d..3fd8587 100644 --- a/test/tests.el +++ b/test/tests.el @@ -2,6 +2,8 @@ (require 'cl-lib) (require 'objed) +;; TO ADD NEW TESTS CREATE A DIR IN TESTS AND ADD TESTS FILES IN IT. + ;; activate on load (objed-mode 1) @@ -77,16 +79,15 @@ Insert KEY if there's no command." ;; (should (equal (objed-decode-keysequence "3\C-?") ;; '(3 "")))) -(defmacro objed-with (in body &optional object mode) - (let ((init (if object `(objed--init ',object) - '(objed--init 'char))) +(defmacro objed-with (in body &optional mode) + (let ((init '(objed--init 'char)) (body (if (stringp body) `(kbd ,body) body))) `(let ((temp-buffer (generate-new-buffer " *temp*"))) (save-window-excursion (unwind-protect (progn (switch-to-buffer temp-buffer) - (or (and ,mode (funcall ',mode 1)) + (or (and ',mode (funcall ',mode)) (emacs-lisp-mode)) (transient-mark-mode 1) (insert ,in) @@ -164,20 +165,20 @@ Insert KEY if there's no command." (string= str1 str2))) -(defmacro objed-create-test (file) +(defmacro objed-create-test (file mode) (let* ((parsed (objed-parse-test file)) (key (nth 0 parsed)) (str1 (nth 1 parsed)) (str2 (nth 2 parsed))) - `(should (objed-equal (objed-with ,str1 ,key) + `(should (objed-equal (objed-with ,str1 ,key ,mode) (prog1 ,str2 ;; show path of test in compile output ,file))))) -(defmacro objed-create-tests-for (dir) +(defmacro objed-create-tests-for (dir mode) (let ((files (directory-files (expand-file-name - (format "tests/%s" dir) + (format "tests/%s/%s" (symbol-name mode) dir) (file-name-directory (or load-file-name default-directory))) t "^[^.]")) (body nil)) @@ -185,7 +186,7 @@ Insert KEY if there's no command." (push (intern (format "objed-%s" dir)) body) (push nil body) (dolist (file files) - (push `(objed-create-test ,file) body)) + (push `(objed-create-test ,file ,mode) body)) (nreverse body))) @@ -193,30 +194,28 @@ Insert KEY if there's no command." ;; (objed--call-object-interactively 'line)) ;; "|<Testing line here>")) -(defmacro objed-create-tests () +(defmacro objed-create-tests (mode) (let ((dirs (directory-files (expand-file-name - "tests" + (format "tests/%s" (symbol-name mode)) (file-name-directory (or load-file-name default-directory))) t "^[^.]")) (body nil)) (push 'progn body) (dolist (dir dirs) - (push `(objed-create-tests-for ,(file-name-nondirectory dir)) + (push `(objed-create-tests-for ,(file-name-nondirectory dir) ,mode) body)) (nreverse body))) -(objed-create-tests) - - +(objed-create-tests emacs-lisp-mode) +;; TODO: op tests, marking, remaining commands, other modes +(provide 'tests) -;; TODO: op tests, marking, remaining commands -(provide 'tests) diff --git a/test/tests/00_activate/backward-word b/test/tests/emacs-lisp-mode/00_activate/backward-word similarity index 100% rename from test/tests/00_activate/backward-word rename to test/tests/emacs-lisp-mode/00_activate/backward-word diff --git a/test/tests/00_activate/beginning-of-defun b/test/tests/emacs-lisp-mode/00_activate/beginning-of-defun similarity index 100% rename from test/tests/00_activate/beginning-of-defun rename to test/tests/emacs-lisp-mode/00_activate/beginning-of-defun diff --git a/test/tests/00_activate/beginning-of-line b/test/tests/emacs-lisp-mode/00_activate/beginning-of-line similarity index 100% rename from test/tests/00_activate/beginning-of-line rename to test/tests/emacs-lisp-mode/00_activate/beginning-of-line diff --git a/test/tests/00_activate/forward-word b/test/tests/emacs-lisp-mode/00_activate/forward-word similarity index 100% rename from test/tests/00_activate/forward-word rename to test/tests/emacs-lisp-mode/00_activate/forward-word diff --git a/test/tests/00_activate/next-line b/test/tests/emacs-lisp-mode/00_activate/next-line similarity index 100% rename from test/tests/00_activate/next-line rename to test/tests/emacs-lisp-mode/00_activate/next-line diff --git a/test/tests/basic-movement/2b b/test/tests/emacs-lisp-mode/basic-movement/2b similarity index 100% rename from test/tests/basic-movement/2b rename to test/tests/emacs-lisp-mode/basic-movement/2b diff --git a/test/tests/basic-movement/2r b/test/tests/emacs-lisp-mode/basic-movement/2r similarity index 100% rename from test/tests/basic-movement/2r rename to test/tests/emacs-lisp-mode/basic-movement/2r diff --git a/test/tests/basic-movement/2s b/test/tests/emacs-lisp-mode/basic-movement/2s similarity index 100% rename from test/tests/basic-movement/2s rename to test/tests/emacs-lisp-mode/basic-movement/2s diff --git a/test/tests/basic-movement/3f b/test/tests/emacs-lisp-mode/basic-movement/3f similarity index 100% rename from test/tests/basic-movement/3f rename to test/tests/emacs-lisp-mode/basic-movement/3f diff --git a/test/tests/basic-movement/a b/test/tests/emacs-lisp-mode/basic-movement/a similarity index 100% rename from test/tests/basic-movement/a rename to test/tests/emacs-lisp-mode/basic-movement/a diff --git a/test/tests/basic-movement/ae b/test/tests/emacs-lisp-mode/basic-movement/ae similarity index 100% rename from test/tests/basic-movement/ae rename to test/tests/emacs-lisp-mode/basic-movement/ae diff --git a/test/tests/basic-movement/bb b/test/tests/emacs-lisp-mode/basic-movement/bb similarity index 100% rename from test/tests/basic-movement/bb rename to test/tests/emacs-lisp-mode/basic-movement/bb diff --git a/test/tests/basic-movement/e b/test/tests/emacs-lisp-mode/basic-movement/e similarity index 100% rename from test/tests/basic-movement/e rename to test/tests/emacs-lisp-mode/basic-movement/e diff --git a/test/tests/basic-movement/fff b/test/tests/emacs-lisp-mode/basic-movement/fff similarity index 100% rename from test/tests/basic-movement/fff rename to test/tests/emacs-lisp-mode/basic-movement/fff diff --git a/test/tests/basic-movement/n b/test/tests/emacs-lisp-mode/basic-movement/n similarity index 100% rename from test/tests/basic-movement/n rename to test/tests/emacs-lisp-mode/basic-movement/n diff --git a/test/tests/basic-movement/npsrfb b/test/tests/emacs-lisp-mode/basic-movement/npsrfb similarity index 100% rename from test/tests/basic-movement/npsrfb rename to test/tests/emacs-lisp-mode/basic-movement/npsrfb diff --git a/test/tests/basic-movement/p b/test/tests/emacs-lisp-mode/basic-movement/p similarity index 100% rename from test/tests/basic-movement/p rename to test/tests/emacs-lisp-mode/basic-movement/p diff --git a/test/tests/basic-movement/rr b/test/tests/emacs-lisp-mode/basic-movement/rr similarity index 100% rename from test/tests/basic-movement/rr rename to test/tests/emacs-lisp-mode/basic-movement/rr diff --git a/test/tests/basic-movement/ss b/test/tests/emacs-lisp-mode/basic-movement/ss similarity index 100% rename from test/tests/basic-movement/ss rename to test/tests/emacs-lisp-mode/basic-movement/ss diff --git a/test/tests/expansion/beg_block_1 b/test/tests/emacs-lisp-mode/expansion/beg_block_1 similarity index 100% rename from test/tests/expansion/beg_block_1 rename to test/tests/emacs-lisp-mode/expansion/beg_block_1 diff --git a/test/tests/expansion/beg_block_2 b/test/tests/emacs-lisp-mode/expansion/beg_block_2 similarity index 100% rename from test/tests/expansion/beg_block_2 rename to test/tests/emacs-lisp-mode/expansion/beg_block_2 diff --git a/test/tests/expansion/beg_block_3 b/test/tests/emacs-lisp-mode/expansion/beg_block_3 similarity index 100% rename from test/tests/expansion/beg_block_3 rename to test/tests/emacs-lisp-mode/expansion/beg_block_3 diff --git a/test/tests/expansion/beg_block_4 b/test/tests/emacs-lisp-mode/expansion/beg_block_4 similarity index 100% rename from test/tests/expansion/beg_block_4 rename to test/tests/emacs-lisp-mode/expansion/beg_block_4 diff --git a/test/tests/expansion/beg_block_5 b/test/tests/emacs-lisp-mode/expansion/beg_block_5 similarity index 100% rename from test/tests/expansion/beg_block_5 rename to test/tests/emacs-lisp-mode/expansion/beg_block_5 diff --git a/test/tests/expansion/block_1 b/test/tests/emacs-lisp-mode/expansion/block_1 similarity index 100% rename from test/tests/expansion/block_1 rename to test/tests/emacs-lisp-mode/expansion/block_1 diff --git a/test/tests/expansion/block_2 b/test/tests/emacs-lisp-mode/expansion/block_2 similarity index 100% rename from test/tests/expansion/block_2 rename to test/tests/emacs-lisp-mode/expansion/block_2 diff --git a/test/tests/expansion/block_3 b/test/tests/emacs-lisp-mode/expansion/block_3 similarity index 100% rename from test/tests/expansion/block_3 rename to test/tests/emacs-lisp-mode/expansion/block_3 diff --git a/test/tests/expansion/block_4 b/test/tests/emacs-lisp-mode/expansion/block_4 similarity index 100% rename from test/tests/expansion/block_4 rename to test/tests/emacs-lisp-mode/expansion/block_4 diff --git a/test/tests/expansion/block_5 b/test/tests/emacs-lisp-mode/expansion/block_5 similarity index 100% rename from test/tests/expansion/block_5 rename to test/tests/emacs-lisp-mode/expansion/block_5 diff --git a/test/tests/expansion/block_6 b/test/tests/emacs-lisp-mode/expansion/block_6 similarity index 100% rename from test/tests/expansion/block_6 rename to test/tests/emacs-lisp-mode/expansion/block_6 diff --git a/test/tests/expansion/context_1 b/test/tests/emacs-lisp-mode/expansion/context_1 similarity index 100% rename from test/tests/expansion/context_1 rename to test/tests/emacs-lisp-mode/expansion/context_1 diff --git a/test/tests/expansion/context_2 b/test/tests/emacs-lisp-mode/expansion/context_2 similarity index 100% rename from test/tests/expansion/context_2 rename to test/tests/emacs-lisp-mode/expansion/context_2 diff --git a/test/tests/expansion/context_3 b/test/tests/emacs-lisp-mode/expansion/context_3 similarity index 100% rename from test/tests/expansion/context_3 rename to test/tests/emacs-lisp-mode/expansion/context_3 diff --git a/test/tests/expansion/context_4 b/test/tests/emacs-lisp-mode/expansion/context_4 similarity index 100% rename from test/tests/expansion/context_4 rename to test/tests/emacs-lisp-mode/expansion/context_4 diff --git a/test/tests/expansion/context_5 b/test/tests/emacs-lisp-mode/expansion/context_5 similarity index 100% rename from test/tests/expansion/context_5 rename to test/tests/emacs-lisp-mode/expansion/context_5 diff --git a/test/tests/expansion/end_block_1 b/test/tests/emacs-lisp-mode/expansion/end_block_1 similarity index 100% rename from test/tests/expansion/end_block_1 rename to test/tests/emacs-lisp-mode/expansion/end_block_1 diff --git a/test/tests/expansion/end_block_2 b/test/tests/emacs-lisp-mode/expansion/end_block_2 similarity index 100% rename from test/tests/expansion/end_block_2 rename to test/tests/emacs-lisp-mode/expansion/end_block_2 diff --git a/test/tests/expansion/end_block_3 b/test/tests/emacs-lisp-mode/expansion/end_block_3 similarity index 100% rename from test/tests/expansion/end_block_3 rename to test/tests/emacs-lisp-mode/expansion/end_block_3 diff --git a/test/tests/expansion/end_block_4 b/test/tests/emacs-lisp-mode/expansion/end_block_4 similarity index 100% rename from test/tests/expansion/end_block_4 rename to test/tests/emacs-lisp-mode/expansion/end_block_4 diff --git a/test/tests/expansion/end_block_5 b/test/tests/emacs-lisp-mode/expansion/end_block_5 similarity index 100% rename from test/tests/expansion/end_block_5 rename to test/tests/emacs-lisp-mode/expansion/end_block_5 diff --git a/test/tests/expansion/end_block_6 b/test/tests/emacs-lisp-mode/expansion/end_block_6 similarity index 100% rename from test/tests/expansion/end_block_6 rename to test/tests/emacs-lisp-mode/expansion/end_block_6 diff --git a/test/tests/navigate-objects/defun b/test/tests/emacs-lisp-mode/navigate-objects/defun similarity index 100% rename from test/tests/navigate-objects/defun rename to test/tests/emacs-lisp-mode/navigate-objects/defun diff --git a/test/tests/state/npsfsb_pop b/test/tests/emacs-lisp-mode/state/npsfsb_pop similarity index 100% rename from test/tests/state/npsfsb_pop rename to test/tests/emacs-lisp-mode/state/npsfsb_pop diff --git a/test/tests/state/rrrpop b/test/tests/emacs-lisp-mode/state/rrrpop similarity index 100% rename from test/tests/state/rrrpop rename to test/tests/emacs-lisp-mode/state/rrrpop