From ee0ff3b6c8268810c56effa8afb7f156a74c4764 Mon Sep 17 00:00:00 2001 From: Blake Sawyer Date: Fri, 11 Dec 2015 23:53:23 -0500 Subject: [PATCH] Persist randomize param in 'run all' links --- spec/html/HtmlReporterSpec.js | 39 +++++++++++++++++++++++++++++++++++ src/html/HtmlReporter.js | 3 ++- 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/spec/html/HtmlReporterSpec.js b/spec/html/HtmlReporterSpec.js index e7a0c0ee..9ec12c3a 100644 --- a/spec/html/HtmlReporterSpec.js +++ b/spec/html/HtmlReporterSpec.js @@ -690,6 +690,45 @@ describe("New HtmlReporter", function() { expect(seedBar).toBeNull(); }); + it("should include the random query param in the jasmine-skipped link when randomizing", function(){ + var env, container, reporter; + env = new jasmineUnderTest.Env(); + container = document.createElement("div"); + var getContainer = function() { return container; }, + reporter = new jasmineUnderTest.HtmlReporter({ + env: env, + getContainer: getContainer, + createElement: function() { return document.createElement.apply(document, arguments); }, + createTextNode: function() { return document.createTextNode.apply(document, arguments); } + }); + + reporter.initialize(); + reporter.jasmineStarted({ totalSpecsDefined: 1 }); + 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, container, reporter; + env = new jasmineUnderTest.Env(); + container = document.createElement("div"); + var getContainer = function() { return container; }, + reporter = new jasmineUnderTest.HtmlReporter({ + env: env, + getContainer: getContainer, + 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('?'); + }); }); it("shows a message if no specs are run", function(){ diff --git a/src/html/HtmlReporter.js b/src/html/HtmlReporter.js index 9c150604..0628adb0 100644 --- a/src/html/HtmlReporter.js +++ b/src/html/HtmlReporter.js @@ -180,9 +180,10 @@ jasmineRequire.HtmlReporter = function(j$) { if (specsExecuted < totalSpecsDefined) { var skippedMessage = 'Ran ' + specsExecuted + ' of ' + totalSpecsDefined + ' specs - run all'; + var skippedLink = order && order.random ? '?random=true' : '?'; alert.appendChild( createDom('span', {className: 'jasmine-bar jasmine-skipped'}, - createDom('a', {href: '?', title: 'Run all specs'}, skippedMessage) + createDom('a', {href: skippedLink, title: 'Run all specs'}, skippedMessage) ) ); }