blob: 4a54a36ee324dacc41ebfda5107b0585bcfacf83 [file]
// There are no typecheck typemaps in Javascript yet, so most of this test
// does not actually worked - the check functions have thus been commented out.
var overload_null = require("overload_null");
var check = function(expected, actual) {
if (expected !== actual) {
throw new Error(a + " does not equal " + b);
}
};
var o = new overload_null.Overload();
var x = new overload_null.X();
check(1, o.byval1(x));
// check(2, o.byval1(null));
// check(3, o.byval2(null));
check(4, o.byval2(x));
check(5, o.byref1(x));
// check(6, o.byref1(null));
// check(7, o.byref2(null));
check(8, o.byref2(x));
check(9, o.byconstref1(x));
// check(10, o.byconstref1(null));
// check(11, o.byconstref2(null));
check(12, o.byconstref2(x));
// const pointer references
check(13, o.byval1cpr(x));
// check(14, o.byval1cpr(null));
// check(15, o.byval2cpr(null));
check(16, o.byval2cpr(x));
// fwd class declaration
check(17, o.byval1fwdptr(x));
// check(18, o.byval1fwdptr(null));
// check(19, o.byval2fwdptr(null));
check(20, o.byval2fwdptr(x));
check(21, o.byval1fwdref(x));
check(22, o.byval2fwdref(x));
check(23, o.bychar1("a"));
check(24, o.bychar1(null));
// NULL is a NULL pointer for an array of char too
check(37, o.bychararray(x));
// check(-38, o.bychararray(null));
check(38, o.bychararray("ab"));
check(39, o.byunsizedchararray(x));
// check(-40, o.byunsizedchararray(null));
check(40, o.byunsizedchararray("ab"));