diff --git a/lib/jasmine-core/jasmine-html.js b/lib/jasmine-core/jasmine-html.js index 22c5d65a..1e388b12 100644 --- a/lib/jasmine-core/jasmine-html.js +++ b/lib/jasmine-core/jasmine-html.js @@ -38,7 +38,7 @@ jasmineRequire.html = function(j$) { j$.HtmlReporterV2Urls = jasmineRequire.HtmlReporterV2Urls(j$); j$.HtmlReporterV2 = jasmineRequire.HtmlReporterV2(j$); j$.QueryString = jasmineRequire.QueryString(); - j$.HtmlSpecFilter = jasmineRequire.HtmlSpecFilter(); + j$.HtmlSpecFilter = jasmineRequire.HtmlSpecFilter(j$); j$.private.HtmlSpecFilterV2 = jasmineRequire.HtmlSpecFilterV2(); }; @@ -53,6 +53,7 @@ jasmineRequire.HtmlReporter = function(j$) { * @implements {Reporter} * @param options Options object. See lib/jasmine-core/boot1.js for details. * @since 1.2.0 + * @deprecated */ class HtmlReporter { #env; @@ -88,6 +89,9 @@ jasmineRequire.HtmlReporter = function(j$) { * @name HtmlReporter#initialize */ initialize() { + this.#env.deprecated( + 'HtmlReporter and HtmlSpecFilter are deprecated. Use HtmlReporterV2 instead.' + ); this.#clearPrior(); this.#config = this.#env ? this.#env.configuration() : {}; @@ -256,10 +260,14 @@ jasmineRequire.HtmlReporter = function(j$) { return HtmlReporter; }; -jasmineRequire.HtmlSpecFilter = function() { +jasmineRequire.HtmlSpecFilter = function(j$) { 'use strict'; function HtmlSpecFilter(options) { + j$.getEnv().deprecated( + 'HtmlReporter and HtmlSpecFilter are deprecated. Use HtmlReporterV2 instead.' + ); + const filterString = options && options.filterString() && @@ -272,6 +280,7 @@ jasmineRequire.HtmlSpecFilter = function() { * @function * @param {string} specName The full name of the spec * @returns {boolean} + * @deprcated */ this.matches = function(specName) { return filterPattern.test(specName); diff --git a/spec/html/HtmlReporterSpec.js b/spec/html/HtmlReporterSpec.js index ad5367f6..98440237 100644 --- a/spec/html/HtmlReporterSpec.js +++ b/spec/html/HtmlReporterSpec.js @@ -3,12 +3,29 @@ describe('HtmlReporter', function() { beforeEach(function() { env = new privateUnderTest.Env(); + spyOn(env, 'deprecated'); }); afterEach(function() { env.cleanup_(); }); + it('emits a deprecation warning', function() { + const container = document.createElement('div'), + getContainer = function() { + return container; + }, + reporter = new jasmineUnderTest.HtmlReporter({ + env: env, + getContainer: getContainer + }); + reporter.initialize(); + + expect(env.deprecated).toHaveBeenCalledWith( + 'HtmlReporter and HtmlSpecFilter are deprecated. Use HtmlReporterV2 instead.' + ); + }); + it('builds the initial DOM elements, including the title banner', function() { const container = document.createElement('div'), getContainer = function() { diff --git a/spec/html/HtmlSpecFilterSpec.js b/spec/html/HtmlSpecFilterSpec.js index 758851fb..d9d60afe 100644 --- a/spec/html/HtmlSpecFilterSpec.js +++ b/spec/html/HtmlSpecFilterSpec.js @@ -1,4 +1,15 @@ describe('HtmlSpecFilter', function() { + beforeEach(function() { + spyOn(jasmineUnderTest.getEnv(), 'deprecated'); + }); + + it('emits a deprecation warning', function() { + new jasmineUnderTest.HtmlSpecFilter(); + expect(jasmineUnderTest.getEnv().deprecated).toHaveBeenCalledWith( + 'HtmlReporter and HtmlSpecFilter are deprecated. Use HtmlReporterV2 instead.' + ); + }); + it('should match when no string is provided', function() { const specFilter = new jasmineUnderTest.HtmlSpecFilter(); diff --git a/src/html/HtmlReporter.js b/src/html/HtmlReporter.js index 45bdf071..d95f045d 100644 --- a/src/html/HtmlReporter.js +++ b/src/html/HtmlReporter.js @@ -9,6 +9,7 @@ jasmineRequire.HtmlReporter = function(j$) { * @implements {Reporter} * @param options Options object. See lib/jasmine-core/boot1.js for details. * @since 1.2.0 + * @deprecated */ class HtmlReporter { #env; @@ -44,6 +45,9 @@ jasmineRequire.HtmlReporter = function(j$) { * @name HtmlReporter#initialize */ initialize() { + this.#env.deprecated( + 'HtmlReporter and HtmlSpecFilter are deprecated. Use HtmlReporterV2 instead.' + ); this.#clearPrior(); this.#config = this.#env ? this.#env.configuration() : {}; diff --git a/src/html/HtmlSpecFilter.js b/src/html/HtmlSpecFilter.js index a9058873..ee21e15f 100644 --- a/src/html/HtmlSpecFilter.js +++ b/src/html/HtmlSpecFilter.js @@ -1,7 +1,11 @@ -jasmineRequire.HtmlSpecFilter = function() { +jasmineRequire.HtmlSpecFilter = function(j$) { 'use strict'; function HtmlSpecFilter(options) { + j$.getEnv().deprecated( + 'HtmlReporter and HtmlSpecFilter are deprecated. Use HtmlReporterV2 instead.' + ); + const filterString = options && options.filterString() && @@ -14,6 +18,7 @@ jasmineRequire.HtmlSpecFilter = function() { * @function * @param {string} specName The full name of the spec * @returns {boolean} + * @deprcated */ this.matches = function(specName) { return filterPattern.test(specName); diff --git a/src/html/requireHtml.js b/src/html/requireHtml.js index d2b11f08..a27c39b9 100644 --- a/src/html/requireHtml.js +++ b/src/html/requireHtml.js @@ -14,6 +14,6 @@ jasmineRequire.html = function(j$) { j$.HtmlReporterV2Urls = jasmineRequire.HtmlReporterV2Urls(j$); j$.HtmlReporterV2 = jasmineRequire.HtmlReporterV2(j$); j$.QueryString = jasmineRequire.QueryString(); - j$.HtmlSpecFilter = jasmineRequire.HtmlSpecFilter(); + j$.HtmlSpecFilter = jasmineRequire.HtmlSpecFilter(j$); j$.private.HtmlSpecFilterV2 = jasmineRequire.HtmlSpecFilterV2(); };