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
This commit is contained in:
Steve Gravrock
2026-02-15 13:41:19 -08:00
parent 03006080d4
commit f12f4395f0
127 changed files with 1336 additions and 1367 deletions

View File

@@ -1,4 +1,4 @@
getJasmineRequireObj().TreeRunner = function(j$) {
getJasmineRequireObj().TreeRunner = function(j$, private$) {
'use strict';
class TreeRunner {
@@ -83,14 +83,14 @@ getJasmineRequireObj().TreeRunner = function(j$) {
},
onComplete: () => {
if (spec.status() === 'failed') {
specOverallDone(new j$.private.StopExecutionError('spec failed'));
specOverallDone(new private$.StopExecutionError('spec failed'));
} else {
specOverallDone();
}
},
userContext: spec.userContext(),
runnableName: spec.getFullName.bind(spec),
SkipPolicy: j$.private.CompleteOnFirstErrorSkipPolicy
SkipPolicy: private$.CompleteOnFirstErrorSkipPolicy
});
}
@@ -265,7 +265,7 @@ getJasmineRequireObj().TreeRunner = function(j$) {
async #reportChildrenOfBeforeAllFailure(suite) {
for (const child of suite.children) {
if (child instanceof j$.private.Suite) {
if (child instanceof private$.Suite) {
await this.#reportDispatcher.suiteStarted(child.startedEvent());
await this.#reportChildrenOfBeforeAllFailure(child);
await this.#reportDispatcher.suiteDone(child.doneEvent());
@@ -280,9 +280,9 @@ getJasmineRequireObj().TreeRunner = function(j$) {
#suiteSkipPolicy() {
if (this.#getConfig().stopOnSpecFailure) {
return j$.private.CompleteOnFirstErrorSkipPolicy;
return private$.CompleteOnFirstErrorSkipPolicy;
} else {
return j$.private.SkipAfterBeforeAllErrorPolicy;
return private$.SkipAfterBeforeAllErrorPolicy;
}
}
}