summaryrefslogtreecommitdiff
path: root/test/lisp/emacs-lisp/comp-cstr-tests.el
diff options
context:
space:
mode:
Diffstat (limited to 'test/lisp/emacs-lisp/comp-cstr-tests.el')
-rw-r--r--test/lisp/emacs-lisp/comp-cstr-tests.el20
1 files changed, 16 insertions, 4 deletions
diff --git a/test/lisp/emacs-lisp/comp-cstr-tests.el b/test/lisp/emacs-lisp/comp-cstr-tests.el
index 74419ff01e4..38a5e291311 100644
--- a/test/lisp/emacs-lisp/comp-cstr-tests.el
+++ b/test/lisp/emacs-lisp/comp-cstr-tests.el
@@ -42,17 +42,29 @@
(defconst comp-cstr-typespec-tests-alist
`((symbol . symbol)
((or string array) . array)
- ;; ((and string array) . string)
((or symbol number) . (or symbol number))
((or cons atom) . (or cons atom)) ;; SBCL return T
+ ((or integer number) . number)
+ ((or (or integer symbol) number) . (or symbol number))
+ ((or (or integer symbol) (or number list)) . (or list symbol number))
+ ((or (or integer number) nil) . number)
+ ;; ((and string array) . string)
;; ((and cons atom) . (or cons atom))
+ ;; ((and (member foo) (member bar)) . symbol)
+ ;; ((and (member foo) symbol) . (member foo))
((member foo) . (member foo))
((member foo bar) . (member foo bar))
((or (member foo) (member bar)) . (member foo bar))
- ;; ((and (member foo) (member bar)) . symbol)
((or (member foo) symbol) . symbol) ;; SBCL return (OR SYMBOL (MEMBER FOO))
- ;; ((and (member foo) symbol) . (member foo))
- ((or (member foo) number) . (or (member foo) number)))
+ ((or (member foo) number) . (or (member foo) number))
+ ((integer 1 2) . (integer 1 2))
+ ((or (integer -1 0) (integer 3 4)) . (or (integer -1 0) (integer 3 4)))
+ ((or (integer -1 2) (integer 3 4)) . (integer -1 4))
+ ((or (integer -1 3) (integer 3 4)) . (integer -1 4))
+ ((or (integer -1 4) (integer 3 4)) . (integer -1 4))
+ ((or (integer -1 5) (integer 3 4)) . (integer -1 5))
+ ((or (integer -1 *) (integer 3 4)) . (integer -1 *))
+ ((or (integer -1 2) (integer * 4)) . (integer * 4)))
"Alist type specifier -> expected type specifier.")
(defmacro comp-cstr-synthesize-tests ()