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().SpyFactory = function(j$) {
getJasmineRequireObj().SpyFactory = function(j$, private$) {
'use strict';
function SpyFactory(
@@ -7,12 +7,12 @@ getJasmineRequireObj().SpyFactory = function(j$) {
getMatchersUtil
) {
this.createSpy = function(name, originalFn) {
if (j$.private.isFunction(name) && originalFn === undefined) {
if (private$.isFunction(name) && originalFn === undefined) {
originalFn = name;
name = originalFn.name;
}
return j$.private.Spy(name, getMatchersUtil(), {
return private$.Spy(name, getMatchersUtil(), {
originalFn,
customStrategies: getCustomStrategies(),
defaultStrategyFn: getDefaultStrategyFn()
@@ -21,7 +21,7 @@ getJasmineRequireObj().SpyFactory = function(j$) {
this.createSpyObj = function(baseName, methodNames, propertyNames) {
const baseNameIsCollection =
j$.private.isObject(baseName) || Array.isArray(baseName);
private$.isObject(baseName) || Array.isArray(baseName);
if (baseNameIsCollection) {
propertyNames = methodNames;
@@ -71,7 +71,7 @@ getJasmineRequireObj().SpyFactory = function(j$) {
for (let i = 0; i < object.length; i++) {
result.push([object[i]]);
}
} else if (j$.private.isObject(object)) {
} else if (private$.isObject(object)) {
for (const key in object) {
if (object.hasOwnProperty(key)) {
result.push([key, object[key]]);