kibana/packages/kbn-test-subj-selector/test_subj_selector.test.ts
Luke Elmers b6287708f6
Adds AGPL 3.0 license (#192025)
Updates files outside of x-pack to be triple-licensed under Elastic
License 2.0, AGPL 3.0, or SSPL 1.0.
2024-09-06 19:02:41 -06:00

25 lines
1.4 KiB
TypeScript

/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the "Elastic License
* 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side
* Public License v 1"; you may not use this file except in compliance with, at
* your election, the "Elastic License 2.0", the "GNU Affero General Public
* License v3.0 only", or the "Server Side Public License, v 1".
*/
import { subj } from './test_subj_selector';
describe('testSubjSelector()', function () {
it('converts subjectSelectors to cssSelectors', function () {
expect(subj('foo bar')).toEqual('[data-test-subj="foo bar"]');
expect(subj('foo > bar')).toEqual('[data-test-subj="foo"] [data-test-subj="bar"]');
expect(subj('foo > bar baz')).toEqual('[data-test-subj="foo"] [data-test-subj="bar baz"]');
expect(subj('*foo')).toEqual('[data-test-subj*="foo"]');
expect(subj('foo*')).toEqual('[data-test-subj="foo*"]');
expect(subj('foo*bar')).toEqual('[data-test-subj="foo*bar"]');
expect(subj('*foo >* bar')).toEqual('[data-test-subj*="foo"] [data-test-subj*="bar"]');
expect(subj('foo> ~bar')).toEqual('[data-test-subj="foo"] [data-test-subj~="bar"]');
expect(subj('~ foo')).toEqual('[data-test-subj~="foo"]');
expect(subj('~foo & ~ bar')).toEqual('[data-test-subj~="foo"][data-test-subj~="bar"]');
});
});