Coerce the random string to a seed before sending it to reporters

This fixes an error in HTMLReporter when the configured seed is a
number rather than a string, which has been allowed since 3.8.0
This commit is contained in:
Steve Gravrock
2022-09-03 12:36:35 -07:00
parent c14bfe3e5f
commit 59848ca151
3 changed files with 25 additions and 2 deletions

View File

@@ -8433,7 +8433,7 @@ getJasmineRequireObj().Runner = function(j$) {
const order = new j$.Order({
random: config.random,
seed: config.seed
seed: j$.isNumber_(config.seed) ? config.seed + '' : config.seed
});
const processor = new j$.TreeProcessor({

View File

@@ -2026,6 +2026,29 @@ describe('Env integration', function() {
expect(doneArg.order.seed).toEqual('123456');
});
it('coerces the random seed to a string if it is a number', async function() {
const reporter = jasmine.createSpyObj('fakeReporter', [
'jasmineStarted',
'jasmineDone',
'suiteStarted',
'suiteDone',
'specStarted',
'specDone'
]);
env.configure({ random: true, seed: 123456 });
env.addReporter(reporter);
env.configure({ random: true });
await env.execute();
expect(reporter.jasmineStarted).toHaveBeenCalled();
const startedArg = reporter.jasmineStarted.calls.argsFor(0)[0];
expect(startedArg.order.seed).toEqual('123456');
const doneArg = reporter.jasmineDone.calls.argsFor(0)[0];
expect(doneArg.order.seed).toEqual('123456');
});
it('should report pending spec messages', async function() {
const reporter = jasmine.createSpyObj('fakeReporter', ['specDone']);

View File

@@ -51,7 +51,7 @@ getJasmineRequireObj().Runner = function(j$) {
const order = new j$.Order({
random: config.random,
seed: config.seed
seed: j$.isNumber_(config.seed) ? config.seed + '' : config.seed
});
const processor = new j$.TreeProcessor({