;;; ffi struct pass-by-valuetests (use objc testeez) (define-objc-class FFIStructs NSObject () (+ NSRECT ((printRect: NSRECT r)) (print "rect: " r) r) (+ NSSIZE ((printSize: NSSIZE s)) (print "size: " s) s) (+ NSPOINT ((printPoint: NSPOINT p)) (print "point: " p) p) (+ NSRANGE ((printRange: NSRANGE r)) (print "range: " r) r)) (testeez "FFI structure passing" (test/equal "NSRect" @[FFIStructs printRect: (ns:make-rect 1 2 3 4)] (ns:make-rect 1.0 2.0 3.0 4.0)) (test/equal "NSPoint" @[FFIStructs printPoint: (ns:make-point 1 2)] (ns:make-point 1.0 2.0)) (test/equal "NSSize" @[FFIStructs printSize: (ns:make-size 1 2)] (ns:make-size 1.0 2.0)) (test/equal "NSRange" @[FFIStructs printRange: (ns:make-range 1 2)] (ns:make-range 1 2)))