* Top level private APIs (e.g. jasmine.private.whatever) are no longer exposed * jasmineRequire is no longer exposed * core is self-booting * Globals are automatically created in browsers. (They can subsequently be removed by user code if desired.) * Globals are *not* automatically created in Node. An installGlobals function is exported instead. The jasmine package calls installGlobals unless configured not to do so. * In Node, the same instance is returned each time jasmine-core is imported. A reset function is exported. It effectively resets all state by discarding the env and creating a new one. This allows mulitple sequential runs within the same process to be independent of each other, but does not allow multiple concurrent runs. (That probably never worked anyway.) Fixes #2094
36 lines
983 B
JavaScript
36 lines
983 B
JavaScript
(function() {
|
|
const path = require('path'),
|
|
glob = require('glob');
|
|
|
|
const jasmineUnderTestRequire = require(path.join(
|
|
__dirname,
|
|
'../../src/core/requireCore.js'
|
|
));
|
|
|
|
// Individual source files call getJasmineRequireObj. It's normally defined
|
|
// by requireCore.js which is concatenated into jasmine.js before other source
|
|
// files. Since we're bypassing that mechanism, we need to provide our own.
|
|
global.getJasmineRequireObj = function() {
|
|
return jasmineUnderTestRequire;
|
|
};
|
|
|
|
const srcFiles = [
|
|
...glob.sync('../../src/core/**/*.js', {
|
|
ignore: '../../src/core/requireSuffix.js',
|
|
cwd: __dirname
|
|
}),
|
|
'../../src/version.js',
|
|
'../../src/core/requireCore.js'
|
|
];
|
|
|
|
for (const file of srcFiles) {
|
|
require(file);
|
|
}
|
|
|
|
delete global.getJasmineRequireObj;
|
|
|
|
const built = jasmineUnderTestRequire.core(jasmineUnderTestRequire);
|
|
global.jasmineUnderTest = built.jasmine;
|
|
global.privateUnderTest = built.private;
|
|
})();
|