diff options
Diffstat (limited to 'test/lisp/emacs-lisp/comp-cstr-tests.el')
-rw-r--r-- | test/lisp/emacs-lisp/comp-cstr-tests.el | 20 |
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 () |