Files
jasmine/spec/helpers/nodeDefineJasmineUnderTest.js
Steve Gravrock f12f4395f0 Redesigned moudule system
* 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
2026-02-15 20:16:45 -08:00

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;
})();