X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=tests%2Funion.lisp;h=befbbe8bccd3ffba4a966c3aa10be0226874828f;hb=0824453227a26da41a3929c9117b66714980414b;hp=86e8627ee0e925727b98c836879bc1aaabe2979d;hpb=3e1ab6ebfcf56e76edffaff284aca937e8152408;p=uffi.git diff --git a/tests/union.lisp b/tests/union.lisp index 86e8627..befbbe8 100644 --- a/tests/union.lisp +++ b/tests/union.lisp @@ -35,18 +35,37 @@ (* 256 (char-code #\C)) (* 1 128))) -(deftest union.1 +(deftest :union.1 (uffi:ensure-char-character (uffi:get-slot-value *u* 'tunion1 'char)) #\A) -(deftest union.2 +(deftest :union.2 (uffi:ensure-char-integer (uffi:get-slot-value *u* 'tunion1 'char)) 65) #-(or sparc sparc-v9 mcl) -(deftest union.3 (plusp (uffi:get-slot-value *u* 'tunion1 'uint)) t) +(deftest :union.3 (plusp (uffi:get-slot-value *u* 'tunion1 'uint)) t) + + +(uffi:def-union foo-u + (bar :pointer-self)) + +(uffi:def-foreign-type foo-u-ptr (* foo-u)) + +;; tests that compilation worked +(deftest :unions.4 + (with-foreign-object (p 'foo-u) + t) + t) + +(deftest :unions.5 + (progn + (uffi:def-foreign-type foo-union (:union foo-u)) + t) + t) +