siesta-lite
Version:
Stress-free JavaScript unit testing and functional testing tool, works in NodeJS and browsers
43 lines (30 loc) • 1.3 kB
JavaScript
/*
Siesta 5.6.1
Copyright(c) 2009-2022 Bryntum AB
https://bryntum.com/contact
https://bryntum.com/products/siesta/license
*/
Class('Ariadne.ExtJSComponentQueryFinder.Identifier.DirectChild', {
isa : Ariadne.ExtJSComponentQueryFinder.Identifier.NthChild,
methods : {
identify : function (cmp, root, maze) {
var container = this.finder.getParent(cmp)
if ((!container || container == root) && root.query) {
var safeXtype = this.getExt4ProofXtype(cmp, this.finder.Ext)
var query = safeXtype.query + (safeXtype.leading ? '(true)' : '')
var allRootComponentsOfType = root.query(query + ':root')
var index = allRootComponentsOfType.indexOf(cmp)
if (index >= 0)
return {
query : query + ':root(' + (index + 1) + ')',
leading : safeXtype.leading,
weight : 1e7
}
} else {
var segment = this.SUPERARG(arguments)
if (segment) segment.child = true
return segment
}
}
}
});