testcafe-selector-generator
Version:
25 lines (21 loc) • 735 B
JavaScript
/* eslint-disable no-useless-escape */
export function escapeAttrValue (text) {
return text
.replace(/\\/g, '\\\\\\$&')
.replace(/'/g, '\\\\\\$&')
.replace(/"/g, '\\\\$&');
}
export function escapeSpecifiedSymbols (text) {
return text
.replace(/\\/g, '\\\\\\$&')
.replace(/'/g, '\\\\\\$&')
.replace(/(\!|#|"|\$|%|&|\(|\||\)|\*|\+|,|\.|\/|:|;|<|=|>|\?|@|\[|\]|\^|`|{|\||}|~)/g, '\\\\$&');
}
export function escapeIdValue (idValue) {
return escapeSpecifiedSymbols(idValue).replace(/\s/g, '\\\\ ');
}
export function escapeValueForSelectorWithRegExp (text) {
return text
.replace(/'|"|\\|\||\-|\*|\?|\+|\^|\$|\[|\]/g, '\\$&')
.replace(/\(|\)/g, '\\S');
}