siesta-lite
Version:
Stress-free JavaScript unit testing and functional testing tool, works in NodeJS and browsers
56 lines (38 loc) • 1.58 kB
JavaScript
/*
Siesta 5.6.1
Copyright(c) 2009-2022 Bryntum AB
https://bryntum.com/contact
https://bryntum.com/products/siesta/license
*/
Role('Ariadne.DomQueryFinder.Role.DomHelper', {
does : [
Siesta.Util.Role.CanGetType
],
methods : {
ignoreCssClass : function (cls, dom) {
return false
},
getCssClasses : function (dom) {
// `className` will be a "[object SVGAnimatedString]" value for SVG elements
var classes = this.typeOf(dom.className) == 'String' ? dom.className.trim() : ''
var significantClasses = []
var index = {}
classes = classes && classes.split(/\s+/) || [];
for (var i = 0; i < classes.length; i++) {
var cssClass = classes[ i ]
if (!index[ cssClass ]) {
if (!this.ignoreCssClass(cssClass, dom)) significantClasses.push(cssClass)
index[ cssClass ] = true
}
}
return significantClasses
},
escapeDomSelector : function (selector, asId) {
if (asId) return Siesta.Sizzle.escape(selector)
return Siesta.Sizzle.escape("L" + selector).substring(1).replace(/\\ /g, ' ')
},
unEscapeDomSelector : function (selector) {
return Siesta.Sizzle.unescape(selector)
}
}
});