]> git.eshelyaron.com Git - emacs.git/commitdiff
* Add few more type specifier tests
authorAndrea Corallo <akrl@sdf.org>
Thu, 12 Nov 2020 14:11:58 +0000 (15:11 +0100)
committerAndrea Corallo <akrl@sdf.org>
Thu, 12 Nov 2020 22:56:53 +0000 (23:56 +0100)
* test/src/comp-tests.el (comp-tests-type-spec-tests): Add three
tests and uncomment one.

test/src/comp-tests.el

index 23c4df882017188b71a9f61770b795160faad8e8..61838c670e16a893b00e5c37265d976d032df04c 100644 (file)
@@ -771,19 +771,19 @@ Return a list of results."
     (native-compile (cadr func-form))))
 
 (defconst comp-tests-type-spec-tests
-  `(((defun comp-tests-ret-type-spec-0-f (x)
+  `(((defun comp-tests-ret-type-spec-f (x)
        x)
-     (t))
+     t)
 
-    ((defun comp-tests-ret-type-spec-1-f ()
+    ((defun comp-tests-ret-type-spec-f ()
        1)
      (integer 1 1))
 
-    ((defun comp-tests-ret-type-spec-2-f (x)
+    ((defun comp-tests-ret-type-spec-f (x)
        (if x 1 3))
      (or (integer 1 1) (integer 3 3)))
 
-    ((defun comp-tests-ret-type-spec-3-f (x)
+    ((defun comp-tests-ret-type-spec-f (x)
        (let (y)
          (if x
              (setf y 1)
@@ -791,7 +791,7 @@ Return a list of results."
          y))
      (integer 1 2))
 
-    ((defun comp-tests-ret-type-spec-4-f (x)
+    ((defun comp-tests-ret-type-spec-f (x)
        (let (y)
          (if x
              (setf y 1)
@@ -799,48 +799,48 @@ Return a list of results."
          y))
      (or (integer 1 1) (integer 3 3)))
 
-    ((defun comp-tests-ret-type-spec-5-f (x)
+    ((defun comp-tests-ret-type-spec-f (x)
        (if x
            (list x)
          3))
      (or cons (integer 3 3)))
 
-    ((defun comp-tests-ret-type-spec-6-f (x)
+    ((defun comp-tests-ret-type-spec-f (x)
        (if x
            'foo
          3))
      (or (member foo) (integer 3 3)))
 
-    ((defun comp-tests-ret-type-spec-7-1-f (x)
+    ((defun comp-tests-ret-type-spec-f (x)
        (if (eq x 3)
            x
          'foo))
      (or (member foo) (integer 3 3)))
 
-    ((defun comp-tests-ret-type-spec-7-2-f (x)
+    ((defun comp-tests-ret-type-spec-f (x)
        (if (eq 3 x)
            x
          'foo))
      (or (member foo) (integer 3 3)))
 
-    ((defun comp-tests-ret-type-spec-8-1-f (x)
+    ((defun comp-tests-ret-type-spec-f (x)
        (if (= x 3)
            x
          'foo))
      (or (member foo) (integer 3 3)))
 
-    ((defun comp-tests-ret-type-spec-8-2-f (x)
+    ((defun comp-tests-ret-type-spec-f (x)
        (if (= 3 x)
            x
          'foo))
      (or (member foo) (integer 3 3)))
 
-    ;; FIXME returning ATM (or t (member foo))
-    ;; ((defun comp-tests-ret-type-spec-8-3-f (x)
-    ;;    (if (= x 3)
-    ;;        'foo
-    ;;      x))
-    ;;  (or number (member foo)))
+    ;; FIXME would be nice to have (or number (member foo))
+    ((defun comp-tests-ret-type-spec-8-3-f (x)
+       (if (= x 3)
+           'foo
+         x))
+     t)
 
     ((defun comp-tests-ret-type-spec-8-4-f (x y)
        (if (= x y)
@@ -852,9 +852,30 @@ Return a list of results."
        (comp-hint-fixnum y))
      (integer ,most-negative-fixnum ,most-positive-fixnum))
 
-    ((defun comp-tests-ret-type-spec-9-1-f (x)
+    ((defun comp-tests-ret-type-spec-f (x)
        (comp-hint-cons x))
-     (cons))))
+     cons)
+
+    ((defun comp-tests-ret-type-spec-f (x)
+        (let (y)
+          (when x
+            (setf y 4))
+          y))
+     (or null (integer 4 4)))
+
+    ((defun comp-tests-ret-type-spec-f ()
+        (let (x
+              (y 3))
+          (setf x y)
+          y))
+     (integer 3 3))
+
+    ((defun comp-tests-ret-type-spec-f (x)
+       (let ((y 3))
+         (when x
+           (setf y x))
+         y))
+     t)))
 
 (comp-deftest ret-type-spec ()
   "Some derived return type specifier tests."