[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).
This commit is contained in:
parent
df86ec5af6
commit
828ce477c8
5 changed files with 45 additions and 6 deletions
25
Examples/test-suite/ocaml/director_default_runme.ml
Normal file
25
Examples/test-suite/ocaml/director_default_runme.ml
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
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");
|
||||
;;
|
||||
Loading…
Add table
Add a link
Reference in a new issue