siesta-lite
Version:
Stress-free JavaScript unit testing and functional testing tool, works in NodeJS and browsers
52 lines (37 loc) • 1.44 kB
JavaScript
/*
Siesta 5.6.1
Copyright(c) 2009-2022 Bryntum AB
https://bryntum.com/contact
https://bryntum.com/products/siesta/license
*/
Class('Ariadne.DomQueryFinder.Identifier.AttributeValue', {
isa : Ariadne.QueryFinder.Identifier,
does : Ariadne.DomQueryFinder.Role.DomHelper,
has : {
// an array of attribute names, which can be used for matching
attributes : function () {
return [
'name',
'title'
]
}
},
methods : {
initialize : function (cfg) {
this.attributes = this.mergeArrayAttributeFromClassHierarchy('attributes', cfg)
},
ignoreAttribute : function (target, attributeName) {
return false
},
identify : function (target, root, maze) {
var attributes = this.attributes
var segments = []
for (var i = 0; i < attributes.length; i++) {
var attribute = attributes[ i ]
if (target.hasAttribute(attribute) && !this.ignoreAttribute(target, attribute))
segments.push("[" + attribute + "='" + this.escapeDomSelector(target.getAttribute(attribute)) + "']")
}
return segments
}
}
});