- Examples/Makefile.in rules use SRCDIR as the relative source directory - ./config.status replicates Examples/ source directory tree in build directory, and copies each Makefile to build directory, prefixed with a header which sets SRCDIR to source directory - Examples/test-suite/.../Makefile.in set SRCDIR from Autoconf-set srcdir - Examples/test-suite/errors/Makefile.in needs to filter out source directory from SWIG error messages - Lua: embedded interpreters are passed location of run-time test - Python: copy run-time scripts to build directory because of 2to3 conversion; import_packages example copies __init__.py from source directory; test-suite sets SCRIPTDIR to location of run-time tests - Javascript: binding.gyp renamed to binding.gyp.in so that $srcdir can be substituted with SRCDIR; removed './' from require() statements so that NODE_PATH can be used to point Node.js to build directory
64 lines
1.1 KiB
JavaScript
64 lines
1.1 KiB
JavaScript
var example = require("example");
|
|
|
|
console.log("Trying to catch some exceptions.");
|
|
t = new example.Test();
|
|
try{
|
|
t.unknown();
|
|
throw -1;
|
|
} catch(error)
|
|
{
|
|
if(error == -1) {
|
|
console.log("t.unknown() didn't throw");
|
|
} else {
|
|
console.log("successfully catched throw in Test::unknown().");
|
|
}
|
|
}
|
|
|
|
try{
|
|
t.simple();
|
|
throw -1;
|
|
}
|
|
catch(error){
|
|
if(error == -1) {
|
|
console.log("t.simple() did not throw");
|
|
} else {
|
|
console.log("successfully catched throw in Test::simple().");
|
|
}
|
|
}
|
|
|
|
try{
|
|
t.message();
|
|
throw -1;
|
|
} catch(error){
|
|
if(error == -1) {
|
|
console.log("t.message() did not throw");
|
|
} else {
|
|
console.log("successfully catched throw in Test::message().");
|
|
}
|
|
}
|
|
|
|
try{
|
|
t.hosed();
|
|
throw -1;
|
|
}
|
|
catch(error){
|
|
if(error == -1) {
|
|
console.log("t.hosed() did not throw");
|
|
} else {
|
|
console.log("successfully catched throw in Test::hosed().");
|
|
}
|
|
}
|
|
|
|
for (var i=1; i<4; i++) {
|
|
try{
|
|
t.multi(i);
|
|
throw -1;
|
|
}
|
|
catch(error){
|
|
if(error == -1) {
|
|
console.log("t.multi(" + i + ") did not throw");
|
|
} else {
|
|
console.log("successfully catched throw in Test::multi().");
|
|
}
|
|
}
|
|
}
|