[OCaml] Fix the wrapping of static const member chars

OCaml's constantWrapper() was adding unneeded quotes when wrapping
static const member chars.

Add runtime tests for char_constant, chartest, and
static_const_member.
This commit is contained in:
Zackery Spytz 2019-01-15 16:37:26 -07:00
commit c61c221057
4 changed files with 53 additions and 27 deletions

View file

@ -0,0 +1,16 @@
open Swig
open Char_constant
let _ =
assert (_CHAR_CONSTANT '() as char = 'x');
assert (_STRING_CONSTANT '() as string = "xyzzy");
assert (_ESC_CONST '() as char = '\x01');
assert (_NULL_CONST '() as char = '\x00');
assert (_SPECIALCHARA '() as char = 'A');
assert (_SPECIALCHARB '() as char = 'B');
assert (_SPECIALCHARC '() as char = 'C');
assert (_SPECIALCHARD '() as char = 'D');
assert (_SPECIALCHARE '() as char = 'E');
assert (_ia '() as char = 'a');
assert (_ib '() as char = 'b');
;;

View file

@ -0,0 +1,25 @@
open Swig
open Chartest
let _ =
assert (_GetPrintableChar '() as char = 'a');
assert (_GetUnprintableChar '() as char = '\127');
assert (_printable_global_char '() as char = 'a');
assert (_unprintable_global_char '() as char = '\127');
assert (_globchar0 '() as char = '\x00');
assert (_globchar1 '() as char = '\x01');
assert (_globchar2 '() as char = '\n');
assert (_globcharA '() as char = 'A');
assert (_globcharB '() as char = 'B');
assert (_globcharC '() as char = 'C');
assert (_globcharD '() as char = 'D');
assert (_globcharE '() as char = 'E');
assert (_CharTestClass_memberchar0 '() as char = '\x00');
assert (_CharTestClass_memberchar1 '() as char = '\x01');
assert (_CharTestClass_memberchar2 '() as char = '\n');
assert (_CharTestClass_membercharA '() as char = 'A');
assert (_CharTestClass_membercharB '() as char = 'B');
assert (_CharTestClass_membercharC '() as char = 'C');
assert (_CharTestClass_membercharD '() as char = 'D');
assert (_CharTestClass_membercharE '() as char = 'E');
;;

View file

@ -0,0 +1,9 @@
open Swig
open Static_const_member
let _ =
assert (_X_PN '() as int = 0);
assert (_X_CN '() as int = 1);
assert (_X_EN '() as int = 2);
assert (_X_CHARTEST '() as char = 'A');
;;