| open Swig |
| open Default_args |
| |
| let _ = |
| assert (_anonymous '() as int = 7771); |
| assert (_anonymous '(1234) as int = 1234); |
| assert (_booltest '() as bool = true); |
| assert (_booltest '(true) as bool = true); |
| assert (_booltest '(false) as bool = false); |
| let ec = new_EnumClass '() in |
| assert (ec -> blah () as bool = true); |
| let de = new_DerivedEnumClass '() in |
| assert (de -> accelerate () = C_void); |
| let args = _SLOW '() in |
| assert (de -> accelerate (args) = C_void); |
| assert (_Statics_staticmethod '() as int = 60); |
| assert (_cfunc1 '(1) as float = 2.); |
| assert (_cfunc2 '(1) as float = 3.); |
| assert (_cfunc3 '(1) as float = 4.); |
| |
| let f = new_Foo '() in |
| assert (f -> newname () = C_void); |
| assert (f -> newname (1) = C_void); |
| (* TODO: There needs to be a more elegant way to pass NULL/nullptr. *) |
| let args = C_list [ C_int 2 ; C_ptr (0L, 0L) ] in |
| assert (f -> double_if_void_ptr_is_null (args) as int = 4); |
| assert (f -> double_if_void_ptr_is_null (3) as int = 6); |
| let args = C_list [ C_int 4 ; C_ptr (0L, 0L) ] in |
| assert (f -> double_if_handle_is_null (args) as int = 8); |
| assert (f -> double_if_handle_is_null (5) as int = 10); |
| let args = C_list [ C_int 6 ; C_ptr (0L, 0L) ] in |
| assert (f -> double_if_dbl_ptr_is_null (args) as int = 12); |
| assert (f -> double_if_dbl_ptr_is_null (7) as int = 14); |
| |
| let k = new_Klass '(22) in |
| let k2 = _Klass_inc (C_list [ C_int 100 ; k ]) in |
| assert (k2 -> "[val]" () as int = 122); |
| let k2 = _Klass_inc '(100) in |
| assert (k2 -> "[val]" () as int = 99); |
| let k2 = _Klass_inc '() in |
| assert (k2 -> "[val]" () as int = 0); |
| |
| assert (_seek '() = C_void); |
| assert (_seek (C_int64 10L) = C_void); |
| |
| assert (_slightly_off_square '(10) as int = 102); |
| assert (_slightly_off_square '() as int = 291); |
| |
| assert (_casts1 '() as char = '\x00'); |
| assert (_casts2 '() as string = "Hello"); |
| assert (_casts1 '("Ciao") as string = "Ciao"); |
| assert (_chartest1 '() as char = 'x'); |
| assert (_chartest2 '() as char = '\x00'); |
| assert (_chartest3 '() as char = '\x01'); |
| assert (_chartest4 '() as char = '\n'); |
| assert (_chartest5 '() as char = 'B'); |
| assert (_chartest6 '() as char = 'C'); |
| ;; |