X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=tests%2Funion.lisp;h=d067bd02446ad343524d51063df473ee8a08f525;hb=6ab554f2441048c9c726104d4f3c6a6acccaf383;hp=4268b91cdceff3da15ce0be14c80b15eeb654ce7;hpb=ebedde4e67b858b1f65c5eb4dc7bc45978ed1e40;p=uffi.git diff --git a/tests/union.lisp b/tests/union.lisp index 4268b91..d067bd0 100644 --- a/tests/union.lisp +++ b/tests/union.lisp @@ -9,7 +9,7 @@ ;;;; ;;;; $Id$ ;;;; -;;;; This file, part of UFFI, is Copyright (c) 2002-2003 by Kevin M. Rosenberg +;;;; This file, part of UFFI, is Copyright (c) 2002-2005 by Kevin M. Rosenberg ;;;; ;;;; ************************************************************************* @@ -35,12 +35,37 @@ (* 256 (char-code #\C)) (* 1 128))) -(deftest union.1 (uffi:ensure-char-character - (uffi:get-slot-value *u* 'tunion1 'char)) #\A) +(deftest :union.1 + (uffi:ensure-char-character + (uffi:get-slot-value *u* 'tunion1 'char)) + #\A) + +(deftest :union.2 + (uffi:ensure-char-integer + (uffi:get-slot-value *u* 'tunion1 'char)) + 65) + +#-(or sparc sparc-v9 openmcl digitool) +(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) -#-(or sparc sparc-v9 mcl) -(deftest union.2 (plusp (uffi:get-slot-value *u* 'tunion1 'uint)) t) -;; (uffi:free-foreign-object u))