Files
jasmine/src/html/HtmlSpecFilter.js
2025-09-17 07:30:34 -07:00

39 lines
1.2 KiB
JavaScript

jasmineRequire.HtmlSpecFilter = function() {
/**
* @name HtmlSpecFilter
* @classdesc Legacy HTML spec filter, for backward compatibility
* with boot files that predate {@link HtmlExactSpecFilter}.
* @param options Object with a filterString method
* @constructor
* @deprecated
* @since 1.2.0
*/
// Legacy HTML spec filter, preserved for backward compatibility with
// boot files that predate HtmlExactSpecFilterV2
function HtmlSpecFilter(options) {
let filterString = (options && options.filterString()) || '';
if (filterString.startsWith('[')) {
// Convert an HtmlExactSpecFilterV2 string into something we can use
filterString = JSON.parse(filterString).join(' ');
}
filterString = filterString.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
const filterPattern = new RegExp(filterString);
/**
* Determines whether the spec with the specified name should be executed.
* @name HtmlSpecFilter#matches
* @function
* @param {string} specName The full name of the spec
* @returns {boolean}
*/
this.matches = function(specName) {
return filterPattern.test(specName);
};
}
return HtmlSpecFilter;
};