]> git.eshelyaron.com Git - emacs.git/commitdiff
Add tests for checking byte-switch code.
authorVibhav Pant <vibhavp@gmail.com>
Tue, 7 Feb 2017 14:05:20 +0000 (19:35 +0530)
committerVibhav Pant <vibhavp@gmail.com>
Tue, 7 Feb 2017 14:05:20 +0000 (19:35 +0530)
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-cond): New test,
  test byte-switch bytecode.

test/lisp/emacs-lisp/bytecomp-tests.el

index bc47c82c1e1f1f200745d77d58486e47bdbfb1ea..2233b28d331c33c6132a8ce55b6c45d83db89046 100644 (file)
 Each element will be executed by interpreter and with
 bytecompiled code, and their results compared.")
 
+(defconst byte-opt-testsuite-cond-data
+  '(
+    (let ((a 3)) (cond ((eq a 1) 'one) ((eq a 2) 'two) ((eq a 3) 'three) (t t)))
+    (let ((a 'three)) (cond ((eq a 'one) 1) ((eq a 2) 'two) ((eq a 'three) 3)
+                            (t t)))
+    (let ((a 2)) (cond ((eq a 'one) 1) ((eq a 1) 'one) ((eq a 2) 'two)
+                       (t nil))))
+  "List of expressions for testing byte-switch.")
+
 (defun bytecomp-check-1 (pat)
   "Return non-nil if PAT is the same whether directly evalled or compiled."
   (let ((warning-minimum-log-level :emergency)
@@ -276,6 +285,11 @@ bytecompiled code, and their results compared.")
   (dolist (pat byte-opt-testsuite-arith-data)
     (should (bytecomp-check-1 pat))))
 
+(ert-deftest bytecomp-cond ()
+  "Test the Emacs byte compiler."
+  (dolist (pat byte-opt-testsuite-cond-data)
+    (should (bytecomp-check-1 pat))))
+
 (defun test-byte-opt-arithmetic (&optional arg)
   "Unit test for byte-opt arithmetic operations.
 Subtests signal errors if something goes wrong."