Renamed failFast and oneFailurePerSpec config props to stopOnSpecFailure and stopSpecOnExpectationFailure
The new names are more self-explanatory and consistent with jasmine-npm. The old names are deprecated but still work. [#178682783]
This commit is contained in:
@@ -558,17 +558,20 @@ jasmineRequire.HtmlReporter = function(j$) {
|
||||
);
|
||||
|
||||
var failFastCheckbox = optionsMenuDom.querySelector('#jasmine-fail-fast');
|
||||
failFastCheckbox.checked = config.failFast;
|
||||
failFastCheckbox.checked = config.stopOnSpecFailure;
|
||||
failFastCheckbox.onclick = function() {
|
||||
navigateWithNewParam('failFast', !config.failFast);
|
||||
navigateWithNewParam('failFast', !config.stopOnSpecFailure);
|
||||
};
|
||||
|
||||
var throwCheckbox = optionsMenuDom.querySelector(
|
||||
'#jasmine-throw-failures'
|
||||
);
|
||||
throwCheckbox.checked = config.oneFailurePerSpec;
|
||||
throwCheckbox.checked = config.stopSpecOnExpectationFailure;
|
||||
throwCheckbox.onclick = function() {
|
||||
navigateWithNewParam('oneFailurePerSpec', !config.oneFailurePerSpec);
|
||||
navigateWithNewParam(
|
||||
'oneFailurePerSpec',
|
||||
!config.stopSpecOnExpectationFailure
|
||||
);
|
||||
};
|
||||
|
||||
var randomCheckbox = optionsMenuDom.querySelector(
|
||||
|
||||
@@ -1075,8 +1075,17 @@ getJasmineRequireObj().Env = function(j$) {
|
||||
* @since 3.3.0
|
||||
* @type Boolean
|
||||
* @default false
|
||||
* @deprecated Use the `stopOnSpecFailure` config property instead.
|
||||
*/
|
||||
failFast: false,
|
||||
/**
|
||||
* Whether to stop execution of the suite after the first spec failure
|
||||
* @name Configuration#stopOnSpecFailure
|
||||
* @since 3.9.0
|
||||
* @type Boolean
|
||||
* @default false
|
||||
*/
|
||||
stopOnSpecFailure: false,
|
||||
/**
|
||||
* Whether to fail the spec if it ran no expectations. By default
|
||||
* a spec that ran no expectations is reported as passed. Setting this
|
||||
@@ -1093,8 +1102,17 @@ getJasmineRequireObj().Env = function(j$) {
|
||||
* @since 3.3.0
|
||||
* @type Boolean
|
||||
* @default false
|
||||
* @deprecated Use the `stopSpecOnExpectationFailure` config property instead.
|
||||
*/
|
||||
oneFailurePerSpec: false,
|
||||
/**
|
||||
* Whether to cause specs to only have one expectation failure.
|
||||
* @name Configuration#stopSpecOnExpectationFailure
|
||||
* @since 3.3.0
|
||||
* @type Boolean
|
||||
* @default false
|
||||
*/
|
||||
stopSpecOnExpectationFailure: false,
|
||||
/**
|
||||
* A function that takes a spec and returns true if it should be executed
|
||||
* or false if it should be skipped.
|
||||
@@ -1182,9 +1200,7 @@ getJasmineRequireObj().Env = function(j$) {
|
||||
this.configure = function(configuration) {
|
||||
var booleanProps = [
|
||||
'random',
|
||||
'failFast',
|
||||
'failSpecWithNoExpectations',
|
||||
'oneFailurePerSpec',
|
||||
'hideDisabled'
|
||||
];
|
||||
|
||||
@@ -1194,6 +1210,46 @@ getJasmineRequireObj().Env = function(j$) {
|
||||
}
|
||||
});
|
||||
|
||||
if (typeof configuration.failFast !== 'undefined') {
|
||||
if (typeof configuration.stopOnSpecFailure !== 'undefined') {
|
||||
if (configuration.stopOnSpecFailure !== configuration.failFast) {
|
||||
throw new Error(
|
||||
'stopOnSpecFailure and failFast are aliases for ' +
|
||||
"each other. Don't set failFast if you also set stopOnSpecFailure."
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
config.failFast = configuration.failFast;
|
||||
config.stopOnSpecFailure = configuration.failFast;
|
||||
} else if (typeof configuration.stopOnSpecFailure !== 'undefined') {
|
||||
config.failFast = configuration.stopOnSpecFailure;
|
||||
config.stopOnSpecFailure = configuration.stopOnSpecFailure;
|
||||
}
|
||||
|
||||
if (typeof configuration.oneFailurePerSpec !== 'undefined') {
|
||||
if (typeof configuration.stopSpecOnExpectationFailure !== 'undefined') {
|
||||
if (
|
||||
configuration.stopSpecOnExpectationFailure !==
|
||||
configuration.oneFailurePerSpec
|
||||
) {
|
||||
throw new Error(
|
||||
'stopSpecOnExpectationFailure and oneFailurePerSpec are aliases for ' +
|
||||
"each other. Don't set oneFailurePerSpec if you also set stopSpecOnExpectationFailure."
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
config.oneFailurePerSpec = configuration.oneFailurePerSpec;
|
||||
config.stopSpecOnExpectationFailure = configuration.oneFailurePerSpec;
|
||||
} else if (
|
||||
typeof configuration.stopSpecOnExpectationFailure !== 'undefined'
|
||||
) {
|
||||
config.oneFailurePerSpec = configuration.stopSpecOnExpectationFailure;
|
||||
config.stopSpecOnExpectationFailure =
|
||||
configuration.stopSpecOnExpectationFailure;
|
||||
}
|
||||
|
||||
if (configuration.specFilter) {
|
||||
config.specFilter = configuration.specFilter;
|
||||
}
|
||||
@@ -1525,7 +1581,7 @@ getJasmineRequireObj().Env = function(j$) {
|
||||
this.deprecated(
|
||||
'Setting stopOnSpecFailure directly is deprecated and will be removed in a future version of Jasmine, please use the failFast option in `configure`'
|
||||
);
|
||||
this.configure({ failFast: !!value });
|
||||
this.configure({ stopOnSpecFailure: !!value });
|
||||
};
|
||||
|
||||
this.stoppingOnSpecFailure = function() {
|
||||
@@ -1619,9 +1675,9 @@ getJasmineRequireObj().Env = function(j$) {
|
||||
var queueRunnerFactory = function(options, args) {
|
||||
var failFast = false;
|
||||
if (options.isLeaf) {
|
||||
failFast = config.oneFailurePerSpec;
|
||||
failFast = config.stopSpecOnExpectationFailure;
|
||||
} else if (!options.isReporter) {
|
||||
failFast = config.failFast;
|
||||
failFast = config.stopOnSpecFailure;
|
||||
}
|
||||
options.clearStack = options.clearStack || clearStack;
|
||||
options.timeout = {
|
||||
|
||||
@@ -67,6 +67,8 @@ describe('Env', function() {
|
||||
failFast: true,
|
||||
failSpecWithNoExpectations: true,
|
||||
oneFailurePerSpec: true,
|
||||
stopSpecOnExpectationFailure: true,
|
||||
stopOnSpecFailure: true,
|
||||
hideDisabled: true
|
||||
};
|
||||
env.configure(initialConfig);
|
||||
@@ -77,6 +79,8 @@ describe('Env', function() {
|
||||
failFast: undefined,
|
||||
failSpecWithNoExpectations: undefined,
|
||||
oneFailurePerSpec: undefined,
|
||||
stopSpecOnExpectationFailure: undefined,
|
||||
stopOnSpecFailure: undefined,
|
||||
hideDisabled: undefined
|
||||
});
|
||||
|
||||
@@ -85,6 +89,64 @@ describe('Env', function() {
|
||||
);
|
||||
});
|
||||
|
||||
it('sets stopOnSpecFailure when failFast is set, and vice versa', function() {
|
||||
env.configure({ failFast: true });
|
||||
expect(env.configuration()).toEqual(
|
||||
jasmine.objectContaining({
|
||||
failFast: true,
|
||||
stopOnSpecFailure: true
|
||||
})
|
||||
);
|
||||
|
||||
env.configure({ stopOnSpecFailure: false });
|
||||
expect(env.configuration()).toEqual(
|
||||
jasmine.objectContaining({
|
||||
failFast: false,
|
||||
stopOnSpecFailure: false
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
it('rejects a single call that sets stopOnSpecFailure and failFast to different values', function() {
|
||||
expect(function() {
|
||||
env.configure({ failFast: true, stopOnSpecFailure: false });
|
||||
}).toThrowError(
|
||||
'stopOnSpecFailure and failFast are aliases for each ' +
|
||||
"other. Don't set failFast if you also set stopOnSpecFailure."
|
||||
);
|
||||
});
|
||||
|
||||
it('sets stopSpecOnExpectationFailure when oneFailurePerSpec is set, and vice versa', function() {
|
||||
env.configure({ oneFailurePerSpec: true });
|
||||
expect(env.configuration()).toEqual(
|
||||
jasmine.objectContaining({
|
||||
oneFailurePerSpec: true,
|
||||
stopSpecOnExpectationFailure: true
|
||||
})
|
||||
);
|
||||
|
||||
env.configure({ stopSpecOnExpectationFailure: false });
|
||||
expect(env.configuration()).toEqual(
|
||||
jasmine.objectContaining({
|
||||
oneFailurePerSpec: false,
|
||||
stopSpecOnExpectationFailure: false
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
it('rejects a single call that sets stopSpecOnExpectationFailure and oneFailurePerSpec to different values', function() {
|
||||
expect(function() {
|
||||
env.configure({
|
||||
oneFailurePerSpec: true,
|
||||
stopSpecOnExpectationFailure: false
|
||||
});
|
||||
}).toThrowError(
|
||||
'stopSpecOnExpectationFailure and oneFailurePerSpec are ' +
|
||||
"aliases for each other. Don't set oneFailurePerSpec if you also set " +
|
||||
'stopSpecOnExpectationFailure.'
|
||||
);
|
||||
});
|
||||
|
||||
describe('promise library', function() {
|
||||
it('can be configured without a custom library', function() {
|
||||
env.configure({});
|
||||
|
||||
@@ -980,35 +980,10 @@ describe('spec running', function() {
|
||||
});
|
||||
});
|
||||
|
||||
describe('when stopOnSpecFailure is on', function() {
|
||||
function behavesLikeStopOnSpecFailureIsOn(configureFn) {
|
||||
it('does not run further specs when one fails', function(done) {
|
||||
var actions = [];
|
||||
|
||||
env.describe('wrapper', function() {
|
||||
env.it('fails', function() {
|
||||
actions.push('fails');
|
||||
env.expect(1).toBe(2);
|
||||
});
|
||||
});
|
||||
|
||||
env.describe('holder', function() {
|
||||
env.it('does not run', function() {
|
||||
actions.push('does not run');
|
||||
});
|
||||
});
|
||||
|
||||
env.configure({ random: false, failFast: true });
|
||||
|
||||
env.execute(null, function() {
|
||||
expect(actions).toEqual(['fails']);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('does not run further specs when one fails when configured with deprecated option', function(done) {
|
||||
var actions = [];
|
||||
|
||||
spyOn(env, 'deprecated');
|
||||
var actions = [],
|
||||
config;
|
||||
|
||||
env.describe('wrapper', function() {
|
||||
env.it('fails', function() {
|
||||
@@ -1024,13 +999,31 @@ describe('spec running', function() {
|
||||
});
|
||||
|
||||
env.configure({ random: false });
|
||||
env.stopOnSpecFailure(true);
|
||||
configureFn(env);
|
||||
|
||||
env.execute(null, function() {
|
||||
expect(actions).toEqual(['fails']);
|
||||
expect(env.deprecated).toHaveBeenCalled();
|
||||
done();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
describe('when failFast is on', function() {
|
||||
behavesLikeStopOnSpecFailureIsOn(function(env) {
|
||||
env.configure({ failFast: true });
|
||||
});
|
||||
});
|
||||
|
||||
describe('when stopOnSpecFailure is on', function() {
|
||||
behavesLikeStopOnSpecFailureIsOn(function(env) {
|
||||
env.configure({ stopOnSpecFailure: true });
|
||||
});
|
||||
});
|
||||
|
||||
describe('when stopOnSpecFailure is enabled via the deprecated method', function() {
|
||||
behavesLikeStopOnSpecFailureIsOn(function(env) {
|
||||
spyOn(env, 'deprecated');
|
||||
env.stopOnSpecFailure(true);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -663,7 +663,7 @@ describe('HtmlReporter', function() {
|
||||
}
|
||||
});
|
||||
|
||||
env.configure({ failFast: true });
|
||||
env.configure({ stopOnSpecFailure: true });
|
||||
|
||||
reporter.initialize();
|
||||
reporter.jasmineDone({});
|
||||
@@ -717,7 +717,7 @@ describe('HtmlReporter', function() {
|
||||
}
|
||||
});
|
||||
|
||||
env.configure({ failFast: true });
|
||||
env.configure({ stopOnSpecFailure: true });
|
||||
|
||||
reporter.initialize();
|
||||
reporter.jasmineDone({});
|
||||
@@ -769,7 +769,7 @@ describe('HtmlReporter', function() {
|
||||
}
|
||||
});
|
||||
|
||||
env.configure({ oneFailurePerSpec: true });
|
||||
env.configure({ stopSpecOnExpectationFailure: true });
|
||||
|
||||
reporter.initialize();
|
||||
reporter.jasmineDone({});
|
||||
@@ -823,7 +823,7 @@ describe('HtmlReporter', function() {
|
||||
}
|
||||
});
|
||||
|
||||
env.configure({ oneFailurePerSpec: true });
|
||||
env.configure({ stopSpecOnExpectationFailure: true });
|
||||
|
||||
reporter.initialize();
|
||||
reporter.jasmineDone({});
|
||||
|
||||
@@ -65,8 +65,17 @@ getJasmineRequireObj().Env = function(j$) {
|
||||
* @since 3.3.0
|
||||
* @type Boolean
|
||||
* @default false
|
||||
* @deprecated Use the `stopOnSpecFailure` config property instead.
|
||||
*/
|
||||
failFast: false,
|
||||
/**
|
||||
* Whether to stop execution of the suite after the first spec failure
|
||||
* @name Configuration#stopOnSpecFailure
|
||||
* @since 3.9.0
|
||||
* @type Boolean
|
||||
* @default false
|
||||
*/
|
||||
stopOnSpecFailure: false,
|
||||
/**
|
||||
* Whether to fail the spec if it ran no expectations. By default
|
||||
* a spec that ran no expectations is reported as passed. Setting this
|
||||
@@ -83,8 +92,17 @@ getJasmineRequireObj().Env = function(j$) {
|
||||
* @since 3.3.0
|
||||
* @type Boolean
|
||||
* @default false
|
||||
* @deprecated Use the `stopSpecOnExpectationFailure` config property instead.
|
||||
*/
|
||||
oneFailurePerSpec: false,
|
||||
/**
|
||||
* Whether to cause specs to only have one expectation failure.
|
||||
* @name Configuration#stopSpecOnExpectationFailure
|
||||
* @since 3.3.0
|
||||
* @type Boolean
|
||||
* @default false
|
||||
*/
|
||||
stopSpecOnExpectationFailure: false,
|
||||
/**
|
||||
* A function that takes a spec and returns true if it should be executed
|
||||
* or false if it should be skipped.
|
||||
@@ -172,9 +190,7 @@ getJasmineRequireObj().Env = function(j$) {
|
||||
this.configure = function(configuration) {
|
||||
var booleanProps = [
|
||||
'random',
|
||||
'failFast',
|
||||
'failSpecWithNoExpectations',
|
||||
'oneFailurePerSpec',
|
||||
'hideDisabled'
|
||||
];
|
||||
|
||||
@@ -184,6 +200,46 @@ getJasmineRequireObj().Env = function(j$) {
|
||||
}
|
||||
});
|
||||
|
||||
if (typeof configuration.failFast !== 'undefined') {
|
||||
if (typeof configuration.stopOnSpecFailure !== 'undefined') {
|
||||
if (configuration.stopOnSpecFailure !== configuration.failFast) {
|
||||
throw new Error(
|
||||
'stopOnSpecFailure and failFast are aliases for ' +
|
||||
"each other. Don't set failFast if you also set stopOnSpecFailure."
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
config.failFast = configuration.failFast;
|
||||
config.stopOnSpecFailure = configuration.failFast;
|
||||
} else if (typeof configuration.stopOnSpecFailure !== 'undefined') {
|
||||
config.failFast = configuration.stopOnSpecFailure;
|
||||
config.stopOnSpecFailure = configuration.stopOnSpecFailure;
|
||||
}
|
||||
|
||||
if (typeof configuration.oneFailurePerSpec !== 'undefined') {
|
||||
if (typeof configuration.stopSpecOnExpectationFailure !== 'undefined') {
|
||||
if (
|
||||
configuration.stopSpecOnExpectationFailure !==
|
||||
configuration.oneFailurePerSpec
|
||||
) {
|
||||
throw new Error(
|
||||
'stopSpecOnExpectationFailure and oneFailurePerSpec are aliases for ' +
|
||||
"each other. Don't set oneFailurePerSpec if you also set stopSpecOnExpectationFailure."
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
config.oneFailurePerSpec = configuration.oneFailurePerSpec;
|
||||
config.stopSpecOnExpectationFailure = configuration.oneFailurePerSpec;
|
||||
} else if (
|
||||
typeof configuration.stopSpecOnExpectationFailure !== 'undefined'
|
||||
) {
|
||||
config.oneFailurePerSpec = configuration.stopSpecOnExpectationFailure;
|
||||
config.stopSpecOnExpectationFailure =
|
||||
configuration.stopSpecOnExpectationFailure;
|
||||
}
|
||||
|
||||
if (configuration.specFilter) {
|
||||
config.specFilter = configuration.specFilter;
|
||||
}
|
||||
@@ -515,7 +571,7 @@ getJasmineRequireObj().Env = function(j$) {
|
||||
this.deprecated(
|
||||
'Setting stopOnSpecFailure directly is deprecated and will be removed in a future version of Jasmine, please use the failFast option in `configure`'
|
||||
);
|
||||
this.configure({ failFast: !!value });
|
||||
this.configure({ stopOnSpecFailure: !!value });
|
||||
};
|
||||
|
||||
this.stoppingOnSpecFailure = function() {
|
||||
@@ -609,9 +665,9 @@ getJasmineRequireObj().Env = function(j$) {
|
||||
var queueRunnerFactory = function(options, args) {
|
||||
var failFast = false;
|
||||
if (options.isLeaf) {
|
||||
failFast = config.oneFailurePerSpec;
|
||||
failFast = config.stopSpecOnExpectationFailure;
|
||||
} else if (!options.isReporter) {
|
||||
failFast = config.failFast;
|
||||
failFast = config.stopOnSpecFailure;
|
||||
}
|
||||
options.clearStack = options.clearStack || clearStack;
|
||||
options.timeout = {
|
||||
|
||||
@@ -527,17 +527,20 @@ jasmineRequire.HtmlReporter = function(j$) {
|
||||
);
|
||||
|
||||
var failFastCheckbox = optionsMenuDom.querySelector('#jasmine-fail-fast');
|
||||
failFastCheckbox.checked = config.failFast;
|
||||
failFastCheckbox.checked = config.stopOnSpecFailure;
|
||||
failFastCheckbox.onclick = function() {
|
||||
navigateWithNewParam('failFast', !config.failFast);
|
||||
navigateWithNewParam('failFast', !config.stopOnSpecFailure);
|
||||
};
|
||||
|
||||
var throwCheckbox = optionsMenuDom.querySelector(
|
||||
'#jasmine-throw-failures'
|
||||
);
|
||||
throwCheckbox.checked = config.oneFailurePerSpec;
|
||||
throwCheckbox.checked = config.stopSpecOnExpectationFailure;
|
||||
throwCheckbox.onclick = function() {
|
||||
navigateWithNewParam('oneFailurePerSpec', !config.oneFailurePerSpec);
|
||||
navigateWithNewParam(
|
||||
'oneFailurePerSpec',
|
||||
!config.stopSpecOnExpectationFailure
|
||||
);
|
||||
};
|
||||
|
||||
var randomCheckbox = optionsMenuDom.querySelector(
|
||||
|
||||
Reference in New Issue
Block a user