Check runnable instead of suite

This commit is contained in:
ksvitkovsky
2017-08-10 22:58:30 +04:00
parent ab116fbd0f
commit 4240b3514b

View File

@@ -384,8 +384,8 @@ getJasmineRequireObj().Env = function(j$) {
} }
}; };
function ensureIsNotNested(method, currentSuite) { function ensureIsNotNested(method, runnable) {
if (currentSuite !== undefined) { if (runnable !== null && runnable !== undefined) {
throw new Error('\'' + method + '\' should only be used in \'describe\' function'); throw new Error('\'' + method + '\' should only be used in \'describe\' function');
} }
} }
@@ -405,7 +405,7 @@ getJasmineRequireObj().Env = function(j$) {
}; };
this.describe = function(description, specDefinitions) { this.describe = function(description, specDefinitions) {
ensureIsNotNested('describe', currentSuite()); ensureIsNotNested('describe', currentRunnable());
ensureIsFunction(specDefinitions, 'describe'); ensureIsFunction(specDefinitions, 'describe');
var suite = suiteFactory(description); var suite = suiteFactory(description);
if (specDefinitions.length > 0) { if (specDefinitions.length > 0) {
@@ -419,7 +419,7 @@ getJasmineRequireObj().Env = function(j$) {
}; };
this.xdescribe = function(description, specDefinitions) { this.xdescribe = function(description, specDefinitions) {
ensureIsNotNested('xdescribe', currentSuite()); ensureIsNotNested('xdescribe', currentRunnable());
ensureIsFunction(specDefinitions, 'xdescribe'); ensureIsFunction(specDefinitions, 'xdescribe');
var suite = suiteFactory(description); var suite = suiteFactory(description);
suite.pend(); suite.pend();
@@ -430,7 +430,7 @@ getJasmineRequireObj().Env = function(j$) {
var focusedRunnables = []; var focusedRunnables = [];
this.fdescribe = function(description, specDefinitions) { this.fdescribe = function(description, specDefinitions) {
ensureIsNotNested('fdescribe', currentSuite()); ensureIsNotNested('fdescribe', currentRunnable());
ensureIsFunction(specDefinitions, 'fdescribe'); ensureIsFunction(specDefinitions, 'fdescribe');
var suite = suiteFactory(description); var suite = suiteFactory(description);
suite.isFocused = true; suite.isFocused = true;
@@ -528,7 +528,7 @@ getJasmineRequireObj().Env = function(j$) {
}; };
this.it = function(description, fn, timeout) { this.it = function(description, fn, timeout) {
ensureIsNotNested('it', currentSuite()); ensureIsNotNested('it', currentRunnable());
// it() sometimes doesn't have a fn argument, so only check the type if // it() sometimes doesn't have a fn argument, so only check the type if
// it's given. // it's given.
if (arguments.length > 1 && typeof fn !== 'undefined') { if (arguments.length > 1 && typeof fn !== 'undefined') {
@@ -543,7 +543,7 @@ getJasmineRequireObj().Env = function(j$) {
}; };
this.xit = function(description, fn, timeout) { this.xit = function(description, fn, timeout) {
ensureIsNotNested('xit', currentSuite()); ensureIsNotNested('xit', currentRunnable());
// xit(), like it(), doesn't always have a fn argument, so only check the // xit(), like it(), doesn't always have a fn argument, so only check the
// type when needed. // type when needed.
if (arguments.length > 1 && typeof fn !== 'undefined') { if (arguments.length > 1 && typeof fn !== 'undefined') {
@@ -555,7 +555,7 @@ getJasmineRequireObj().Env = function(j$) {
}; };
this.fit = function(description, fn, timeout){ this.fit = function(description, fn, timeout){
ensureIsNotNested('fit', currentSuite()); ensureIsNotNested('fit', currentRunnable());
ensureIsFunctionOrAsync(fn, 'fit'); ensureIsFunctionOrAsync(fn, 'fit');
var spec = specFactory(description, fn, currentDeclarationSuite, timeout); var spec = specFactory(description, fn, currentDeclarationSuite, timeout);
currentDeclarationSuite.addChild(spec); currentDeclarationSuite.addChild(spec);
@@ -573,7 +573,7 @@ getJasmineRequireObj().Env = function(j$) {
}; };
this.beforeEach = function(beforeEachFunction, timeout) { this.beforeEach = function(beforeEachFunction, timeout) {
ensureIsNotNested('beforeEach', currentSuite()); ensureIsNotNested('beforeEach', currentRunnable());
ensureIsFunctionOrAsync(beforeEachFunction, 'beforeEach'); ensureIsFunctionOrAsync(beforeEachFunction, 'beforeEach');
currentDeclarationSuite.beforeEach({ currentDeclarationSuite.beforeEach({
fn: beforeEachFunction, fn: beforeEachFunction,
@@ -582,7 +582,7 @@ getJasmineRequireObj().Env = function(j$) {
}; };
this.beforeAll = function(beforeAllFunction, timeout) { this.beforeAll = function(beforeAllFunction, timeout) {
ensureIsNotNested('beforeAll', currentSuite()); ensureIsNotNested('beforeAll', currentRunnable());
ensureIsFunctionOrAsync(beforeAllFunction, 'beforeAll'); ensureIsFunctionOrAsync(beforeAllFunction, 'beforeAll');
currentDeclarationSuite.beforeAll({ currentDeclarationSuite.beforeAll({
fn: beforeAllFunction, fn: beforeAllFunction,
@@ -591,7 +591,7 @@ getJasmineRequireObj().Env = function(j$) {
}; };
this.afterEach = function(afterEachFunction, timeout) { this.afterEach = function(afterEachFunction, timeout) {
ensureIsNotNested('afterEach', currentSuite()); ensureIsNotNested('afterEach', currentRunnable());
ensureIsFunctionOrAsync(afterEachFunction, 'afterEach'); ensureIsFunctionOrAsync(afterEachFunction, 'afterEach');
afterEachFunction.isCleanup = true; afterEachFunction.isCleanup = true;
currentDeclarationSuite.afterEach({ currentDeclarationSuite.afterEach({
@@ -601,7 +601,7 @@ getJasmineRequireObj().Env = function(j$) {
}; };
this.afterAll = function(afterAllFunction, timeout) { this.afterAll = function(afterAllFunction, timeout) {
ensureIsNotNested('afterAll', currentSuite()); ensureIsNotNested('afterAll', currentRunnable());
ensureIsFunctionOrAsync(afterAllFunction, 'afterAll'); ensureIsFunctionOrAsync(afterAllFunction, 'afterAll');
currentDeclarationSuite.afterAll({ currentDeclarationSuite.afterAll({
fn: afterAllFunction, fn: afterAllFunction,