mirror of
https://github.com/hanzoai/sentinel.git
synced 2026-09-29 22:34:33 +00:00
114 lines
2.9 KiB
TypeScript
114 lines
2.9 KiB
TypeScript
import constructSelector from 'sentry/views/replays/deadRageClick/constructSelector';
|
|
|
|
describe('constructSelector', () => {
|
|
it.each([
|
|
{
|
|
element: {
|
|
alt: 'view more',
|
|
aria_label: 'View More',
|
|
class: ['classA'],
|
|
id: 'ID1',
|
|
role: 'button',
|
|
tag: 'button',
|
|
testid: 'button-test',
|
|
title: 'cool title',
|
|
},
|
|
fullSelector:
|
|
'button#ID1.classA[role="button"][aria="View More"][data-test-id="button-test"][alt="view more"][title="cool title"]',
|
|
selector:
|
|
'button#ID1.classA[role="button"][aria="View More"][data-test-id="button-test"][alt="view more"][title="cool title"]',
|
|
},
|
|
{
|
|
element: {
|
|
alt: '',
|
|
aria_label: '',
|
|
class: ['', ''],
|
|
id: '',
|
|
role: '',
|
|
tag: 'a',
|
|
testid: '',
|
|
title: '',
|
|
},
|
|
fullSelector: 'a[role=""][aria=""][data-test-id=""][alt=""][title=""]',
|
|
selector: 'a',
|
|
},
|
|
{
|
|
element: {
|
|
alt: '',
|
|
aria_label: '',
|
|
class: ['classA', ''],
|
|
id: '',
|
|
role: '',
|
|
tag: 'a',
|
|
testid: '',
|
|
title: '',
|
|
},
|
|
fullSelector: 'a.classA[role=""][aria=""][data-test-id=""][alt=""][title=""]',
|
|
selector: 'a.classA',
|
|
},
|
|
{
|
|
element: {
|
|
alt: '',
|
|
aria_label: '',
|
|
class: ['classA', ''],
|
|
id: 'ID2',
|
|
role: '',
|
|
tag: 'a',
|
|
testid: '',
|
|
title: '',
|
|
},
|
|
fullSelector: 'a#ID2.classA[role=""][aria=""][data-test-id=""][alt=""][title=""]',
|
|
selector: 'a#ID2.classA',
|
|
},
|
|
{
|
|
element: {
|
|
alt: '',
|
|
aria_label: '',
|
|
class: ['classA', 'classB'],
|
|
id: 'ID2',
|
|
role: '',
|
|
tag: 'a',
|
|
testid: '',
|
|
title: '',
|
|
},
|
|
fullSelector:
|
|
'a#ID2.classA.classB[role=""][aria=""][data-test-id=""][alt=""][title=""]',
|
|
selector: 'a#ID2.classA.classB',
|
|
},
|
|
{
|
|
element: {
|
|
alt: '',
|
|
aria_label: 'hello',
|
|
class: ['classA', 'classB'],
|
|
id: 'ID2',
|
|
role: '',
|
|
tag: 'a',
|
|
testid: '',
|
|
title: '',
|
|
},
|
|
fullSelector:
|
|
'a#ID2.classA.classB[role=""][aria="hello"][data-test-id=""][alt=""][title=""]',
|
|
selector: 'a#ID2.classA.classB[aria="hello"]',
|
|
},
|
|
{
|
|
element: {
|
|
alt: '',
|
|
aria_label: 'hello',
|
|
class: [''],
|
|
id: 'ID2',
|
|
role: '',
|
|
tag: 'a',
|
|
testid: '',
|
|
title: '',
|
|
},
|
|
fullSelector: 'a#ID2[role=""][aria="hello"][data-test-id=""][alt=""][title=""]',
|
|
selector: 'a#ID2[aria="hello"]',
|
|
},
|
|
])(
|
|
'should construct the correct trimmed selector and full selector, for each element in the list',
|
|
({element, fullSelector, selector}) => {
|
|
expect(constructSelector(element)).toStrictEqual({fullSelector, selector});
|
|
}
|
|
);
|
|
});
|