Skip to content

Commit 2b5f2de

Browse files
committed
Add test
1 parent c935be1 commit 2b5f2de

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

packages/utils/src/browser.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ export function getElementIdentifier(
168168
options: string[] | { keyAttrs?: string[]; maxStringLength?: number } = {},
169169
): string {
170170
if (elem instanceof HTMLElement && elem.dataset) {
171-
return elem.dataset['component'] || htmlTreeAsString(elem, options);
171+
return elem.dataset['component'] || elem.dataset['element'] || htmlTreeAsString(elem, options);
172172
}
173173

174174
return htmlTreeAsString(elem, options);

packages/utils/test/browser.test.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
import { JSDOM } from 'jsdom';
22

3-
import { getDomElement, htmlTreeAsString } from '../src/browser';
3+
import { getDomElement, getElementIdentifier, htmlTreeAsString } from '../src/browser';
44

55
beforeAll(() => {
66
const dom = new JSDOM();
7+
78
// @ts-expect-error need to override global document
89
global.document = dom.window.document;
10+
// @ts-expect-error
11+
global.HTMLElement = new JSDOM().window.HTMLElement;
912
});
1013

1114
describe('htmlTreeAsString', () => {
@@ -84,3 +87,14 @@ describe('getDomElement', () => {
8487
expect(el?.id).toEqual('mydiv');
8588
});
8689
});
90+
91+
describe('getElementIdentifier', () => {
92+
it('returns the component name if it exists', () => {
93+
const el = document.createElement('div');
94+
el.innerHTML = '<div id="very-cool-component">😎</div>';
95+
el.setAttribute('data-component', 'VeryCoolComponent');
96+
expect(el).toBeDefined();
97+
98+
expect(getElementIdentifier(el)).toBe('VeryCoolComponent');
99+
});
100+
});

0 commit comments

Comments
 (0)