mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 17:28:26 -04:00
Add test-subj-selector module to packages dir. (#16623)
* Add test-subj-selector module to packages dir. * Rename to @kbn/test-subj-selector. * Simplify rejectRejFiles Grunt task and ignore nested node_modules. * Update jenkins_unit script to use yarn kbn CLI.
This commit is contained in:
parent
62f3b808ee
commit
eb49a8c449
11 changed files with 174 additions and 25 deletions
|
@ -80,11 +80,10 @@
|
|||
"@elastic/eui": "0.0.19",
|
||||
"@elastic/filesaver": "1.1.2",
|
||||
"@elastic/numeral": "2.3.1",
|
||||
"@elastic/test-subj-selector": "0.2.1",
|
||||
"@elastic/ui-ace": "0.2.3",
|
||||
"@kbn/babel-preset": "link:packages/kbn-babel-preset",
|
||||
"@kbn/build": "link:packages/kbn-build",
|
||||
"JSONStream": "1.1.1",
|
||||
"@kbn/test-subj-selector": "link:packages/kbn-test-subj-selector",
|
||||
"accept-language-parser": "1.2.0",
|
||||
"angular": "1.6.5",
|
||||
"angular-aria": "1.6.6",
|
||||
|
@ -143,6 +142,7 @@
|
|||
"js-yaml": "3.4.1",
|
||||
"json-stringify-pretty-compact": "1.0.4",
|
||||
"json-stringify-safe": "5.0.1",
|
||||
"JSONStream": "1.1.1",
|
||||
"jstimezonedetect": "1.0.5",
|
||||
"leaflet": "1.0.3",
|
||||
"leaflet-draw": "0.4.10",
|
||||
|
|
3
packages/kbn-test-subj-selector/README.md
Executable file
3
packages/kbn-test-subj-selector/README.md
Executable file
|
@ -0,0 +1,3 @@
|
|||
# test-subj-selector
|
||||
|
||||
Convert a string from test subject syntax to css selectors.
|
22
packages/kbn-test-subj-selector/index.js
Executable file
22
packages/kbn-test-subj-selector/index.js
Executable file
|
@ -0,0 +1,22 @@
|
|||
function seletorToTerms(selector) {
|
||||
return selector
|
||||
.replace(/\s*&\s*/g, '&') // remove all whitespace around joins
|
||||
.split(/\s+/);
|
||||
}
|
||||
|
||||
function termToCssSelector(term) {
|
||||
return term ? '[data-test-subj~="' + term + '"]' : '';
|
||||
}
|
||||
|
||||
module.exports = function testSubjSelector(selector) {
|
||||
const cssSelectors = [];
|
||||
const terms = seletorToTerms(selector);
|
||||
|
||||
while (terms.length) {
|
||||
const term = terms.shift();
|
||||
// split each term by joins/& and map to css selectors
|
||||
cssSelectors.push(term.split('&').map(termToCssSelector).join(''));
|
||||
}
|
||||
|
||||
return cssSelectors.join(' ');
|
||||
};
|
16
packages/kbn-test-subj-selector/package.json
Executable file
16
packages/kbn-test-subj-selector/package.json
Executable file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"name": "@kbn/test-subj-selector",
|
||||
"version": "0.2.1",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "mocha test"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "Spencer Alger <email@spalger.com>",
|
||||
"license": "Apache-2.0",
|
||||
"devDependencies": {
|
||||
"expect.js": "^0.3.1",
|
||||
"mocha": "^2.3.4"
|
||||
}
|
||||
}
|
10
packages/kbn-test-subj-selector/test/index.js
Executable file
10
packages/kbn-test-subj-selector/test/index.js
Executable file
|
@ -0,0 +1,10 @@
|
|||
const testSubjSelector = require('../');
|
||||
const expect = require('expect.js');
|
||||
|
||||
describe('testSubjSelector()', function () {
|
||||
it('converts subjectSelectors to cssSelectors', function () {
|
||||
expect(testSubjSelector('foo bar')).to.eql('[data-test-subj~="foo"] [data-test-subj~="bar"]');
|
||||
expect(testSubjSelector('foo&bar')).to.eql('[data-test-subj~="foo"][data-test-subj~="bar"]');
|
||||
expect(testSubjSelector('foo & bar')).to.eql('[data-test-subj~="foo"][data-test-subj~="bar"]');
|
||||
});
|
||||
});
|
107
packages/kbn-test-subj-selector/yarn.lock
Normal file
107
packages/kbn-test-subj-selector/yarn.lock
Normal file
|
@ -0,0 +1,107 @@
|
|||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
commander@0.6.1:
|
||||
version "0.6.1"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-0.6.1.tgz#fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06"
|
||||
|
||||
commander@2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.3.0.tgz#fd430e889832ec353b9acd1de217c11cb3eef873"
|
||||
|
||||
debug@2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
|
||||
dependencies:
|
||||
ms "0.7.1"
|
||||
|
||||
diff@1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf"
|
||||
|
||||
escape-string-regexp@1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz#4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1"
|
||||
|
||||
expect.js@^0.3.1:
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/expect.js/-/expect.js-0.3.1.tgz#b0a59a0d2eff5437544ebf0ceaa6015841d09b5b"
|
||||
|
||||
glob@3.2.11:
|
||||
version "3.2.11"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d"
|
||||
dependencies:
|
||||
inherits "2"
|
||||
minimatch "0.3"
|
||||
|
||||
growl@1.9.2:
|
||||
version "1.9.2"
|
||||
resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f"
|
||||
|
||||
inherits@2:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
|
||||
|
||||
jade@0.26.3:
|
||||
version "0.26.3"
|
||||
resolved "https://registry.yarnpkg.com/jade/-/jade-0.26.3.tgz#8f10d7977d8d79f2f6ff862a81b0513ccb25686c"
|
||||
dependencies:
|
||||
commander "0.6.1"
|
||||
mkdirp "0.3.0"
|
||||
|
||||
lru-cache@2:
|
||||
version "2.7.3"
|
||||
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952"
|
||||
|
||||
minimatch@0.3:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd"
|
||||
dependencies:
|
||||
lru-cache "2"
|
||||
sigmund "~1.0.0"
|
||||
|
||||
minimist@0.0.8:
|
||||
version "0.0.8"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
|
||||
|
||||
mkdirp@0.3.0:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e"
|
||||
|
||||
mkdirp@0.5.1:
|
||||
version "0.5.1"
|
||||
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
|
||||
dependencies:
|
||||
minimist "0.0.8"
|
||||
|
||||
mocha@^2.3.4:
|
||||
version "2.5.3"
|
||||
resolved "https://registry.yarnpkg.com/mocha/-/mocha-2.5.3.tgz#161be5bdeb496771eb9b35745050b622b5aefc58"
|
||||
dependencies:
|
||||
commander "2.3.0"
|
||||
debug "2.2.0"
|
||||
diff "1.4.0"
|
||||
escape-string-regexp "1.0.2"
|
||||
glob "3.2.11"
|
||||
growl "1.9.2"
|
||||
jade "0.26.3"
|
||||
mkdirp "0.5.1"
|
||||
supports-color "1.2.0"
|
||||
to-iso-string "0.0.2"
|
||||
|
||||
ms@0.7.1:
|
||||
version "0.7.1"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
|
||||
|
||||
sigmund@~1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590"
|
||||
|
||||
supports-color@1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-1.2.0.tgz#ff1ed1e61169d06b3cf2d588e188b18d8847e17e"
|
||||
|
||||
to-iso-string@0.0.2:
|
||||
version "0.0.2"
|
||||
resolved "https://registry.yarnpkg.com/to-iso-string/-/to-iso-string-0.0.2.tgz#4dc19e664dfccbe25bd8db508b00c6da158255d1"
|
2
src/ui/public/jquery/find_test_subject.js
vendored
2
src/ui/public/jquery/find_test_subject.js
vendored
|
@ -1,4 +1,4 @@
|
|||
import testSubjSelector from '@elastic/test-subj-selector';
|
||||
import testSubjSelector from '@kbn/test-subj-selector';
|
||||
|
||||
// eslint-disable-next-line @elastic/kibana-custom/no-default-export
|
||||
export default function bindToJquery($) {
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
import { startsWith } from 'lodash';
|
||||
|
||||
// Fails if any .rej files are found
|
||||
// .rej files are an artifact from a failed git-apply or a jasper backport
|
||||
|
||||
|
@ -8,19 +6,14 @@ import { startsWith } from 'lodash';
|
|||
|
||||
export default grunt => {
|
||||
grunt.registerTask('rejectRejFiles', 'Reject any git-apply .rej files', () => {
|
||||
const ignoredTopLevelDirs = [
|
||||
'esvm',
|
||||
'plugins',
|
||||
'node_modules',
|
||||
'optimize'
|
||||
];
|
||||
const files = grunt.file.expand([
|
||||
'**/*.rej',
|
||||
'!esvm/**/*.rej',
|
||||
'!plugins/**/*.rej',
|
||||
'!optimize/**/*.rej',
|
||||
'!**/node_modules/**/*.rej',
|
||||
]);
|
||||
|
||||
const matchBase = true;
|
||||
const filter = file => (
|
||||
ignoredTopLevelDirs.every(dir => !startsWith(file, dir))
|
||||
);
|
||||
|
||||
const files = grunt.file.expand({ filter, matchBase }, '*.rej');
|
||||
if (files.length > 0) {
|
||||
const err = `.rej files are not allowed:\n${files.join('\n')}`;
|
||||
grunt.log.error(err);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import testSubjSelector from '@elastic/test-subj-selector';
|
||||
import testSubjSelector from '@kbn/test-subj-selector';
|
||||
import {
|
||||
filter as filterAsync,
|
||||
map as mapAsync,
|
||||
|
|
|
@ -3,8 +3,6 @@
|
|||
set -e
|
||||
source "$(dirname $0)/../../src/dev/ci_setup/setup.sh"
|
||||
|
||||
cd packages/kbn-plugin-helpers
|
||||
yarn test
|
||||
cd -
|
||||
yarn kbn run test --skip-kibana --skip-kibana-extra
|
||||
|
||||
xvfb-run "$(yarn bin)/grunt" jenkins:unit;
|
||||
|
|
|
@ -116,10 +116,6 @@
|
|||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@elastic/numeral/-/numeral-2.3.1.tgz#743801971d8f0c975f9a122867d0e8939d31b3eb"
|
||||
|
||||
"@elastic/test-subj-selector@0.2.1":
|
||||
version "0.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@elastic/test-subj-selector/-/test-subj-selector-0.2.1.tgz#f49fedd438bb1f2273d3c6b1b1b8bf335de2c192"
|
||||
|
||||
"@elastic/ui-ace@0.2.3":
|
||||
version "0.2.3"
|
||||
resolved "https://registry.yarnpkg.com/@elastic/ui-ace/-/ui-ace-0.2.3.tgz#5281aed47a79b7216c55542b0675e435692f20cd"
|
||||
|
@ -136,6 +132,10 @@
|
|||
version "0.0.0"
|
||||
uid ""
|
||||
|
||||
"@kbn/test-subj-selector@link:packages/kbn-test-subj-selector":
|
||||
version "0.0.0"
|
||||
uid ""
|
||||
|
||||
"@types/json-stable-stringify@^1.0.32":
|
||||
version "1.0.32"
|
||||
resolved "https://registry.yarnpkg.com/@types/json-stable-stringify/-/json-stable-stringify-1.0.32.tgz#121f6917c4389db3923640b2e68de5fa64dda88e"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue