swig/Examples/test-suite/ocaml/director_default_runme.ml
Zackery Spytz 828ce477c8 [OCaml] Fix a bug in the ctors of director classes
If a class was given the director feature, it was not possible
to use ctors with multiple parameters.

Add director_default_runme.ml (it is based on
director_default_runme.java).
2019-02-05 13:35:43 -07:00

25 lines
956 B
OCaml

open Swig
open Director_default
let director_default_MyFoo ob meth args =
match meth with
"Msg" -> (match args with
| C_list [ msg ] -> C_string ("director_default_MyFoo-" ^ (msg as string))
| _ -> raise (Failure "director_default_MyFoo::Msg()"))
| _ -> (invoke ob) meth args
let _ =
let a = new_derived_object new_Foo (director_default_MyFoo) '(10) in
assert (a -> GetMsg () as string = "director_default_MyFoo-default");
assert (a -> GetMsg ("boo") as string = "director_default_MyFoo-boo");
let f = new_Foo '(10) in
assert (f -> GetMsg () as string = "Foo-default");
assert (f -> GetMsg ("boo") as string = "Foo-boo");
let b = new_Bar '(1) in
assert (b -> GetMsg () as string = "Bar-default");
assert (b -> GetMsg ("boo") as string = "Bar-boo");
let b2 = new_Bar '() in
assert (b2 -> GetMsg () as string = "Bar-default");
assert (b2 -> GetMsg ("boo") as string = "Bar-boo");
;;