- 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
40 lines
860 B
JavaScript
40 lines
860 B
JavaScript
var abstract_inherit = require("abstract_inherit");
|
|
|
|
// Shouldn't be able to instantiate any of these classes
|
|
// since none of them implements the pure virtual function
|
|
// declared in the base class (Foo).
|
|
var Foo = abstract_inherit.Foo;
|
|
var Bar = abstract_inherit.Bar;
|
|
var Spam = abstract_inherit.Spam;
|
|
|
|
var caughtException = false;
|
|
try {
|
|
new Foo();
|
|
} catch (err) {
|
|
caughtException = true;
|
|
}
|
|
if (!caughtException) {
|
|
throw new Error("Foo should be instantiated as it is abstract");
|
|
}
|
|
|
|
caughtException = false;
|
|
try {
|
|
new Bar();
|
|
} catch (err) {
|
|
caughtException = true;
|
|
}
|
|
|
|
if (!caughtException) {
|
|
throw new Error("Bar should be instantiated as it is abstract");
|
|
}
|
|
|
|
caughtException = false;
|
|
try {
|
|
new Spam();
|
|
} catch (err) {
|
|
caughtException = true;
|
|
}
|
|
|
|
if (!caughtException) {
|
|
throw new Error("Spam should be instantiated as it is abstract");
|
|
}
|