X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Ftype.before-xc.lisp;fp=tests%2Ftype.before-xc.lisp;h=3f8639e16716d5974e754705c209b5c4a676dfc8;hb=0aecc2b20142e08068c3434273500131cb13fe2d;hp=e7f0964ad0b35c602debd1faa36c8f5c671ea388;hpb=be7adb92bf0012ab07adac2943e73772dfad7911;p=sbcl.git diff --git a/tests/type.before-xc.lisp b/tests/type.before-xc.lisp index e7f0964..3f8639e 100644 --- a/tests/type.before-xc.lisp +++ b/tests/type.before-xc.lisp @@ -216,4 +216,72 @@ (specifier-type '(member #\b #\c #\f))) (specifier-type '(member #\c)))) +(multiple-value-bind (yes win) + (sb-xc:subtypep 'package 'instance) + (assert yes) + (assert win)) +(multiple-value-bind (yes win) + (sb-xc:subtypep 'symbol 'instance) + (assert (not yes)) + (assert win)) +(multiple-value-bind (yes win) + (sb-xc:subtypep 'package 'funcallable-instance) + (assert (not yes)) + (assert win)) +(multiple-value-bind (yes win) + (sb-xc:subtypep 'symbol 'funcallable-instance) + (assert (not yes)) + (assert win)) +(multiple-value-bind (yes win) + (sb-xc:subtypep 'funcallable-instance 'function) + (assert yes) + (assert win)) +(multiple-value-bind (yes win) + (sb-xc:subtypep 'array 'instance) + (assert (not yes)) + (assert win)) +(multiple-value-bind (yes win) + (sb-xc:subtypep 'character 'instance) + (assert (not yes)) + (assert win)) +(multiple-value-bind (yes win) + (sb-xc:subtypep 'number 'instance) + (assert (not yes)) + (assert win)) +(multiple-value-bind (yes win) + (sb-xc:subtypep 'package '(and (or symbol package) instance)) + (assert yes) + (assert win)) +(multiple-value-bind (yes win) + (sb-xc:subtypep '(and (or double-float integer) instance) 'nil) + (assert yes) + (assert win)) +(multiple-value-bind (yes win) + (sb-xc:subtypep '(and (or double-float integer) funcallable-instance) 'nil) + (assert yes) + (assert win)) +(multiple-value-bind (yes win) + (sb-xc:subtypep 'instance 'type-specifier) + (assert yes) + (assert win)) +(multiple-value-bind (yes win) + (sb-xc:subtypep 'type-specifier 'instance) + (assert (not yes)) + (assert win)) +(multiple-value-bind (yes win) + (sb-xc:subtypep '(and (function (t)) funcallable-instance) 'nil) + (assert (not yes))) +(multiple-value-bind (yes win) + (sb-xc:subtypep '(and fixnum function) 'nil) + (assert yes) + (assert win)) +(multiple-value-bind (yes win) + (sb-xc:subtypep '(and fixnum hash-table) 'nil) + (assert yes) + (assert win)) +(multiple-value-bind (yes win) + (sb-xc:subtypep '(function) '(function (t &rest t))) + (assert (not yes)) + (assert win)) + (/show "done with tests/type.before-xc.lisp")