mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 17:59:23 -04:00
use the test-subj-selector module
This commit is contained in:
parent
bcea0bb600
commit
95ab8a3e2a
2 changed files with 7 additions and 19 deletions
|
@ -130,6 +130,7 @@
|
|||
"whatwg-fetch": "0.9.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@spalger/test-subj-selector": "0.2.0",
|
||||
"Nonsense": "0.1.2",
|
||||
"angular-mocks": "1.4.7",
|
||||
"auto-release-sinon": "1.0.3",
|
||||
|
|
25
src/ui/public/jquery/findTestSubject.js
vendored
25
src/ui/public/jquery/findTestSubject.js
vendored
|
@ -1,3 +1,5 @@
|
|||
var testSubjSelector = require('@spalger/test-subj-selector');
|
||||
|
||||
module.exports = function bindToJquery($) {
|
||||
|
||||
/**
|
||||
|
@ -41,28 +43,13 @@ module.exports = function bindToJquery($) {
|
|||
*/
|
||||
$.fn.findTestSubject = findTestSubject;
|
||||
|
||||
function findTestSubject(/* ...subjectSelectors */) {
|
||||
var subjectSelectors = [].slice.apply(arguments);
|
||||
function findTestSubject(...subjectSelectors) {
|
||||
var $els = $();
|
||||
var $context = this;
|
||||
|
||||
subjectSelectors.forEach(function (subjectSelector) {
|
||||
var cssSelectors = [];
|
||||
var terms = subjectSelector
|
||||
.replace(/\s*&\s*/g, '&') // remove all whitespace around joins
|
||||
.split(/\s+/);
|
||||
|
||||
function termToCssSelector(term) {
|
||||
return term ? '[data-test-subj~="' + term + '"]' : '';
|
||||
}
|
||||
|
||||
while (terms.length) {
|
||||
var term = terms.shift();
|
||||
// split each term by joins/& and map to css selectors
|
||||
cssSelectors.push(term.split('&').map(termToCssSelector).join(''));
|
||||
}
|
||||
|
||||
$els = $els.add($context.find(cssSelectors.join(' ')));
|
||||
testSubjSelector(...subjectSelectors)
|
||||
.forEach(function (cssSelector) {
|
||||
$els = $els.add($context.find(cssSelector));
|
||||
});
|
||||
|
||||
return $els;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue