diff --git a/lib/jasmine-core/jasmine.js b/lib/jasmine-core/jasmine.js index bcf2d4ca..6b60117c 100644 --- a/lib/jasmine-core/jasmine.js +++ b/lib/jasmine-core/jasmine.js @@ -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({ diff --git a/spec/core/integration/EnvSpec.js b/spec/core/integration/EnvSpec.js index b61322d2..f2433403 100644 --- a/spec/core/integration/EnvSpec.js +++ b/spec/core/integration/EnvSpec.js @@ -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']); diff --git a/src/core/Runner.js b/src/core/Runner.js index 10df5195..0f743c7f 100644 --- a/src/core/Runner.js +++ b/src/core/Runner.js @@ -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({