Deprecate jsApiReporter and remove it from boot1.js
jsApiReporter was initially added as part of the pre-1.0 Ruby based browser runner. It looks like it was designed to resolve a race condition betweeen jasmine-core's startup in the browser and the Ruby runner's startup. Modern runners handle that either by buffering messages in a custom reporter (e.g. jasmine-browser-runner's BatchReporter) or by calling env.execute() after a communication channel has been set up (e.g. the old Jasmine ruby gem). In any other context, a custom reporter is easier to use than jsApiReporter because it doesn't require polling. Adding jsApiReporter to the env imposes small but measurable penalties in time and space, both of which are proportional to the size of the test suite. Other than jasmine-py and Testdouble's jasmine-rails gem, neither of which ever supported jasmine-core 4 or later, I can find scant evidence of interest and no evidence of usage after about 2012.
This commit is contained in:
@@ -53,10 +53,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* The `jsApiReporter` also receives spec results, and is used by any environment that needs to extract the results from JavaScript.
|
||||
*/
|
||||
env.addReporter(jsApiReporter);
|
||||
env.addReporter(htmlReporter);
|
||||
/**
|
||||
* Configures Jasmine based on the current set of query parameters. This
|
||||
|
||||
@@ -2099,11 +2099,13 @@ getJasmineRequireObj().Env = function(j$) {
|
||||
getJasmineRequireObj().JsApiReporter = function(j$) {
|
||||
'use strict';
|
||||
|
||||
// TODO: remove in 7.0.
|
||||
/**
|
||||
* @name jsApiReporter
|
||||
* @classdesc {@link Reporter} added by default in `boot.js` to record results for retrieval in javascript code. An instance is made available as `jsApiReporter` on the global object.
|
||||
* @class
|
||||
* @hideconstructor
|
||||
* @deprecated In most cases jsApiReporter can simply be removed. If necessary, it can be replaced with a {@link Reporter|custom reporter}.
|
||||
*/
|
||||
function JsApiReporter(options) {
|
||||
const timer = options.timer || new j$.Timer();
|
||||
|
||||
@@ -29,10 +29,6 @@
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* The `jsApiReporter` also receives spec results, and is used by any environment that needs to extract the results from JavaScript.
|
||||
*/
|
||||
env.addReporter(jsApiReporter);
|
||||
env.addReporter(htmlReporter);
|
||||
/**
|
||||
* Configures Jasmine based on the current set of query parameters. This
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
getJasmineRequireObj().JsApiReporter = function(j$) {
|
||||
'use strict';
|
||||
|
||||
// TODO: remove in 7.0.
|
||||
/**
|
||||
* @name jsApiReporter
|
||||
* @classdesc {@link Reporter} added by default in `boot.js` to record results for retrieval in javascript code. An instance is made available as `jsApiReporter` on the global object.
|
||||
* @class
|
||||
* @hideconstructor
|
||||
* @deprecated In most cases jsApiReporter can simply be removed. If necessary, it can be replaced with a {@link Reporter|custom reporter}.
|
||||
*/
|
||||
function JsApiReporter(options) {
|
||||
const timer = options.timer || new j$.Timer();
|
||||
|
||||
Reference in New Issue
Block a user