168 lines
4.1 KiB
JavaScript
168 lines
4.1 KiB
JavaScript
'use strict';
|
|
|
|
var _createSpy = _interopRequireDefault(require('./createSpy'));
|
|
|
|
var _Env = _interopRequireDefault(require('./Env'));
|
|
|
|
var _JsApiReporter = _interopRequireDefault(require('./JsApiReporter'));
|
|
|
|
var _ReportDispatcher = _interopRequireDefault(require('./ReportDispatcher'));
|
|
|
|
var _Spec = _interopRequireDefault(require('./Spec'));
|
|
|
|
var _spyRegistry = _interopRequireDefault(require('./spyRegistry'));
|
|
|
|
var _Suite = _interopRequireDefault(require('./Suite'));
|
|
|
|
var _Timer = _interopRequireDefault(require('./Timer'));
|
|
|
|
function _interopRequireDefault(obj) {
|
|
return obj && obj.__esModule ? obj : {default: obj};
|
|
}
|
|
|
|
function _objectSpread(target) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var source = arguments[i] != null ? arguments[i] : {};
|
|
var ownKeys = Object.keys(source);
|
|
if (typeof Object.getOwnPropertySymbols === 'function') {
|
|
ownKeys = ownKeys.concat(
|
|
Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
})
|
|
);
|
|
}
|
|
ownKeys.forEach(function(key) {
|
|
_defineProperty(target, key, source[key]);
|
|
});
|
|
}
|
|
return target;
|
|
}
|
|
|
|
function _defineProperty(obj, key, value) {
|
|
if (key in obj) {
|
|
Object.defineProperty(obj, key, {
|
|
value: value,
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true
|
|
});
|
|
} else {
|
|
obj[key] = value;
|
|
}
|
|
return obj;
|
|
}
|
|
|
|
const create = function create(createOptions) {
|
|
const j$ = _objectSpread({}, createOptions);
|
|
|
|
j$._DEFAULT_TIMEOUT_INTERVAL = 5000;
|
|
|
|
j$.getEnv = function(options) {
|
|
const env = (j$.currentEnv_ = j$.currentEnv_ || new j$.Env(options)); //jasmine. singletons in here (setTimeout blah blah).
|
|
|
|
return env;
|
|
};
|
|
|
|
j$.createSpy = _createSpy.default;
|
|
j$.Env = (0, _Env.default)(j$);
|
|
j$.JsApiReporter = _JsApiReporter.default;
|
|
j$.ReportDispatcher = _ReportDispatcher.default;
|
|
j$.Spec = _Spec.default;
|
|
j$.SpyRegistry = _spyRegistry.default;
|
|
j$.Suite = _Suite.default;
|
|
j$.Timer = _Timer.default;
|
|
j$.version = '2.5.2-light';
|
|
return j$;
|
|
};
|
|
|
|
const _interface = function _interface(jasmine, env) {
|
|
const jasmineInterface = {
|
|
describe(description, specDefinitions) {
|
|
return env.describe(description, specDefinitions);
|
|
},
|
|
|
|
xdescribe(description, specDefinitions) {
|
|
return env.xdescribe(description, specDefinitions);
|
|
},
|
|
|
|
fdescribe(description, specDefinitions) {
|
|
return env.fdescribe(description, specDefinitions);
|
|
},
|
|
|
|
it() {
|
|
return env.it.apply(env, arguments);
|
|
},
|
|
|
|
xit() {
|
|
return env.xit.apply(env, arguments);
|
|
},
|
|
|
|
fit() {
|
|
return env.fit.apply(env, arguments);
|
|
},
|
|
|
|
beforeEach() {
|
|
if (typeof arguments[0] !== 'function') {
|
|
throw new Error(
|
|
'Invalid first argument. It must be a callback function.'
|
|
);
|
|
}
|
|
|
|
return env.beforeEach.apply(env, arguments);
|
|
},
|
|
|
|
afterEach() {
|
|
if (typeof arguments[0] !== 'function') {
|
|
throw new Error(
|
|
'Invalid first argument. It must be a callback function.'
|
|
);
|
|
}
|
|
|
|
return env.afterEach.apply(env, arguments);
|
|
},
|
|
|
|
beforeAll() {
|
|
if (typeof arguments[0] !== 'function') {
|
|
throw new Error(
|
|
'Invalid first argument. It must be a callback function.'
|
|
);
|
|
}
|
|
|
|
return env.beforeAll.apply(env, arguments);
|
|
},
|
|
|
|
afterAll() {
|
|
if (typeof arguments[0] !== 'function') {
|
|
throw new Error(
|
|
'Invalid first argument. It must be a callback function.'
|
|
);
|
|
}
|
|
|
|
return env.afterAll.apply(env, arguments);
|
|
},
|
|
|
|
pending() {
|
|
return env.pending.apply(env, arguments);
|
|
},
|
|
|
|
fail() {
|
|
return env.fail.apply(env, arguments);
|
|
},
|
|
|
|
spyOn(obj, methodName, accessType) {
|
|
return env.spyOn(obj, methodName, accessType);
|
|
},
|
|
|
|
jsApiReporter: new jasmine.JsApiReporter({
|
|
timer: new jasmine.Timer()
|
|
}),
|
|
jasmine
|
|
};
|
|
return jasmineInterface;
|
|
}; // Interface is a reserved word in strict mode, so can't export it as ESM
|
|
|
|
module.exports = {
|
|
create,
|
|
interface: _interface
|
|
};
|