diff --git a/lib/jasmine-core/jasmine-html.js b/lib/jasmine-core/jasmine-html.js
index 90407cc0..a33e6c17 100644
--- a/lib/jasmine-core/jasmine-html.js
+++ b/lib/jasmine-core/jasmine-html.js
@@ -210,7 +210,7 @@ jasmineRequire.HtmlReporter = function(j$) {
if (specsExecuted < totalSpecsDefined) {
var skippedMessage = 'Ran ' + specsExecuted + ' of ' + totalSpecsDefined + ' specs - run all';
- var skippedLink = order && order.random ? '?random=true' : '?';
+ var skippedLink = addToExistingQueryString('spec', '');
alert.appendChild(
createDom('span', {className: 'jasmine-bar jasmine-skipped'},
createDom('a', {href: skippedLink, title: 'Run all specs'}, skippedMessage)
diff --git a/spec/html/HtmlReporterSpec.js b/spec/html/HtmlReporterSpec.js
index 723ef8b7..7047ea56 100644
--- a/spec/html/HtmlReporterSpec.js
+++ b/spec/html/HtmlReporterSpec.js
@@ -691,14 +691,15 @@ describe("New HtmlReporter", function() {
expect(seedBar).toBeNull();
});
- it("should include the random query param in the jasmine-skipped link when randomizing", function(){
+ it("should include non-spec query params in the jasmine-skipped link when present", function(){
var env = new jasmineUnderTest.Env(),
container = document.createElement("div"),
reporter = new jasmineUnderTest.HtmlReporter({
env: env,
getContainer: function() { return container; },
createElement: function() { return document.createElement.apply(document, arguments); },
- createTextNode: function() { return document.createTextNode.apply(document, arguments); }
+ createTextNode: function() { return document.createTextNode.apply(document, arguments); },
+ addToExistingQueryString: function(key, value) { return "?foo=bar&" + key + "=" + value; }
});
reporter.initialize();
@@ -706,25 +707,7 @@ describe("New HtmlReporter", function() {
reporter.jasmineDone({ order: { random: true } });
var skippedLink = container.querySelector(".jasmine-skipped a");
- expect(skippedLink.getAttribute('href')).toEqual('?random=true');
- });
-
- it("should not include the random query param in the jasmine-skipped link when not randomizing", function(){
- var env = new jasmineUnderTest.Env(),
- container = document.createElement("div"),
- reporter = new jasmineUnderTest.HtmlReporter({
- env: env,
- getContainer: function() { return container; },
- createElement: function() { return document.createElement.apply(document, arguments); },
- createTextNode: function() { return document.createTextNode.apply(document, arguments); }
- });
-
- reporter.initialize();
- reporter.jasmineStarted({ totalSpecsDefined: 1 });
- reporter.jasmineDone();
-
- var skippedLink = container.querySelector(".jasmine-skipped a");
- expect(skippedLink.getAttribute('href')).toEqual('?');
+ expect(skippedLink.getAttribute('href')).toEqual('?foo=bar&spec=');
});
});
diff --git a/src/html/HtmlReporter.js b/src/html/HtmlReporter.js
index 80f68f26..02a9e1ce 100644
--- a/src/html/HtmlReporter.js
+++ b/src/html/HtmlReporter.js
@@ -181,7 +181,7 @@ jasmineRequire.HtmlReporter = function(j$) {
if (specsExecuted < totalSpecsDefined) {
var skippedMessage = 'Ran ' + specsExecuted + ' of ' + totalSpecsDefined + ' specs - run all';
- var skippedLink = order && order.random ? '?random=true' : '?';
+ var skippedLink = addToExistingQueryString('spec', '');
alert.appendChild(
createDom('span', {className: 'jasmine-bar jasmine-skipped'},
createDom('a', {href: skippedLink, title: 'Run all specs'}, skippedMessage)