From ea8b7c17df9d8be73c3ee916d4d62f3b402b9fc2 Mon Sep 17 00:00:00 2001 From: Peter Jodogne Date: Mon, 21 Nov 2022 10:38:04 -0500 Subject: [PATCH] #661@patch: Take class selector escaping into account. --- .../happy-dom/src/query-selector/SelectorItem.ts | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/packages/happy-dom/src/query-selector/SelectorItem.ts b/packages/happy-dom/src/query-selector/SelectorItem.ts index 5c24fda9d..f2eaac557 100644 --- a/packages/happy-dom/src/query-selector/SelectorItem.ts +++ b/packages/happy-dom/src/query-selector/SelectorItem.ts @@ -1,11 +1,13 @@ import DOMException from '../exception/DOMException'; import IElement from '../nodes/element/IElement'; import Element from '../nodes/element/Element'; +import CSSEscape from 'css.escape'; const ATTRIBUTE_REGEXP = /\[([a-zA-Z0-9-_]+)\]|\[([a-zA-Z0-9-_]+)([~|^$*]{0,1})[ ]*=[ ]*["']{0,1}([^"']+)["']{0,1}\]/g; const ATTRIBUTE_NAME_REGEXP = /[^a-zA-Z0-9-_$]/; -const PSUEDO_REGEXP = /:([a-zA-Z-]+)\(([0-9n+-]+|odd|even)\)|:not\(([^)]+)\)|:([a-zA-Z-]+)/g; +const PSUEDO_REGEXP = + /(?