[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/devil fa6eb0a319 33/49: Move tests to separate file using
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/devil fa6eb0a319 33/49: Move tests to separate file using ERT |
Date: |
Mon, 15 May 2023 12:59:33 -0400 (EDT) |
branch: elpa/devil
commit fa6eb0a319f103ee1fd949cc9cec57bb97989d40
Author: Philip Kaludercic <philipk@posteo.net>
Commit: Susam Pal <susam@susam.net>
Move tests to separate file using ERT
* devil.el: (devil--assert, devil--tests) Remove.
* devil-tests.el: Create new file.
---
devil-tests.el | 34 ++++++++++++++++++++++++++++++++++
devil.el | 24 ------------------------
2 files changed, 34 insertions(+), 24 deletions(-)
diff --git a/devil-tests.el b/devil-tests.el
new file mode 100644
index 0000000000..22e7071201
--- /dev/null
+++ b/devil-tests.el
@@ -0,0 +1,34 @@
+;;; devil-tests.el --- Tests for devil -*- lexical-binding: t; -*-
+
+;;; Commentary:
+
+;; Unit tests for the internal devil logic. Run these with M-x ert
+;; RET devil- RET.
+
+;;; Code:
+
+(require 'ert)
+(require 'devil)
+
+(ert-deftest devil-invalid-key-p ()
+ "Test if `devil--invalid-key-p' words as expected."
+ (should (devil--invalid-key-p ""))
+ (should (devil--invalid-key-p "C-x-C-f"))
+ (should (devil--invalid-key-p "C-x CC-f"))
+ (should (not (devil--invalid-key-p "C-x C-f")))
+ (should (not (devil--invalid-key-p "C-M-x"))))
+
+(ert-deftest devil-translate ()
+ "Test if `devil-translate' works as expected."
+ (should (string= (devil-translate (vconcat ",")) "C-"))
+ (should (string= (devil-translate (vconcat ",x")) "C-x"))
+ (should (string= (devil-translate (vconcat ",x,")) "C-x C-"))
+ (should (string= (devil-translate (vconcat ",x,f")) "C-x C-f"))
+ (should (string= (devil-translate (vconcat ",,")) ","))
+ (should (string= (devil-translate (vconcat ",,,,")) ", ,"))
+ (should (string= (devil-translate (vconcat ",mx")) "C-M-x"))
+ (should (string= (devil-translate (vconcat ",mmx")) "M-x"))
+ (should (string= (devil-translate (vconcat ",mmm")) "M-m")))
+
+(provide 'devil-tests)
+;;; devil-tests.el ends here
diff --git a/devil.el b/devil.el
index 2a341f57f8..afe1336613 100644
--- a/devil.el
+++ b/devil.el
@@ -387,29 +387,5 @@ this-command: %s; last-command: %s;
last-repeatable-command: %s"
(when devil-logging
(apply #'message (concat "Devil: " format-string) args)))
-(defmacro devil--assert (form)
- "Evaluate FORM and cause error if the result is nil."
- `(unless ,form
- (error "Assertion failed: %s" ',form)))
-
-(defun devil--tests ()
- "Test Devil functions assuming Devil has not been customized."
- (devil--assert (devil--invalid-key-p ""))
- (devil--assert (devil--invalid-key-p "C-x-C-f"))
- (devil--assert (devil--invalid-key-p "C-x CC-f"))
- (devil--assert (not (devil--invalid-key-p "C-x C-f")))
- (devil--assert (not (devil--invalid-key-p "C-M-x")))
- (devil--assert (string= (devil-translate (vconcat ",")) "C-"))
- (devil--assert (string= (devil-translate (vconcat ",x")) "C-x"))
- (devil--assert (string= (devil-translate (vconcat ",x,")) "C-x C-"))
- (devil--assert (string= (devil-translate (vconcat ",x,f")) "C-x C-f"))
- (devil--assert (string= (devil-translate (vconcat ",,")) ","))
- (devil--assert (string= (devil-translate (vconcat ",,,,")) ", ,"))
- (devil--assert (string= (devil-translate (vconcat ",mx")) "C-M-x"))
- (devil--assert (string= (devil-translate (vconcat ",mmx")) "M-x"))
- (devil--assert (string= (devil-translate (vconcat ",mmm")) "M-m"))
- (message "Done"))
-
(provide 'devil)
-
;;; devil.el ends here
- [nongnu] elpa/devil f57adb4860 03/49: Set version to 0.1.0, (continued)
- [nongnu] elpa/devil f57adb4860 03/49: Set version to 0.1.0, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil a98cb1a7bd 09/49: Automatically detect the activation key, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 21eeb196f7 10/49: Explain how to configure multiple Devil keys, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 1cf89ce338 11/49: Add yank-pop as a repeatable command, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 402dcfd7fb 13/49: Fix repeatable key sequence for yank-pop, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil ef5449deda 16/49: Add kill-line and undo to repeatable keys, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 02464b7516 18/49: Explain why a single activation key is the default, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 4b1eba8a1c 24/49: Add stricter validation of translated key sequence, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 6943ff3e82 28/49: Remove custom version command., ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 459ce032e4 32/49: * devil.el (devil--log-command-loop-info): Use a single 'format', ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil fa6eb0a319 33/49: Move tests to separate file using ERT,
ELPA Syncer <=
- [nongnu] elpa/devil 355bcc9c14 34/49: Extract most of the README into a separate manual, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 79fd50fe22 36/49: Set version to 0.3.0, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil c60437c11b 39/49: Support making all key sequences repeatable, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil f6ddd7cac1 38/49: Fix undefined error for RET, <f10>, etc., ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 72ce585e59 42/49: Document devil-all-keys-repeatable in the manual, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 305a41dc55 45/49: Add MELPA badges, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 2fe542cbc6 46/49: Mention Emacs at the beginning of documentation, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil b84cd61eec 40/49: Format .org files consistently, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil a42a778ec3 43/49: Add devil-all-keys-repeatable to changelog, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 1ddc4dc2e3 44/49: Fix key translation for key vector as Devil key, ELPA Syncer, 2023/05/15