fix: text selector should be case insensitive without quotes (#1151)

This commit is contained in:
Joel Einbinder 2020-02-27 16:52:30 -08:00 committed by GitHub
parent de542c077c
commit 857ffd8ea9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 2 deletions

View file

@ -80,6 +80,6 @@ function createMatcher(selector: string): Matcher {
const re = new RegExp(selector.substring(1, lastSlash), selector.substring(lastSlash + 1));
return text => re.test(text);
}
selector = selector.trim();
return text => text.trim() === selector;
selector = selector.trim().toLowerCase();
return text => text.trim().toLowerCase() === selector;
}

View file

@ -523,6 +523,11 @@ module.exports.describe = function({testRunner, expect, selectors, FFOX, CHROMIU
await page.setContent(`<div> "yo <div></div>ya</div>`);
expect(await selectors._createSelector('text', await page.$('div'))).toBe('" \\"yo "');
});
it('should be case sensitive iff quotes are sepcified', async({page}) => {
await page.setContent(`<div>yo</div><div>ya</div><div>\nye </div>`);
expect(await page.$eval(`text=yA`, e => e.outerHTML)).toBe('<div>ya</div>');
expect(await page.$(`text="yA"`)).toBe(null);
});
});
describe('selectors.register', () => {