diff --git a/src/injected/textSelectorEngine.ts b/src/injected/textSelectorEngine.ts index 7ca13b05f2..6bfb1b2cf1 100644 --- a/src/injected/textSelectorEngine.ts +++ b/src/injected/textSelectorEngine.ts @@ -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; } diff --git a/test/queryselector.spec.js b/test/queryselector.spec.js index 27161b4f69..00ce686741 100644 --- a/test/queryselector.spec.js +++ b/test/queryselector.spec.js @@ -523,6 +523,11 @@ module.exports.describe = function({testRunner, expect, selectors, FFOX, CHROMIU await page.setContent(`
"yo
ya
`); expect(await selectors._createSelector('text', await page.$('div'))).toBe('" \\"yo "'); }); + it('should be case sensitive iff quotes are sepcified', async({page}) => { + await page.setContent(`
yo
ya
\nye
`); + expect(await page.$eval(`text=yA`, e => e.outerHTML)).toBe('
ya
'); + expect(await page.$(`text="yA"`)).toBe(null); + }); }); describe('selectors.register', () => {