diff --git a/lib/jasmine-core/jasmine.js b/lib/jasmine-core/jasmine.js index b274cc30..04bb65eb 100644 --- a/lib/jasmine-core/jasmine.js +++ b/lib/jasmine-core/jasmine.js @@ -1806,6 +1806,12 @@ getJasmineRequireObj().Env = function(j$) { } } + function ensureNonParallel(method) { + if (parallelLodingState) { + throw new Error(`'${method}' is not available in parallel mode`); + } + } + function ensureNonParallelOrInHelperOrInDescribe(method) { if (parallelLodingState === 'specs' && !suiteBuilder.inDescribe()) { throw new Error( @@ -1828,6 +1834,7 @@ getJasmineRequireObj().Env = function(j$) { this.fdescribe = function(description, definitionFn) { ensureIsNotNested('fdescribe'); + ensureNonParallel('fdescribe'); return suiteBuilder.fdescribe(description, definitionFn).metadata; }; @@ -1865,6 +1872,7 @@ getJasmineRequireObj().Env = function(j$) { this.fit = function(description, fn, timeout) { ensureIsNotNested('fit'); + ensureNonParallel('fit'); return suiteBuilder.fit(description, fn, timeout).metadata; }; diff --git a/spec/core/EnvSpec.js b/spec/core/EnvSpec.js index f798c80b..7a0c2229 100644 --- a/spec/core/EnvSpec.js +++ b/spec/core/EnvSpec.js @@ -251,6 +251,15 @@ describe('Env', function() { describe('#fdescribe', function() { behavesLikeDescribe('fdescribe'); + + it('throws an error in parallel mode', function() { + env.setParallelLoadingState('specs'); + expect(function() { + env.fdescribe('a suite', function() { + env.it('a spec'); + }); + }).toThrowError("'fdescribe' is not available in parallel mode"); + }); }); describe('xdescribe', function() { @@ -372,6 +381,13 @@ describe('Env', function() { env.fit('huge timeout', function() {}, 2147483648); }).toThrowError('Timeout value cannot be greater than 2147483647'); }); + + it('throws an error in parallel mode', function() { + env.setParallelLoadingState('specs'); + expect(function() { + env.fit('a spec', function() {}); + }).toThrowError("'fit' is not available in parallel mode"); + }); }); describe('#beforeEach', function() { diff --git a/src/core/Env.js b/src/core/Env.js index 7e934987..84507056 100644 --- a/src/core/Env.js +++ b/src/core/Env.js @@ -664,6 +664,12 @@ getJasmineRequireObj().Env = function(j$) { } } + function ensureNonParallel(method) { + if (parallelLodingState) { + throw new Error(`'${method}' is not available in parallel mode`); + } + } + function ensureNonParallelOrInHelperOrInDescribe(method) { if (parallelLodingState === 'specs' && !suiteBuilder.inDescribe()) { throw new Error( @@ -686,6 +692,7 @@ getJasmineRequireObj().Env = function(j$) { this.fdescribe = function(description, definitionFn) { ensureIsNotNested('fdescribe'); + ensureNonParallel('fdescribe'); return suiteBuilder.fdescribe(description, definitionFn).metadata; }; @@ -723,6 +730,7 @@ getJasmineRequireObj().Env = function(j$) { this.fit = function(description, fn, timeout) { ensureIsNotNested('fit'); + ensureNonParallel('fit'); return suiteBuilder.fit(description, fn, timeout).metadata; };