Skip to content

Commit 02fc89c

Browse files
Modified getRegionsByElements to ignore class
1 parent a976b52 commit 02fc89c

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

percy/providers/genericProvider.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -245,9 +245,8 @@ class GenericProvider {
245245
async getRegionsByElements(elementsArray, elements) {
246246
for (let index = 0; index < elements.length; index++) {
247247
try {
248-
const type = await elements[index].getAttribute('class');
249-
const selector = `element: ${index} ${type}`;
250-
248+
const selector = `element: ${index}`;
249+
251250
const ignoredRegion = await this.getRegionObject(selector, elements[index]);
252251
elementsArray.push(ignoredRegion);
253252
} catch (e) {

test/percy/providers/genericProvider.test.mjs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,35 @@ describe('GenericProvider', () => {
180180
// expect(getRegionObjectSpy).not.toHaveBeenCalled();
181181
expect(elementsArray).toEqual([]);
182182
});
183+
184+
it('should add regions for valid elements', async () => {
185+
const elementsArray = [];
186+
const mockElements = [
187+
{
188+
getRect: jasmine.createSpy().and.resolveTo({ x: 10, y: 20, width: 100, height: 50 })
189+
},
190+
{
191+
getRect: jasmine.createSpy().and.resolveTo({ x: 30, y: 40, width: 200, height: 60 })
192+
}
193+
];
194+
195+
await provider.getRegionsByElements.call({ driver, getRegionObject: getRegionObjectSpy }, elementsArray, mockElements);
196+
197+
expect(getRegionObjectSpy).toHaveBeenCalledTimes(2);
198+
expect(getRegionObjectSpy.calls.argsFor(0)[0]).toBe('element: 0');
199+
expect(getRegionObjectSpy.calls.argsFor(1)[0]).toBe('element: 1');
200+
expect(elementsArray).toEqual([{}, {}]);
201+
});
202+
203+
it('should handle empty elements array', async () => {
204+
const elementsArray = [];
205+
const mockElements = [];
206+
207+
await provider.getRegionsByElements.call({ driver, getRegionObject: getRegionObjectSpy }, elementsArray, mockElements);
208+
209+
expect(getRegionObjectSpy).not.toHaveBeenCalled();
210+
expect(elementsArray).toEqual([]);
211+
});
183212
});
184213

185214
describe('getRegionsByLocation function', () => {

0 commit comments

Comments
 (0)