r10608: update license
[uffi.git] / tests / union.lisp
index 86e8627ee0e925727b98c836879bc1aaabe2979d..1806a9cdf7aee6dd2c2e130e49c3711a5ef6b9eb 100644 (file)
@@ -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
 ;;;;
 ;;;; *************************************************************************
 
         (* 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)
+