siesta-lite
Version:
Stress-free JavaScript unit testing and functional testing tool, works in NodeJS and browsers
30 lines (20 loc) • 807 B
JavaScript
/*
Siesta 5.6.1
Copyright(c) 2009-2022 Bryntum AB
https://bryntum.com/contact
https://bryntum.com/products/siesta/license
*/
Role('Siesta.Util.Role.CanMergeArrayAttributeFromClassHierarchy', {
methods : {
mergeArrayAttributeFromClassHierarchy : function (name, cfg) {
var arrays = []
for (var meta = this.meta; meta.hasAttribute(name); meta = meta.superClass.meta) {
arrays.push(meta.getAttribute(name).init())
}
if (cfg.hasOwnProperty(name) && this[ name ]) arrays.unshift(this[ name ])
var result = []
arrays.forEach(function (array) { result.push.apply(result, array) })
return result
}
}
});